![]() | ||||||||||
Messages in this thread |
On Friday 20 December 2002 4:15 am, William Lee Irwin III wrote: > Actually, this looks like a non-issue from userspace on the IA64 boxen > I can get to. akpm pointed out that this seemed to pass his testing, > and on deeper inspection, IA64 userspace did not find this to be an issue. > > Bjorn, could you explain on what toolchains and/or architectures you had > this issue? It sounds serious and/or real enough yet I can't actually > make this happen myself. This was an issue with gcc 2.96 on a 64-way IA64 box. I don't have access to one at the moment, but as I remember, without the 2.4 changes: - ((p)->cpus_runnable & (p)->cpus_allowed & (1 << cpu)) + ((p)->cpus_runnable & (p)->cpus_allowed & (1UL << cpu)) nothing would get scheduled on CPUs 32-63. I guess those changes aren't controversial, though. The question of whether this was strictly necessary: - cpus_runnable: -1, \ - cpus_allowed: -1, \ + cpus_runnable: ~0UL, \ + cpus_allowed: ~0UL, \ I don't specifically recall, and a quick test suggests that it really doesn't matter. Since cpus_runnable and cpus_allowed are declared unsigned long, I think ~0UL is a more direct expression of what is desired, but maybe that's just a personal preference. Bjorn - 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/ | |||||||||
| Last update: 2005-03-22 11:31 [from the cache] ©2003-2008 | ||||||||||