Re: cpu-2.5.64-1

From: William Lee Irwin III (wli@holomorphy.com)
Date: Sun Mar 16 2003 - 03:36:09 EST


On Mon, 10 Mar 2003 20:24:57 -0800, William Lee Irwin III wrote:
>> Enable NUMA-Q's to run with more than 32 cpus by introducing a bitmap
>> ADT and using it for cpu bitmasks on i386. Only good for up to 60 cpus;
>> 64x requires support for node-local cluster ID to physical node routes.
>> diff -urpN linux-2.5.64/arch/i386/kernel/cpu/proc.c cpu-2.5.64-1/arch/i386/kernel/cpu/proc.c
>> - if (!(cpu_online_map & (1<<n)))
>> + if (!cpu_isset(n, cpu_online_map))

On Sun, Mar 16, 2003 at 06:39:30PM +1100, Keith Owens wrote:
> if (!cpu_online(n))
> Any main line code that explicitly refers to cpu_online_map is an
> ongoing maintenance problem. Nothing should refer to cpu_online_map
> except the encapsulating macros such as cpu_online().

That was a bit too braindead of a translation, yes. But it is x86 arch
code so it shouldn't be that large of an issue for big MIPS boxen etc.
I'll search & replace for stuff of this kind and wipe it out anyway.

This suggests a "cpumask strategy". Care to share more, like your take
on such things as
        p = req->task;
        cpu_dest = __ffs(p->cpus_allowed & cpu_online_map);
        rq_dest = cpu_rq(cpu_dest);
in kernel/sched.c?

-- wli
-
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/



This archive was generated by hypermail 2b29 : Sun Mar 23 2003 - 22:00:18 EST