All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Oleg Nesterov <oleg@tv-sign.ru>,
	Andrew Morton <akpm@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Nick Piggin <npiggin@suse.de>
Subject: Re: [PATCH 0/2] convert mmap_sem to a scalable rw_mutex
Date: Fri, 11 May 2007 19:18:33 +0200	[thread overview]
Message-ID: <1178903913.2781.20.camel@lappy> (raw)
In-Reply-To: <46449F61.2060004@cosmosbay.com>

On Fri, 2007-05-11 at 18:52 +0200, Eric Dumazet wrote:
> Ingo Molnar a écrit :
> > * Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> > 
> >> I was toying with a scalable rw_mutex and found that it gives ~10% 
> >> reduction in system time on ebizzy runs (without the MADV_FREE patch).
> >>
> >> 2-way x86_64 pentium D box:
> >>
> >> 2.6.21
> >>
> >> /usr/bin/time ./ebizzy -m -P
> >> 59.49user 137.74system 1:49.22elapsed 180%CPU (0avgtext+0avgdata 0maxresident)k
> >> 0inputs+0outputs (0major+33555877minor)pagefaults 0swaps
> >>
> >> 2.6.21-rw_mutex
> >>
> >> /usr/bin/time ./ebizzy -m -P
> >> 57.85user 124.30system 1:42.99elapsed 176%CPU (0avgtext+0avgdata 0maxresident)k
> >> 0inputs+0outputs (0major+33555877minor)pagefaults 0swaps
> > 
> > nice! This 6% runtime reduction on a 2-way box will i suspect get 
> > exponentially better on systems with more CPUs/cores.
> 
> As long you only have readers, yes.
> 
> But I personally find this new rw_mutex not scalable at all if you have some 
> writers around.
> 
> percpu_counter_sum is just a L1 cache eater, and O(NR_CPUS)

Yeah, that is true; there are two occurences, the one in
rw_mutex_read_unlock() is not strictly needed for correctness.

Write locks are indeed quite expensive. But given the ratio of
reader:writer locks on mmap_sem (I'm not all that familiar with other
rwsem users) this trade-off seems workable.


WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Oleg Nesterov <oleg@tv-sign.ru>,
	Andrew Morton <akpm@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Nick Piggin <npiggin@suse.de>
Subject: Re: [PATCH 0/2] convert mmap_sem to a scalable rw_mutex
Date: Fri, 11 May 2007 19:18:33 +0200	[thread overview]
Message-ID: <1178903913.2781.20.camel@lappy> (raw)
In-Reply-To: <46449F61.2060004@cosmosbay.com>

On Fri, 2007-05-11 at 18:52 +0200, Eric Dumazet wrote:
> Ingo Molnar a A(C)crit :
> > * Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> > 
> >> I was toying with a scalable rw_mutex and found that it gives ~10% 
> >> reduction in system time on ebizzy runs (without the MADV_FREE patch).
> >>
> >> 2-way x86_64 pentium D box:
> >>
> >> 2.6.21
> >>
> >> /usr/bin/time ./ebizzy -m -P
> >> 59.49user 137.74system 1:49.22elapsed 180%CPU (0avgtext+0avgdata 0maxresident)k
> >> 0inputs+0outputs (0major+33555877minor)pagefaults 0swaps
> >>
> >> 2.6.21-rw_mutex
> >>
> >> /usr/bin/time ./ebizzy -m -P
> >> 57.85user 124.30system 1:42.99elapsed 176%CPU (0avgtext+0avgdata 0maxresident)k
> >> 0inputs+0outputs (0major+33555877minor)pagefaults 0swaps
> > 
> > nice! This 6% runtime reduction on a 2-way box will i suspect get 
> > exponentially better on systems with more CPUs/cores.
> 
> As long you only have readers, yes.
> 
> But I personally find this new rw_mutex not scalable at all if you have some 
> writers around.
> 
> percpu_counter_sum is just a L1 cache eater, and O(NR_CPUS)

Yeah, that is true; there are two occurences, the one in
rw_mutex_read_unlock() is not strictly needed for correctness.

Write locks are indeed quite expensive. But given the ratio of
reader:writer locks on mmap_sem (I'm not all that familiar with other
rwsem users) this trade-off seems workable.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2007-05-11 17:25 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-11 13:15 [PATCH 0/2] convert mmap_sem to a scalable rw_mutex Peter Zijlstra
2007-05-11 13:15 ` Peter Zijlstra
2007-05-11 13:15 ` [PATCH 1/2] " Peter Zijlstra
2007-05-11 13:15   ` Peter Zijlstra
2007-05-11 14:03   ` Christoph Hellwig
2007-05-11 14:03     ` Christoph Hellwig
2007-05-11 16:31   ` Andrew Morton
2007-05-11 16:31     ` Andrew Morton
2007-05-11 17:07     ` Christoph Lameter
2007-05-11 17:07       ` Christoph Lameter
2007-05-11 18:05       ` Andrew Morton
2007-05-11 18:05         ` Andrew Morton
2007-05-12 18:55         ` Andi Kleen
2007-05-12 18:55           ` Andi Kleen
2007-05-12 18:06           ` Andrew Morton
2007-05-12 18:06             ` Andrew Morton
2007-05-12 18:11             ` Andrew Morton
2007-05-12 18:11               ` Andrew Morton
2007-05-16 23:28             ` Andrew Morton
2007-05-16 23:28               ` Andrew Morton
2007-05-16 23:40               ` Christoph Lameter
2007-05-16 23:40                 ` Christoph Lameter
2007-05-17  0:24                 ` Andrew Morton
2007-05-17  0:24                   ` Andrew Morton
2007-05-12 18:12           ` Oleg Nesterov
2007-05-12 18:12             ` Oleg Nesterov
2007-05-12 19:21             ` Andi Kleen
2007-05-12 19:21               ` Andi Kleen
2007-05-12 21:42               ` Oleg Nesterov
2007-05-12 21:42                 ` Oleg Nesterov
2007-05-11 17:57     ` Peter Zijlstra
2007-05-11 17:57       ` Peter Zijlstra
2007-05-11 23:00   ` Oleg Nesterov
2007-05-11 23:00     ` Oleg Nesterov
2007-05-12  7:39     ` Peter Zijlstra
2007-05-12  7:39       ` Peter Zijlstra
2007-05-12 13:41     ` Peter Zijlstra
2007-05-12 13:41       ` Peter Zijlstra
2007-05-12 16:04       ` Oleg Nesterov
2007-05-12 16:04         ` Oleg Nesterov
2007-05-12 16:57         ` Peter Zijlstra
2007-05-12 16:57           ` Peter Zijlstra
2007-05-12 18:03           ` Oleg Nesterov
2007-05-12 18:03             ` Oleg Nesterov
2007-05-14 10:59             ` Peter Zijlstra
2007-05-14 10:59               ` Peter Zijlstra
2007-05-14 11:36               ` Nick Piggin
2007-05-14 11:36                 ` Nick Piggin
2007-05-15  0:36               ` Paul E. McKenney
2007-05-15  0:36                 ` Paul E. McKenney
2007-05-15  7:43                 ` Peter Zijlstra
2007-05-15  7:43                   ` Peter Zijlstra
2007-05-15 15:29                   ` Paul E. McKenney
2007-05-15 15:29                     ` Paul E. McKenney
2007-05-15 16:17                     ` Peter Zijlstra
2007-05-15 16:17                       ` Peter Zijlstra
2007-05-15 18:52                       ` Paul E. McKenney
2007-05-15 18:52                         ` Paul E. McKenney
2007-05-11 13:15 ` [PATCH 2/2] mm: change mmap_sem over to the " Peter Zijlstra
2007-05-11 13:15   ` Peter Zijlstra
2007-05-11 16:17   ` Andrew Morton
2007-05-11 16:17     ` Andrew Morton
2007-05-11 17:12     ` Peter Zijlstra
2007-05-11 17:12       ` Peter Zijlstra
2007-05-11 18:08       ` Andrew Morton
2007-05-11 18:08         ` Andrew Morton
2007-05-14 11:54         ` Nick Piggin
2007-05-14 11:54           ` Nick Piggin
2007-05-11 15:56 ` [PATCH 0/2] convert mmap_sem to a " Ingo Molnar
2007-05-11 15:56   ` Ingo Molnar
2007-05-11 16:52   ` Eric Dumazet
2007-05-11 16:52     ` Eric Dumazet
2007-05-11 17:18     ` Peter Zijlstra [this message]
2007-05-11 17:18       ` Peter Zijlstra
2007-05-14 12:07       ` Nick Piggin
2007-05-14 12:07         ` Nick Piggin
2007-05-14 12:57         ` Peter Zijlstra
2007-05-14 12:57           ` Peter Zijlstra
2007-05-11 17:08   ` Christoph Lameter
2007-05-11 17:08     ` Christoph Lameter
2007-05-14 11:58   ` Nick Piggin
2007-05-14 11:58     ` Nick Piggin
2007-05-14 12:38     ` Peter Zijlstra
2007-05-14 12:38       ` Peter Zijlstra
2007-05-12  9:27 ` Esben Nielsen
2007-05-12  9:27   ` Esben Nielsen
2007-05-12 10:01   ` Peter Zijlstra
2007-05-12 10:01     ` Peter Zijlstra
2007-05-12 13:44     ` Esben Nielsen
2007-05-12 13:44       ` Esben Nielsen
2007-05-12 14:33       ` Ingo Molnar
2007-05-12 14:33         ` Ingo Molnar
2007-05-12 15:34         ` Esben Nielsen
2007-05-12 15:34           ` Esben Nielsen
2007-05-12 15:42           ` Ingo Molnar
2007-05-12 15:42             ` Ingo Molnar
2007-05-12 15:26       ` Eric Dumazet
2007-05-12 15:26         ` Eric Dumazet
2007-05-14  8:50         ` Esben Nielsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1178903913.2781.20.camel@lappy \
    --to=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=dada1@cosmosbay.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@elte.hu \
    --cc=npiggin@suse.de \
    --cc=oleg@tv-sign.ru \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.