[ltt-dev] [RFC git tree] Userspace RCU (urcu) for Linux (repost)

Mathieu Desnoyers compudj at krystal.dyndns.org
Mon Feb 9 12:42:02 EST 2009


* Paul E. McKenney (paulmck at linux.vnet.ibm.com) wrote:
> On Mon, Feb 09, 2009 at 06:35:38PM +0100, Bert Wesarg wrote:
> > On Mon, Feb 9, 2009 at 18:34, Paul E. McKenney
> > <paulmck at linux.vnet.ibm.com> wrote:
> > > On Mon, Feb 09, 2009 at 06:19:45PM +0100, Bert Wesarg wrote:
> > >> On Mon, Feb 9, 2009 at 14:16, Paul E. McKenney
> > >> <paulmck at linux.vnet.ibm.com> wrote:
> > >> > On Sun, Feb 08, 2009 at 11:53:52PM -0500, Mathieu Desnoyers wrote:
> > >> >> Yes, I guess the signal is not so bad.
> > >> >
> > >> > Now if there were a /proc entry that listed out the tids of the
> > >> > currently running threads, then it might be possible to do something,
> > >> > especially for applications with many more threads than CPUs.
> > >>
> > >> Do you mean something like: `ls /proc/$pid/tasks/*`? Or is this not
> > >> atomic enough?
> > >
> > > Won't that give me all the threads rather than only the ones currently
> > > running?
> >
> > What do you mean by 'running'?
> 
> Sitting on a CPU and executing, as opposed to blocked or preempted.
> 
> It is pretty easy to scan the running tasks within the kernel, but I
> don't know of an efficient way to do it from user mode.  The only way
> I know of would be to cat out the /proc/$pid/tasks/*/status (IIRC)
> and look for the task state.
> 

The thing I dislike about this approach is the non-portability. Ideally,
if we want to integrate urcu to pthreads, we should also aim at
BSD-based OSes.

Mathieu

> 							Thanx, Paul
> 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68




More information about the lttng-dev mailing list