• Nick Piggin's avatar
    [PATCH] sched: RCU domains · 674311d5
    Nick Piggin authored
    One of the problems with the multilevel balance-on-fork/exec is that it needs
    to jump through hoops to satisfy sched-domain's locking semantics (that is,
    you may traverse your own domain when not preemptable, and you may traverse
    others' domains when holding their runqueue lock).
    
    balance-on-exec had to potentially migrate between more than one CPU before
    finding a final CPU to migrate to, and balance-on-fork needed to potentially
    take multiple runqueue locks.
    
    So bite the bullet and make sched-domains go completely RCU.  This actually
    simplifies the code quite a bit.
    
    From: Ingo Molnar <mingo@elte.hu>
    
    schedstats RCU fix, and a nice comment on for_each_domain, from Ingo.
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarNick Piggin <nickpiggin@yahoo.com.au>
    Acked-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    674311d5
sched.c 129 KB