13 Mar, 2013

1 commit

  • Abhi noticed that we were getting a complaint from the RCU subsystem
    about access of an RCU protected list under the write side bit lock.
    This commit adds additional annotation to check both the RCU read
    lock and the write side bit lock before printing a message.

    Reported by: Abhijith Das
    Signed-off-by: Steven Whitehouse
    Tested-by: Abhijith Das
    Signed-off-by: Paul E. McKenney

    Steven Whitehouse
     

14 Jan, 2011

1 commit

  • Po-Yu Chuang noticed that hlist_bl_set_first could
    crash on a UP system when LIST_BL_LOCKMASK is 0, because

    LIST_BL_BUG_ON(!((unsigned long)h->first & LIST_BL_LOCKMASK));

    always evaulates to true.

    Fix the expression, and also avoid a dependency between bit spinlock
    implementation and list bl code (list code shouldn't know anything
    except that bit 0 is set when adding and removing elements). Eventually
    if a good use case comes up, we might use this list to store 1 or more
    arbitrary bits of data, so it really shouldn't be tied to locking either,
    but for now they are helpful for debugging.

    Signed-off-by: Nick Piggin

    Nick Piggin
     

07 Jan, 2011

1 commit

  • Introduce a type of hlist that can support the use of the lowest bit in the
    hlist_head. This will be subsequently used to implement per-bucket bit spinlock
    for inode and dentry hashes, and may be useful in other cases such as network
    hashes.

    Reviewed-by: Paul E. McKenney
    Signed-off-by: Nick Piggin

    Nick Piggin