All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <randy.dunlap@oracle.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org
Subject: Re: 2.6.22-rc2-mm1: SLUB
Date: Tue, 29 May 2007 11:13:31 -0700	[thread overview]
Message-ID: <465C6D4B.90403@oracle.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0705291012120.23611@schroedinger.engr.sgi.com>

Christoph Lameter wrote:
> On Mon, 28 May 2007, Randy Dunlap wrote:
> 
>> Has then already been posted and I missed it.. and it's fixed?  :)
>> /me hopes
> 
> Maybe this patch wil help?

Nope, still no booty.

> SLUB: Fix NUMA / SYSFS bootstrap issue
> 
> The kmem_cache_node cache is very special because it is needed for
> NUMA bootstrap. Under certain conditions (like for example if lockdep is
> enabled and significantly increases the size of spinlock_t) the structure
> may become exactly the size as one of the larger caches in the kmalloc array.
> 
> That early during bootstrap we cannot perform merging properly. The unique
> id for the kmem_cache_node cache will match one of the kmalloc array. Sysfs
> will complain about a duplicate directory entry. All of this occurs while
> the console is not yet fully operational. Thus boot may appear to be
> silently failing.
> 
> The kmem_cache_node cache is very special. During early boostrap the main
> allocation function is not operational yet and so we have to run our
> own small special alloc function during early boot. It is also special in
> that it is never freed.
> 
> We really do not want any merging on that cache. Set the refcount -1 and
> forbid merging of slabs that have a negative refcount.
> 
> Signed-off-by: Christoph Lameter <clameter@sgi.com>
> 
> ---
>  mm/slub.c |    7 +++++++
>  1 file changed, 7 insertions(+)
> 
> Index: slub/mm/slub.c
> ===================================================================
> --- slub.orig/mm/slub.c	2007-05-25 18:28:42.000000000 -0700
> +++ slub/mm/slub.c	2007-05-25 18:29:46.000000000 -0700
> @@ -2473,6 +2473,7 @@ void __init kmem_cache_init(void)
>  	 */
>  	create_kmalloc_cache(&kmalloc_caches[0], "kmem_cache_node",
>  		sizeof(struct kmem_cache_node), GFP_KERNEL);
> +	kmalloc_caches[0].refcount = -1;
>  #endif
>  
>  	/* Able to allocate the per node structures */
> @@ -2520,6 +2521,12 @@ static int slab_unmergeable(struct kmem_
>  	if (s->ctor)
>  		return 1;
>  
> +	/*
> +	 * We may have set a slab to be unmergeable during bootstrap.
> +	 */
> +	if (s->refcount < 0)
> +		return 1;
> +
>  	return 0;
>  }
>  


-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

  reply	other threads:[~2007-05-29 18:07 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-23  7:42 2.6.22-rc2-mm1 Andrew Morton
2007-05-23  7:48 ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23  9:22   ` 2.6.22-rc2-mm1 Rafael J. Wysocki
2007-05-23 14:47     ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23 15:54       ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 16:09         ` 2.6.22-rc2-mm1 Oleg Nesterov
2007-05-23 17:00         ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23 16:21           ` 2.6.22-rc2-mm1 Oleg Nesterov
2007-05-23 18:41             ` 2.6.22-rc2-mm1 Alan Stern
2007-05-23  9:47 ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 17:18   ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 21:05     ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 22:01       ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 22:18         ` 2.6.22-rc2-mm1 Michal Piotrowski
2007-05-23 22:27         ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 22:37           ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 23:36             ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24  1:21               ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24  2:43                 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24  3:00                 ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24  3:26                   ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24  7:31                   ` 2.6.22-rc2-mm1 Ingo Molnar
2007-05-24 16:40                     ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 21:20                     ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 21:29                       ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-24 21:55                         ` 2.6.22-rc2-mm1 Randy Dunlap
2007-05-24 22:35                           ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-24 22:53                             ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-30 21:34                             ` [PATCH 1/3] hexdump: more output formatting Randy Dunlap
2007-05-30 21:42                               ` Christoph Lameter
2007-05-30 21:45                                 ` Randy Dunlap
2007-05-31  1:45                                 ` [PATCH 1/3 v2] " Randy Dunlap
2007-05-30 21:56                               ` [PATCH 1/3] " Satyam Sharma
2007-05-30 22:03                                 ` Randy Dunlap
2007-05-30 22:11                                   ` Satyam Sharma
2007-05-30 22:18                                     ` Christoph Lameter
2007-05-30 22:41                                       ` Satyam Sharma
2007-05-30 22:44                                         ` Randy Dunlap
2007-05-30 22:48                                           ` Satyam Sharma
2007-05-30 22:59                                             ` Randy Dunlap
2007-05-30 22:25                                     ` Randy Dunlap
2007-05-30 22:36                               ` Jesper Juhl
2007-05-30 23:04                                 ` Randy Dunlap
2007-05-30 23:07                                   ` Jesper Juhl
2007-05-30 21:34                             ` [PATCH 2/3 -mm] slub: use lib/hexdump Randy Dunlap
2007-05-30 21:45                               ` Christoph Lameter
2007-05-30 21:48                                 ` Randy Dunlap
2007-05-30 21:51                                   ` Christoph Lameter
2007-05-30 21:54                                     ` Randy Dunlap
2007-05-30 22:03                                       ` Christoph Lameter
2007-05-30 22:06                                         ` Randy Dunlap
2007-05-31  1:39                                           ` Randy Dunlap
2007-05-23 22:24       ` 2.6.22-rc2-mm1 Christoph Lameter
2007-05-23 12:01 ` 2.6.22-rc2-mm1 Gabriel C
2007-05-23 16:01   ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 15:02 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 15:28 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 16:08 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 16:29 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 17:27 ` 2.6.22-rc2-mm1 William Lee Irwin III
2007-05-23 23:17 ` 2.6.22-rc2-mm1 Zan Lynx
2007-05-23 23:27   ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-23 23:40   ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-24  3:28     ` 2.6.22-rc2-mm1 Dmitry Torokhov
2007-05-24  7:28       ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-30 14:08       ` [PATCH] Input: i8042 - cleanup of debug code (was Re: 2.6.22-rc2-mm1) Jiri Kosina
2007-05-30 14:27         ` Dmitry Torokhov
2007-05-30 14:30           ` Jiri Kosina
     [not found]     ` <1180058760.7001.6.camel@oberon.rnd.esoft.com>
2007-05-25  7:23       ` 2.6.22-rc2-mm1 Jiri Kosina
2007-05-23 23:50   ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-24 10:36 ` rmmod e1000 hangs (Was Re: 2.6.22-rc2-mm1) Jeremy Fitzhardinge
2007-05-24 10:47   ` Herbert Xu
2007-05-24 10:54     ` Herbert Xu
2007-05-24 14:44       ` Kok, Auke
2007-05-25 12:54         ` Herbert Xu
2007-05-25 13:04           ` Herbert Xu
2007-05-25 13:32             ` Herbert Xu
2007-05-25 22:12               ` Kok, Auke
2007-05-25 23:48                 ` Jeff Garzik
2007-05-26  0:10                   ` Herbert Xu
2007-05-25 21:20 ` idle=poll burns my box [was Re: 2.6.22-rc2-mm1] J.A. Magallón
2007-05-25 21:52   ` Andrew Morton
2007-05-26 15:59 ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-26 16:01   ` 2.6.22-rc2-mm1 Andrew Morton
2007-05-27 22:16     ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-27 22:41       ` 2.6.22-rc2-mm1 Kay Sievers
2007-05-28 17:22         ` 2.6.22-rc2-mm1 Cornelia Huck
2007-05-29  7:56           ` 2.6.22-rc2-mm1 Kay Sievers
2007-05-29  7:25         ` 2.6.22-rc2-mm1 Cornelia Huck
2007-05-29 14:43           ` 2.6.22-rc2-mm1 Matt Mackall
2007-05-29 16:55           ` 2.6.22-rc2-mm1 Tilman Schmidt
2007-05-29 17:25             ` 2.6.22-rc2-mm1 Cornelia Huck
2007-06-01 12:38               ` 2.6.22-rc2-mm1 Greg KH
2007-07-03  8:50                 ` 2.6.22-rc2-mm1 Cornelia Huck
2007-07-12  6:00                   ` 2.6.22-rc2-mm1 Greg KH
2007-05-28 10:27 ` 2.6.22-rc2-mm1 - a different BUG: at mm/slab.c:777 __find_general_cachep() Valdis.Kletnieks
2007-05-28 10:43   ` Pekka Enberg
2007-05-28 11:12     ` Valdis.Kletnieks
2007-05-29  4:22 ` 2.6.22-rc2-mm1: SLUB Randy Dunlap
2007-05-29 17:13   ` Christoph Lameter
2007-05-29 18:13     ` Randy Dunlap [this message]
2007-05-29 18:30       ` Christoph Lameter
2007-05-29 18:32       ` Christoph Lameter
2007-05-29 18:59         ` Randy Dunlap

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=465C6D4B.90403@oracle.com \
    --to=randy.dunlap@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.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.