Re: mm: ptl is not bloated if it fits in pointer

Peter Zijlstra
2013-12-16T10:05:04Z

On Mon, Dec 16, 2013 at 01:04:13AM -0800, Hugh Dickins wrote:
> It's silly to force the 64-bit CONFIG_GENERIC_LOCKBREAK architectures
> to kmalloc eight bytes for an indirect page table lock: the lock needs
> to fit in the space that a pointer to it would occupy, not into an int.

Ah, no. A spinlock is very much assumed to be 32bit, any spinlock that's
bigger than that is bloated.

For the page-frame case we do indeed not care about the strict 32bit but
more about not being larger than a pointer, however there are already
other users.

See for instance include/linux/lockref.h and lib/lockref.c, they very
much require the spinlock to be 32bit and the below would break that.