On Mon, May 23, 2022 at 07:23:53PM +0800, Miaohe Lin wrote: ... > > > > I reproduced the deadloop issues when swapin error occurs at swapoff time in my linux-next-next-20220520 env, > > and I found this patch could solve the issue now with the fix in my another email. > > > > BTW: When I use dm-dust to inject the swapin IO error, I don't see non-uptodate folio when shmem_swapin_folio > > and swapoff succeeds. There might be some issues around that module (so I resort to the another way to inject > > the swapin error), but the patch itself works anyway. ;) > > Sorry, the reason I don't see non-uptodate folio when shmem_swapin_folio is that all the shmem pages are still > in the swapcache. They're not read from disk so there is no really IO error. :) When they're indeed freed, the > deadloop issue occurs. > > I am thinking about extending the function of MADV_PAGEOUT to free the swapcache page. The page resides in the > swapcache does not save the system memory anyway. And this could help test the swapin behavior. But I'm not > sure whether it's needed. The extension make MADV_PAGEOUT free swapcaches makes sense to me, so I'll support it if the original implementer agrees the change. Thanks, Naoya Horiguchi