Messages in this thread | | | Subject | Re: clone() <-> getpid() bug in 2.6? | From | Robert Love <> | Date | Sat, 05 Jun 2004 17:48:02 -0400 |
| |
On Sat, 2004-06-05 at 14:13 -0700, Linus Torvalds wrote:
> Uli, if Arjan is right, then please fix this. It's a buggy and pointless > optimization. Anybody who optimizes purely for benchmarks should be > ashamed of themselves.
Eh, it definitely does, in nptl/sysdeps/unix/sysv/linux/getpid.c:
pid_t result = THREAD_GETMEM (THREAD_SELF, pid); if (__builtin_expect (result <= 0, 0)) result = really_getpid (result);
A few places, including the fork code, fix it:
/* Adjust the PID field for the new process. */ THREAD_SETMEM (self, pid, THREAD_GETMEM (self, tid));
But not direct calls to clone(2).
Robert Love
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |