From mboxrd@z Thu Jan 1 00:00:00 1970 From: paulmck@linux.vnet.ibm.com (Paul E. McKenney) Date: Mon, 9 Feb 2009 09:40:30 -0800 Subject: [ltt-dev] [RFC git tree] Userspace RCU (urcu) for Linux (repost) In-Reply-To: <36ca99e90902090935u7fef1cb1g27303e546527e3d8@mail.gmail.com> References: <20090206045841.GA12995@Krystal> <20090206130640.GB10918@linux.vnet.ibm.com> <20090206163432.GF10918@linux.vnet.ibm.com> <20090208224419.GA19512@Krystal> <20090209041153.GR7120@linux.vnet.ibm.com> <20090209045352.GA28653@Krystal> <20090209131653.GS7120@linux.vnet.ibm.com> <36ca99e90902090919r297ad4c3re2248c321b36baf8@mail.gmail.com> <20090209173427.GC6802@linux.vnet.ibm.com> <36ca99e90902090935u7fef1cb1g27303e546527e3d8@mail.gmail.com> Message-ID: <20090209174030.GD6802@linux.vnet.ibm.com> On Mon, Feb 09, 2009 at 06:35:38PM +0100, Bert Wesarg wrote: > On Mon, Feb 9, 2009 at 18:34, Paul E. McKenney > 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 > >> 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. Thanx, Paul