[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <460309A5.6070404@cosmosbay.com>
Date: Thu, 22 Mar 2007 23:56:37 +0100
From: Eric Dumazet <dada1@...mosbay.com>
To: "Siddha, Suresh B" <suresh.b.siddha@...el.com>
CC: Christoph Lameter <christoph@...eter.com>,
Andi Kleen <andi@...stfloor.org>,
Andrew Morton <akpm@...ux-foundation.org>,
linux kernel <linux-kernel@...r.kernel.org>
Subject: Re: non-NUMA cache_free_alien() (was Re: [RFC] SLAB : NUMA cache_free_alien()
very expensive because of virt_to_slab(objp); nodeid = slabp->nodeid;)
Siddha, Suresh B a écrit :
> On Thu, Mar 22, 2007 at 11:12:39PM +0100, Eric Dumazet wrote:
>> Siddha, Suresh B a écrit :
>>> + if (num_online_nodes() == 1)
>>> + use_alien_caches = 0;
>>> +
>> Unfortunatly this part is wrong.
>
> oops.
>
>> You should check num_possible_nodes(), or nr_node_ids (this one is cheaper,
>> its a variable instead of a function call)
>
> But that is based on compile time option, isn't it? Perhaps I need
> to use some other mechanism to find out the platform is not NUMA capable..
nr_node_ids is defined to 1 if you compile a non NUMA kernel.
If CONFIG_NUMA is on, then nr_node_ids is a variable, that is filled with the
maximum nodeid of possible node (+1). If your machine is not CPU hot plug
capable, and you have say one node, (one dual core processor for example),
then nr_node_ids will be set to 1
(see mm/page_alloc.c function setup_nr_node_ids() )
So this is OK for your need...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists