Re: [PATCH v3 00/15] HWPOISON: soft offline rework

From: Qian Cai
Date: Tue Jul 14 2020 - 22:22:03 EST


On Tue, Jul 14, 2020 at 12:08:46PM +0200, Oscar Salvador wrote:
> On Tue, Jun 30, 2020 at 01:08:03AM -0400, Qian Cai wrote:
> > Even after applied the compling fix,
> >
> > https://lore.kernel.org/linux-mm/20200628065409.GA546944@u2004/
> >
> > madvise(MADV_SOFT_OFFLINE) will fail with EIO with hugetlb where it
> > would succeed without this series. Steps:
> >
> > # git clone https://github.com/cailca/linux-mm
> > # cd linux-mm; make
> > # ./random 1 (Need at least two NUMA memory nodes)
> > start: migrate_huge_offline
> > - use NUMA nodes 0,4.
> > - mmap and free 8388608 bytes hugepages on node 0
> > - mmap and free 8388608 bytes hugepages on node 4
> > madvise: Input/output error
>
> Ok, sorry for the lateness, but I had to re-fetch the code on my brain again.
>
> I just finished v4 of this patchset and it seems this problem is gone:
>
> # ./random 1
> - start: migrate_huge_offline
> - use NUMA nodes 0,1.
> - mmap and free 8388608 bytes hugepages on node 0
> - mmap and free 8388608 bytes hugepages on node 1
> - pass: mmap_offline_node_huge
> - start: hotplug_memory
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Invalid argument
> offline: Device or resource busy
> offline: Invalid argument
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Device or resource busy
> offline: Device or resource busy
> - pass: hotplug_memory
>
> The test seems to suceed and no crash on the kernel side.
>
> I will just run some more tests to make sure the thing is solid enough
> and then I will post v4.

Great, I plan to reproduce a bit more of the crash below which I am not 100%
sure yet which patchset/patch is the culprit where that LTP move_pages12
reproducer does the similar things.

https://lore.kernel.org/lkml/20200708012044.GC992@xxxxxx/