• Peter Zijlstra's avatar
    sched/rt: Add missing rmb() · d171cbfc
    Peter Zijlstra authored
    commit 7c3f2ab7 upstream.
    
    While discussing the proposed SCHED_DEADLINE patches which in parts
    mimic the existing FIFO code it was noticed that the wmb in
    rt_set_overloaded() didn't have a matching barrier.
    
    The only site using rt_overloaded() to test the rto_count is
    pull_rt_task() and we should issue a matching rmb before then assuming
    there's an rto_mask bit set.
    
    Without that smp_rmb() in there we could actually miss seeing the
    rto_mask bit.
    
    Also, change to using smp_[wr]mb(), even though this is SMP only code;
    memory barriers without smp_ always make me think they're against
    hardware of some sort.
    Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Cc: vincent.guittot@linaro.org
    Cc: luca.abeni@unitn.it
    Cc: bruce.ashfield@windriver.com
    Cc: dhaval.giani@gmail.com
    Cc: rostedt@goodmis.org
    Cc: hgu1972@gmail.com
    Cc: oleg@redhat.com
    Cc: fweisbec@gmail.com
    Cc: darren@dvhart.com
    Cc: johan.eker@ericsson.com
    Cc: p.faure@akatech.ch
    Cc: paulmck@linux.vnet.ibm.com
    Cc: raistlin@linux.it
    Cc: claudio@evidence.eu.com
    Cc: insop.song@gmail.com
    Cc: michael@amarulasolutions.com
    Cc: liming.wang@windriver.com
    Cc: fchecconi@gmail.com
    Cc: jkacur@redhat.com
    Cc: tommaso.cucinotta@sssup.it
    Cc: Juri Lelli <juri.lelli@gmail.com>
    Cc: harald.gustafsson@ericsson.com
    Cc: nicola.manica@disi.unitn.it
    Cc: tglx@linutronix.de
    Link: http://lkml.kernel.org/r/20131015103507.GF10651@twins.programming.kicks-ass.netSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    d171cbfc
rt.c 45.7 KB