Re: Threading...

From: Arjan van de Ven
Date: Fri Jan 19 2007 - 13:56:26 EST


On Fri, 2007-01-19 at 10:43 -0800, Brian McGrew wrote:
> I have a very interesting question about something that we're seeing
> happening with threading between Fedora Core 3 and Fedora Core 5. Running
> on Dell PowerEdge 1800 Hardware with a Xeon processor with hyper-threading
> turned on. Both systems are using a 2.6.16.16 kernel (MVP al la special).
>
> We have a multithreaded application that starts two worker threads. On
> Fedora Core 3 both of these we use getpid() to get the PID of the thread and
> then use set_afinity to assign each thread to it's own CPU. Both threads
> run almost symmetrically even on their given CPU watching the system
> monitor.

this is odd; even in FC3 getpid() is supposed to return the process ID
not the thread ID

> What am I missing? What do I need to do in FC5 or the kernel or the
> threading library to get my threads to run in symmetric parallel again???

you should fix the app to use something like pthread_self() instead...
(or the highly unportable gettid() but that would just be horrible)

--
if you want to mail me at work (you don't), use arjan (at) linux.intel.com
Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/