Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [dsdp-tcf-dev] Applicability of TCF agent for remote tracing

Michel Dagenais wrote:
> -----Original Message-----
> Sent: Monday, May 11, 2009 8:10 AM
...
> > Because of these drawbacks we implemented a general service to
> > efficiently stream binary data over the TCF channel, see
> > streamservice.[ch] in the TCF prototype (unfortunately we don't have
> any
> > documentation for this service this yet).  Basically what this
> service
> > does is to creation of arbitrary number of byte streams over a TCF
> > channel.  The commands a designed to minimize round trips and allow
> > multiple concurrent read and write commands can be issued
> asynchronously
> > so there are no delays between commands.
> 
> If I understand correctly, this service takes care of the multiple
> asynchronous streams functionality. This is separate from zero copy
> binary block writes/reads but similarly useful for high performance
> tasks.

Correct, it is separate from zero copy.  It provides a general purpose
way of streaming data over TCF.  As Eugene pointed out it would be
fairly easy to do a general enhancement to the TCF channel stream to
allow zero copy of the data.

> Is the agent threaded in some way? Will we need to use the
> streamservice
> for tracing even just to insure not to block the other services (e.g.
> RSE)?

For the most part, the agent is single threaded.  However we try to void
blocking as much as possible by using asynchronous requests, see
asyncreq.[ch].

Best Regards,
Felix



Back to the top