This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: relay channel question


Martin Hunt wrote:
On Wed, 2007-08-29 at 07:56 -0700, Dave Nomura wrote:
How does systemtap separate the relay channel output on a per-cpu basis? Does it just use the currently active CPU that is making the write request and put its output in the relay buffer for that CPU?
Yes, in bulk mode. In stream mode there is only one channel.

Is there any way to write to a CPU specific relay buffer?
In bulk mode, no.  That would require locking and slow down relayfs a
bit. This is what stream mode does.

So, would it be infeasible to have an interface that would allow you to do a locking write to a particular relay channel even while in bulk mode, or is this something that is determined when the channel is set up? i.e. if you did this then EVERY write would have to be locking write?
I think I will need this to write header information for each CPU but there would only be one active CPU that is doing all of these writes.
So just use normal (stream) mode and print the cpu and maybe timestamp.
So you are suggesting that I insert the CPU number at the beginning of every record and then write a program to split it apart by CPU?

The data that I am writing is binary, so a program to separate out by CPU would have to understand the structure of the binary data. I guess I could write the binary as ascii hex characters.
Martin




--
Dave Nomura
LTC Linux Power Toolchain



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]