Re: [PATCH v2 0/2] Fix node meminfo and zoneinfo corruption.

From: Xishi Qiu
Date: Mon Nov 10 2014 - 04:41:15 EST


On 2014/11/7 17:44, Tang Chen wrote:

> There are two problems in memory hot-add progress:
>
> 1. When hot-adding a node without onlining any page, node meminfo corrupted:
>
> # hot-add node2 (memory not onlined)
> # cat /sys/device/system/node/node2/meminfo
> Node 2 MemTotal: 33554432 kB /* corrupted */
> Node 2 MemFree: 0 kB
> Node 2 MemUsed: 33554432 kB
> Node 2 Active: 0 kB
> ......
>
>
> 2. When onlining memory on node2, node2 zoneinfo and node3 meminfo corrupted:
>
> # for ((i = 2048; i < 2064; i++)); do echo online_movable > /sys/devices/system/node/node2/memory$i/state; done
> # cat /sys/devices/system/node/node2/meminfo
> Node 2 MemTotal: 33554432 kB
> Node 2 MemFree: 33549092 kB
> Node 2 MemUsed: 5340 kB
> ......
> # cat /sys/devices/system/node/node3/meminfo
> Node 3 MemTotal: 0 kB
> Node 3 MemFree: 248 kB /* corrupted, should be 0 */
> Node 3 MemUsed: 0 kB
> ......
>
> # cat /proc/zoneinfo
> ......
> Node 2, zone Movable
> ......
> spanned 8388608
> present 16777216 /* corrupted, should be 8388608 */
> managed 8388608
>
>
>
> Change log v1 -> v2:
> 1. Replace patch 2/2 with a new one. It provides the simplest way to
> fix problem 2.
>
> Tang Chen (2):
> mem-hotplug: Reset node managed pages when hot-adding a new pgdat.
> mem-hotplug: Reset node present pages when hot-adding a new pgdat.
>
> include/linux/bootmem.h | 1 +
> mm/bootmem.c | 9 +++++----
> mm/memory_hotplug.c | 24 ++++++++++++++++++++++++
> mm/nobootmem.c | 8 +++++---
> 4 files changed, 35 insertions(+), 7 deletions(-)
>

Hi Tang,

How about cc stable ?


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