lkml.org 
[lkml]   [2016]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] mm: slub: Ensure that slab_unlock() is atomic
    On Wed, Mar 09, 2016 at 11:13:49AM +0100, Peter Zijlstra wrote:
    > ---
    > Subject: bitops: Do not default to __clear_bit() for __clear_bit_unlock()
    >
    > __clear_bit_unlock() is a special little snowflake. While it carries the
    > non-atomic '__' prefix, it is specifically documented to pair with
    > test_and_set_bit() and therefore should be 'somewhat' atomic.
    >
    > Therefore the generic implementation of __clear_bit_unlock() cannot use
    > the fully non-atomic __clear_bit() as a default.
    >
    > If an arch is able to do better; is must provide an implementation of
    > __clear_bit_unlock() itself.
    >

    FWIW, we could probably undo this if we unified all the spinlock based
    atomic ops implementations (there's a whole bunch doing essentially the
    same), and special cased __clear_bit_unlock() for that.

    Collapsing them is probably a good idea anyway, just a fair bit of
    non-trivial work to figure out all the differences and if they matter
    etc..

    \
     
     \ /
      Last update: 2016-03-09 12:21    [W:5.757 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site