lkml.org 
[lkml]   [2009]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Bugme-new] [Bug 13690] New: nodes_clear cause hugepage unusable on non-NUMA machine
Christoph Lameter wrote:
> On Thu, 2 Jul 2009, Yinghai Lu wrote:
>
>> Index: linux-2.6/arch/x86/mm/init_64.c
>> ===================================================================
>> --- linux-2.6.orig/arch/x86/mm/init_64.c
>> +++ linux-2.6/arch/x86/mm/init_64.c
>> @@ -598,8 +598,14 @@ void __init paging_init(void)
>>
>> sparse_memory_present_with_active_regions(MAX_NUMNODES);
>> sparse_init();
>> - /* clear the default setting with node 0 */
>> +#if MAX_NUMNODES > 1
>> + /*
>> + * clear the default setting with node 0
>> + * note: don't clear it, node_set_state will do nothing
>> + * (aka set it back) when numa support is not compiled in
>> + */
>> nodes_clear(node_states[N_NORMAL_MEMORY]);
>
> The problem was that nodes_clear() does not fall back to a noop on !NUMA.
> The node_set/clear_states() operations do become noops.
>
> Could we make it more consistent by using only operations of the same
> type? F.e. Add a node_clearall_states() in include/linux/nodemask.h that
> falls back to a noop on !NUMA like the node_*_states operation?
>
> Another options is to restore node_states[N_NORMAL_MEMORY] to its
> initial condition. See the definition of node_states in page_alloc.c.

could use node_clear_state(0, N_NORMAL_MEMORY) instead. because default one only have node 0 set in that mask.

YH


\
 
 \ /
  Last update: 2009-07-03 17:43    [W:0.103 / U:0.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site