Re: [PATCH v3] memory-hotplug: fix zone stat mismatch

From: Andrew Morton
Date: Thu Sep 20 2012 - 17:42:26 EST


On Thu, 20 Sep 2012 15:43:25 +0900
Minchan Kim <minchan@xxxxxxxxxx> wrote:

> During memory-hotplug, I found NR_ISOLATED_[ANON|FILE]
> are increasing so that kernel are hang out.
>
> The cause is that when we do memory-hotadd after memory-remove,
> __zone_pcp_update clear out zone's ZONE_STAT_ITEMS in setup_pageset
> although vm_stat_diff of all CPU still have value.
>
> In addtion, when we offline all pages of the zone, we reset them
> in zone_pcp_reset without drain so that we lost zone stat item.
>

Here's what I ended up with for a changelog:

: During memory-hotplug, I found NR_ISOLATED_[ANON|FILE] are increasing,
: causing the kernel to hang. When the system doesn't have enough free
: pages, it enters reclaim but never reclaim any pages due to
: too_many_isolated()==true and loops forever.
:
: The cause is that when we do memory-hotadd after memory-remove,
: __zone_pcp_update() clears a zone's ZONE_STAT_ITEMS in setup_pageset()
: although the vm_stat_diff of all CPUs still have values.
:
: In addtion, when we offline all pages of the zone, we reset them in
: zone_pcp_reset without draining so we loss some zone stat item.


As memory hotplug seems fairly immature and broken, I'm thinking
there's no point in backporting this into -stable. And I don't *think*
we really need it in 3.6 either? (It doesn't apply cleanly to current
mainline anyway - I didn't check why).


--
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/