Messages in this thread | | | Date | Mon, 7 Jul 2014 21:06:37 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 0/4] MCS spinlocks: Cancellable MCS spinlock rework |
| |
On Mon, Jul 07, 2014 at 11:50:15AM -0700, Jason Low wrote: > The main purpose of this patchset is to reduce the size of the > cancellable MCS spinlock and reduce the overhead of rwsem > (currently the largest lock in the kernel). > > The overhead of the cancellable MCS lock is a pointer to a per-cpu node > structure which requires 64 bits on 64 bit systems. Instead of a pointer > to the per-cpu node, we can instead store the CPU # corresponding to the > node in atomic_t. This reduces the overhead by 32 bits on 64 bit systems. > > This then opens the opportunity to reduce the size of the rw_semaphore > structure (one of the current users of this MCS lock) by moving around some > of its fields. Due to padding, we would reduce the size of that structure > by 64 bits (on 64 bit systems). This makes it more in line with the size > of the mutex structure.
Dave Chinner was very interested in this.. [unhandled content-type:application/pgp-signature] | |