• Davidlohr Bueso's avatar
    md/raid5: play nice with PREEMPT_RT · 770b1d21
    Davidlohr Bueso authored
    raid_run_ops() relies on the implicitly disabled preemption for
    its percpu ops, although this is really about CPU locality. This
    breaks RT semantics as it can take regular (and thus sleeping)
    spinlocks, such as stripe_lock.
    
    Add a local_lock such that non-RT does not change and continues
    to be just map to preempt_disable/enable, but makes RT happy as
    the region will use a per-CPU spinlock and thus be preemptible
    and still guarantee CPU locality.
    Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
    Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
    770b1d21
raid5.h 29.1 KB