• J
    locking/rwsem: Reduce the size of struct rw_semaphore · ce069fc9
    Jason Low 提交于
    Recent optimistic spinning additions to rwsem provide significant performance
    benefits on many workloads on large machines. The cost of it was increasing
    the size of the rwsem structure by up to 128 bits.
    
    However, now that the previous patches in this series bring the overhead of
    struct optimistic_spin_queue to 32 bits, this patch reorders some fields in
    struct rw_semaphore such that we can reduce the overhead of the rwsem structure
    by 64 bits (on 64 bit systems).
    
    The extra overhead required for rwsem optimistic spinning would now be up
    to 8 additional bytes instead of up to 16 bytes. Additionally, the size of
    rwsem would now be more in line with mutexes.
    Signed-off-by: NJason Low <jason.low2@hp.com>
    Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
    Cc: Scott Norton <scott.norton@hp.com>
    Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    Cc: Dave Chinner <david@fromorbit.com>
    Cc: Waiman Long <waiman.long@hp.com>
    Cc: Davidlohr Bueso <davidlohr@hp.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Tim Chen <tim.c.chen@linux.intel.com>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Aswin Chandramouleeswaran <aswin@hp.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Chris Mason <clm@fb.com>
    Cc: Josef Bacik <jbacik@fusionio.com>
    Link: http://lkml.kernel.org/r/1405358872-3732-6-git-send-email-jason.low2@hp.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
    ce069fc9
rwsem.h 5.1 KB