Re: [PATCH] rwsem: reduce spinlock contention in wakeup code path

From: Peter Zijlstra
Date: Tue Oct 01 2013 - 04:10:12 EST


On Tue, Oct 01, 2013 at 09:28:15AM +0200, Ingo Molnar wrote:
> That I mostly agree with, except that without a serious usecase do we have
> a guarantee that bugs in fancies queueing in rwsems gets ironed out?

Methinks mmap_sem is still a big enough lock to work out a locking
primitive :-)

In fact, try something like this from userspace:

n-threads:

pthread_mutex_lock(&mutex);
foo = mmap();
pthread_mutex_lock(&mutex);

/* work */

pthread_mutex_unlock(&mutex);
munma(foo);
pthread_mutex_unlock(&mutex);

vs

n-threads:

foo = mmap();
/* work */
munmap(foo);


I've had reports that the former was significantly faster than the
latter.
--
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/