All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Matt Mackall <mpm@selenic.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	linux-mm@kvack.org, cl@linux-foundation.org,
	LKML <linux-kernel@vger.kernel.org>,
	Nick Piggin <npiggin@suse.de>
Subject: Re: lockdep complaints in slab allocator
Date: Tue, 24 Nov 2009 11:50:07 -0800	[thread overview]
Message-ID: <20091124195007.GI6831@linux.vnet.ibm.com> (raw)
In-Reply-To: <1259090615.17871.696.camel@calx>

On Tue, Nov 24, 2009 at 01:23:35PM -0600, Matt Mackall wrote:
> On Tue, 2009-11-24 at 19:14 +0100, Peter Zijlstra wrote:
> > On Tue, 2009-11-24 at 11:12 -0600, Matt Mackall wrote:
> > > On Tue, 2009-11-24 at 09:00 -0800, Paul E. McKenney wrote:
> > > > On Tue, Nov 24, 2009 at 05:33:26PM +0100, Peter Zijlstra wrote:
> > > > > On Mon, 2009-11-23 at 21:13 +0200, Pekka Enberg wrote:
> > > > > > Matt Mackall wrote:
> > > > > > > This seems like a lot of work to paper over a lockdep false positive in
> > > > > > > code that should be firmly in the maintenance end of its lifecycle? I'd
> > > > > > > rather the fix or papering over happen in lockdep.
> > > > > > 
> > > > > > True that. Is __raw_spin_lock() out of question, Peter?-) Passing the 
> > > > > > state is pretty invasive because of the kmem_cache_free() call in 
> > > > > > slab_destroy(). We re-enter the slab allocator from the outer edges 
> > > > > > which makes spin_lock_nested() very inconvenient.
> > > > > 
> > > > > I'm perfectly fine with letting the thing be as it is, its apparently
> > > > > not something that triggers very often, and since slab will be killed
> > > > > off soon, who cares.
> > > > 
> > > > Which of the alternatives to slab should I be testing with, then?
> > > 
> > > I'm guessing your system is in the minority that has more than $10 worth
> > > of RAM, which means you should probably be evaluating SLUB.
> > 
> > Well, I was rather hoping that'd die too ;-)
> > 
> > Weren't we going to go with SLQB?
> 
> News to me. Perhaps it was discussed at KS.
> 
> My understanding of the current state of play is:
> 
> SLUB: default allocator

Not on all architectures, it appears.

> SLAB: deep maintenance, will be removed if SLUB ever covers remaining
> performance regressions

;-)

> SLOB: useful for low-end (but high-volume!) embedded 

And unfortunately also depends on CONFIG_EMBEDDED, making it difficult
for me to test on the available machines.  My usual workaround is to
patch Kconfig to remove the dependency.

> SLQB: sitting in slab.git#for-next for months, has some ground to cover

I will hold off testing this until it hits mainline, especially if it is
where KS decided to go.

> SLQB and SLUB have pretty similar target audiences, so I agree we should
> eventually have only one of them. But I strongly expect performance
> results to be mixed, just as they have been comparing SLUB/SLAB.
> Similarly, SLQB still has of room for tuning left compared to SLUB, as
> SLUB did compared to SLAB when it first emerged. It might be a while
> before a clear winner emerges.

Those how live by the heuristic, die by the heuristic!!!  ;-)

							Thanx, Paul

WARNING: multiple messages have this Message-ID (diff)
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Matt Mackall <mpm@selenic.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	linux-mm@kvack.org, cl@linux-foundation.org,
	LKML <linux-kernel@vger.kernel.org>,
	Nick Piggin <npiggin@suse.de>
Subject: Re: lockdep complaints in slab allocator
Date: Tue, 24 Nov 2009 11:50:07 -0800	[thread overview]
Message-ID: <20091124195007.GI6831@linux.vnet.ibm.com> (raw)
In-Reply-To: <1259090615.17871.696.camel@calx>

On Tue, Nov 24, 2009 at 01:23:35PM -0600, Matt Mackall wrote:
> On Tue, 2009-11-24 at 19:14 +0100, Peter Zijlstra wrote:
> > On Tue, 2009-11-24 at 11:12 -0600, Matt Mackall wrote:
> > > On Tue, 2009-11-24 at 09:00 -0800, Paul E. McKenney wrote:
> > > > On Tue, Nov 24, 2009 at 05:33:26PM +0100, Peter Zijlstra wrote:
> > > > > On Mon, 2009-11-23 at 21:13 +0200, Pekka Enberg wrote:
> > > > > > Matt Mackall wrote:
> > > > > > > This seems like a lot of work to paper over a lockdep false positive in
> > > > > > > code that should be firmly in the maintenance end of its lifecycle? I'd
> > > > > > > rather the fix or papering over happen in lockdep.
> > > > > > 
> > > > > > True that. Is __raw_spin_lock() out of question, Peter?-) Passing the 
> > > > > > state is pretty invasive because of the kmem_cache_free() call in 
> > > > > > slab_destroy(). We re-enter the slab allocator from the outer edges 
> > > > > > which makes spin_lock_nested() very inconvenient.
> > > > > 
> > > > > I'm perfectly fine with letting the thing be as it is, its apparently
> > > > > not something that triggers very often, and since slab will be killed
> > > > > off soon, who cares.
> > > > 
> > > > Which of the alternatives to slab should I be testing with, then?
> > > 
> > > I'm guessing your system is in the minority that has more than $10 worth
> > > of RAM, which means you should probably be evaluating SLUB.
> > 
> > Well, I was rather hoping that'd die too ;-)
> > 
> > Weren't we going to go with SLQB?
> 
> News to me. Perhaps it was discussed at KS.
> 
> My understanding of the current state of play is:
> 
> SLUB: default allocator

Not on all architectures, it appears.

> SLAB: deep maintenance, will be removed if SLUB ever covers remaining
> performance regressions

;-)

> SLOB: useful for low-end (but high-volume!) embedded 

And unfortunately also depends on CONFIG_EMBEDDED, making it difficult
for me to test on the available machines.  My usual workaround is to
patch Kconfig to remove the dependency.

> SLQB: sitting in slab.git#for-next for months, has some ground to cover

I will hold off testing this until it hits mainline, especially if it is
where KS decided to go.

> SLQB and SLUB have pretty similar target audiences, so I agree we should
> eventually have only one of them. But I strongly expect performance
> results to be mixed, just as they have been comparing SLUB/SLAB.
> Similarly, SLQB still has of room for tuning left compared to SLUB, as
> SLUB did compared to SLAB when it first emerged. It might be a while
> before a clear winner emerges.

Those how live by the heuristic, die by the heuristic!!!  ;-)

							Thanx, Paul

--
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:[~2009-11-24 19:50 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-18 18:12 lockdep complaints in slab allocator Paul E. McKenney
2009-11-20  6:49 ` Pekka Enberg
2009-11-20  6:49   ` Pekka Enberg
2009-11-20  9:25   ` Peter Zijlstra
2009-11-20  9:25     ` Peter Zijlstra
2009-11-20 10:38     ` Pekka Enberg
2009-11-20 10:38       ` Pekka Enberg
2009-11-20 10:52       ` Peter Zijlstra
2009-11-20 10:52         ` Peter Zijlstra
2009-11-20 11:05         ` Pekka Enberg
2009-11-20 11:05           ` Pekka Enberg
2009-11-20 14:48           ` Paul E. McKenney
2009-11-20 14:48             ` Paul E. McKenney
2009-11-20 15:17             ` Peter Zijlstra
2009-11-20 15:17               ` Peter Zijlstra
2009-11-20 16:25               ` Paul E. McKenney
2009-11-20 16:25                 ` Paul E. McKenney
2009-11-20 15:09           ` Peter Zijlstra
2009-11-20 15:09             ` Peter Zijlstra
2009-11-23 19:00             ` Pekka Enberg
2009-11-23 19:00               ` Pekka Enberg
2009-11-23 19:10               ` Matt Mackall
2009-11-23 19:10                 ` Matt Mackall
2009-11-23 19:13                 ` Pekka Enberg
2009-11-23 19:13                   ` Pekka Enberg
2009-11-24 16:33                   ` Peter Zijlstra
2009-11-24 16:33                     ` Peter Zijlstra
2009-11-24 17:00                     ` Paul E. McKenney
2009-11-24 17:00                       ` Paul E. McKenney
2009-11-24 17:12                       ` Matt Mackall
2009-11-24 17:12                         ` Matt Mackall
2009-11-24 17:58                         ` Paul E. McKenney
2009-11-24 17:58                           ` Paul E. McKenney
2009-11-24 18:14                         ` Peter Zijlstra
2009-11-24 18:14                           ` Peter Zijlstra
2009-11-24 18:25                           ` Paul E. McKenney
2009-11-24 18:25                             ` Paul E. McKenney
2009-11-24 18:31                             ` Peter Zijlstra
2009-11-24 18:31                               ` Peter Zijlstra
2009-11-24 18:53                               ` Christoph Lameter
2009-11-24 18:53                                 ` Christoph Lameter
2009-11-24 18:54                               ` Paul E. McKenney
2009-11-24 18:54                                 ` Paul E. McKenney
2009-11-24 19:23                           ` Matt Mackall
2009-11-24 19:23                             ` Matt Mackall
2009-11-24 19:50                             ` Paul E. McKenney [this message]
2009-11-24 19:50                               ` Paul E. McKenney
2009-11-24 20:46                             ` Peter Zijlstra
2009-11-24 20:46                               ` Peter Zijlstra
2009-11-24 20:53                               ` Matt Mackall
2009-11-24 20:53                                 ` Matt Mackall
2009-11-24 21:01                                 ` Peter Zijlstra
2009-11-24 21:01                                   ` Peter Zijlstra
2009-11-24 21:03                                   ` David Rientjes
2009-11-24 21:03                                     ` David Rientjes
2009-11-24 21:12                                     ` Peter Zijlstra
2009-11-24 21:12                                       ` Peter Zijlstra
2009-11-24 21:19                                       ` Pekka Enberg
2009-11-24 21:19                                         ` Pekka Enberg
2009-11-24 21:22                                       ` David Rientjes
2009-11-24 21:22                                         ` David Rientjes
2009-11-24 21:35                                         ` Peter Zijlstra
2009-11-24 21:35                                           ` Peter Zijlstra
2009-11-24 21:46                                           ` David Rientjes
2009-11-24 21:46                                             ` David Rientjes
2009-11-24 22:23                                             ` Paul E. McKenney
2009-11-24 22:23                                               ` Paul E. McKenney
2009-11-25  7:12                                               ` Pekka Enberg
2009-11-25  7:12                                                 ` Pekka Enberg
2009-11-25  7:25                                           ` Pekka Enberg
2009-11-25  7:25                                             ` Pekka Enberg
2009-11-27 17:22                                             ` Christoph Lameter
2009-11-27 17:22                                               ` Christoph Lameter
2009-11-24 21:48                                       ` Paul E. McKenney
2009-11-24 21:48                                         ` Paul E. McKenney
2009-11-24 21:16                                   ` Pekka Enberg
2009-11-24 21:16                                     ` Pekka Enberg
2009-11-24 21:07                             ` Pekka Enberg
2009-11-24 21:07                               ` Pekka Enberg
2009-11-24 22:55                               ` Matt Mackall
2009-11-24 22:55                                 ` Matt Mackall
2009-11-25 21:59                                 ` David Rientjes
2009-11-25 21:59                                   ` David Rientjes
2009-11-25 23:06                                   ` Matt Mackall
2009-11-25 23:06                                     ` Matt Mackall
2009-11-27 17:28                                   ` Christoph Lameter
2009-11-27 17:28                                     ` Christoph Lameter
2009-11-30 23:14                                     ` David Rientjes
2009-11-30 23:14                                       ` David Rientjes
2009-12-01  0:21                                       ` Matt Mackall
2009-12-01  0:21                                         ` Matt Mackall
2009-12-01 22:41                                         ` David Rientjes
2009-12-01 22:41                                           ` David Rientjes
2009-12-01 16:47                                       ` Christoph Lameter
2009-12-01 16:47                                         ` Christoph Lameter
2009-11-27 17:26                               ` Christoph Lameter
2009-11-27 17:26                                 ` Christoph Lameter
2009-11-23 19:30               ` Christoph Lameter
2009-11-23 19:30                 ` Christoph Lameter
2009-11-23 19:43                 ` Paul E. McKenney
2009-11-23 19:43                   ` Paul E. McKenney
2009-11-23 19:50                 ` Pekka Enberg
2009-11-23 19:50                   ` Pekka Enberg
2009-11-23 20:01                   ` Pekka Enberg
2009-11-23 20:01                     ` Pekka Enberg
2009-11-23 20:57                     ` Paul E. McKenney
2009-11-23 20:57                       ` Paul E. McKenney
2009-11-23 21:01                     ` Matt Mackall
2009-11-23 21:01                       ` Matt Mackall
2009-11-24 16:23               ` Paul E. McKenney
2009-11-24 16:23                 ` Paul E. McKenney
2009-11-24 20:59                 ` Pekka Enberg
2009-11-24 20:59                   ` Pekka Enberg
2009-11-24 21:26                   ` Peter Zijlstra
2009-11-24 21:26                     ` Peter Zijlstra
2009-11-25 10:42                     ` Pekka Enberg
2009-11-25 10:42                       ` Pekka Enberg
2009-11-24 21:47                   ` Paul E. McKenney
2009-11-24 21:47                     ` Paul E. McKenney
2009-11-30 16:18                     ` Paul E. McKenney
2009-11-30 16:18                       ` Paul E. McKenney

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=20091124195007.GI6831@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=cl@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mpm@selenic.com \
    --cc=npiggin@suse.de \
    --cc=penberg@cs.helsinki.fi \
    --cc=peterz@infradead.org \
    /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.