Messages in this thread |  | | | From | KOSAKI Motohiro <> | | Subject | Re: [PATCH] Poll : introduce poll_wait_exclusive() new function | | Date | Wed, 26 Nov 2008 10:09:29 +0900 (JST) |
| |
> > Mathieu Desnoyers explained it cause following problem to LTTng. > > > > In LTTng, all lttd readers are polling all the available debugfs files > > for data. This is principally because the number of reader threads is > > user-defined and there are typical workloads where a single CPU is > > producing most of the tracing data and all other CPUs are idle, > > available to consume data. It therefore makes sense not to tie those > > threads to specific buffers. However, when the number of threads grows, > > we face a "thundering herd" problem where many threads can be woken up > > and put back to sleep, leaving only a single thread doing useful work. > > Why do you need to have so many threads banging a single device/file? > Have one (or any other very little number) puller thread(s), that > activates with chucks of pulled data the other processing threads. That > way there's no need for a new wakeup abstraction.
Mathieu, I don't hope I unstrictly explain to LTTng. Could you please explain LTTng design?
|  |