Re: [RFC][PATCH] syctl for selecting global zonelist[] order

From: Christoph Lameter
Date: Wed Apr 25 2007 - 15:17:33 EST


On Wed, 25 Apr 2007, KAMEZAWA Hiroyuki wrote:

> Make zonelist policy selectable from sysctl.
>
> Assume 2 node NUMA, only node(0) has ZONE_DMA (ZONE_DMA32).
>
> In this case, default (node0's) zonelist order is
>
> Node(0)'s NORMAL -> Node(0)'s DMA -> Node(1)"s NORMAL.
>
> This means Node(0)'s DMA is used before Node(1)'s NORMAL.

So a IA64 platform with i386 sicknesses? And pretty bad case of it since I
assume that the memory sizes per node are equal. Your solution of taking
4G off node 0 and then going to node 1 first must hurt some
processes running on node 0. But there is no easy solution since
the hardware is badly screwed up with 32 bit I/O. Whatever you do the
memory balance between the two nodes is making the system behave in
an unsymmetric way.

> In some server, some application uses large memory allcation.
> This exhaust memory in the above order.

Could we add a boot time option instead that changes the zonelist build
behavior? Maybe an arch hook that can deal with it?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/