[lkml]   [2008]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: current linux-2.6.git: cpusets completely broken

Linus Torvalds wrote:
> On Sat, 12 Jul 2008, Linus Torvalds wrote:
>> This patch almost certainly doesn't work, but let me explain:
> Well, I decided to just take the plunge and test it. It WorksForMe(tm), so
> it's no _totally_ broken. But I really didn't test it except to see that
> it still booted, and I don't use cpusets and never saw the original bug,
> of course.
> But considering how simple it is, if it works for people as a way to work
> around stupid CPU migration issues due to subtle wakeup calls, I'd almost
> prefer to really solve this whole issue with that cpu_active_map thing.
> It's so simple it should be really _robust_ in the presense of problems
> elsewhere (like the whole cpusets scheduling domain mess).
> Assuming I didn't do anythign stupid, of course, which is why it would
> definitely need much more testing. And especially if Vegard can test it
> with the case that oopsed for him due to the bad migration..

My vote goes for Dmitry's patch. The one with the full switch() statement.
Your simplified version with if() is correct (I think) but the switch() is
more explicit about what events are being processed.

The cpu_active_map thing seems like an overkill. In a sense that we should not
try to add a new map for every such case. Granter this migration case may be
special enough to warrant the new map but in general I think it's not the
right way to go.

btw Dmitry's patch should go in anyway. It makes no sense to kill and then
immediately rebuild domains during hotplug sequence. Actually I might have a
bit better patch. I'm thinking we should just call rebuild_sched_domains() (or
some wrapper) from the sched hotplug handler. That way it'll be clear when
domains are supposed to be created/destroyed. ie We won't have to coordinate
cpu hotplug handling events between scheduler and cpusets. I'll send a patch a
bit later.


 \ /
  Last update: 2008-07-13 00:45    [W:0.066 / U:1.796 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site