Using poll(2) on trace files

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Using poll(2) on trace files

Aryeh Weinreb-2
Hi,

I would like to process the systemtap trace files in userspace without
writing to disk.
I built the kernel module with stap -p4 then loaded it with staprun -L.
I would like to use poll(2) on the trace0 file to wait for data but I am
not getting POLLIN set even though there is data I can read from the file.
What am I missing?

Thanks,
Aryeh
Reply | Threaded
Open this post in threaded view
|

Re: Using poll(2) on trace files

Aryeh Weinreb-2
Answering my own question, please correct me if I'm wrong.
With relayfs, poll is only notified when sub-buffer bounders are crossed.
So if I want to stream data from the buffer, I need either wait for the
first sub-buffer to fill or call read periodically non-blocking.


On Tue, May 15, 2018 at 2:27 PM, Aryeh Weinreb <[hidden email]>
wrote:

> Hi,
>
> I would like to process the systemtap trace files in userspace without
> writing to disk.
> I built the kernel module with stap -p4 then loaded it with staprun -L.
> I would like to use poll(2) on the trace0 file to wait for data but I am
> not getting POLLIN set even though there is data I can read from the file.
> What am I missing?
>
> Thanks,
> Aryeh
>