Re: [PATCH 1/1] mlock: split the shmlock_user_lock spinlock intoper user_struct spinlock

From: Rik van Riel
Date: Thu May 03 2012 - 16:27:03 EST


On 05/03/2012 03:31 PM, Peter Zijlstra wrote:
On Thu, 2012-05-03 at 23:04 +0530, rajman mekaco wrote:
The user_shm_lock and user_shm_unlock functions use a single global
spinlock for protecting the user->locked_shm.

Are you very sure its only protecting user state? This changelog doesn't
convince me you've gone through everything and found it good.

This is an overhead for multiple CPUs calling this code even if they
are having different user_struct.

Remove the global shmlock_user_lock and introduce and use a new
spinlock inside of the user_struct structure.

While I don't immediately see anything wrong with it, I doubt its
useful. What workload run with enough users that this makes a difference
one way or another?

When running with containers and/or LXC, I believe that
each UID in each container gets its own user_struct, but
you do raise a good question - what user programs call
mlock anyway, and how often?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/