relay channel question

Dave Nomura dcnltc@us.ibm.com
Thu Aug 30 10:09:00 GMT 2007


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




More information about the Systemtap mailing list