Messages in this thread | | | Date | Mon, 14 Jul 2008 21:12:38 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: current linux-2.6.git: cpusets completely broken |
| |
On Mon, 14 Jul 2008, Max Krasnyansky wrote: > > Did you guys an updated patch ? Dmitry pointed out several things that Linus > missed in his original version. I guess I can go through the thread and > reconstruct that but if you have a patch I can try let me know.
I didn't update it, and right now I'm just merging too much (and discussing the merges) to have time.
The patch really needs to have some scheduler person look at the use fo cpu_active_map - I was kind of hoping that Ingo would.
The other thing I wish somebody would at least double-check (and preferably just remove) is the !CPU_HOTPLUG special case. For that case, I literally did
#define cpu_active_map cpu_online_map
and just depended on the fact that the few cases that touched cpu_online_map even when CPU_HOTPLUG was disabled would do
if (cpu_online(cpu)) set_cpu(cpu, cpu_active_map);
(or something - I ended up discaring the patch as I was doing the whole 2.6.26 release, so I don't even have it in front of me right now, just in my email archives and in my memory).
And quite frankly, I don't think that was a good idea. It was exactly the sort of "subtle cleverness" that I myself argue against. So I think that aliasing of cpu_active/online_map was a mistake - it was kind of cute, but there's really no good reason to do it. It's not like that one CPU map wastes any memory, and the special-case simply isn't worth it.
Linus
| |