On Fri, Jan 23, 2015 at 08:59:51AM -0800, Guenter Roeck wrote:
On 01/23/2015 08:02 AM, Johannes Weiner wrote:
On Fri, Jan 23, 2015 at 09:17:44AM -0600, Christoph Lameter wrote:Problem is that there are three patches.
On Fri, 23 Jan 2015, Johannes Weiner wrote:
Is the assumption of this patch wrong? Does the specified node have
to be online for the fallback to work?
Nodes that are offline have no control structures allocated and thus
allocations will likely segfault when the address of the controls
structure for the node is accessed.
If we wanted to prevent that then every allocation would have to add a
check to see if the nodes are online which would impact performance.
Okay, that makes sense, thank you.
Andrew, can you please drop this patch?
2537ffb mm: memcontrol: consolidate swap controller code
2f9b346 mm: memcontrol: consolidate memory controller initialization
a40d0d2 mm: memcontrol: remove unnecessary soft limit tree node test
Reverting (or dropping) a40d0d2 alone is not possible since it modifies
mem_cgroup_soft_limit_tree_init which is removed by 2f9b346.
("mm: memcontrol: consolidate swap controller code") gave me no issues
when rebasing, but ("mm: memcontrol: consolidate memory controller
initialization") needs updating.
So how about this one to replace ("mm: memcontrol: remove unnecessary
soft limit tree node test"):
---
From: Johannes Weiner <hannes@xxxxxxxxxxx>
Subject: [patch] mm: memcontrol: simplify soft limit tree init code
- No need to test the node for N_MEMORY. node_online() is enough for
node fallback to work in slab, use NUMA_NO_NODE for everything else.
- Remove the BUG_ON() for allocation failure. A NULL pointer crash is
just as descriptive, and the absent return value check is obvious.
- Move local variables to the inner-most blocks.
- Point to the tree structure after its initialized, not before, it's
just more logical that way.
Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>