Re: Hang with v4.15-rc trying to swap back in

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reverting these three patches fixes the problem:

commit aa8d22a11da933dbf880b4933b58931f4aefe91c
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date:   Wed Nov 15 17:33:11 2017 -0800

    mm: swap: SWP_SYNCHRONOUS_IO: skip swapcache only if swapped page
has no other reference

commit 0bcac06f27d7528591c27ac2b093ccd71c5d0168
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date:   Wed Nov 15 17:33:07 2017 -0800

    mm, swap: skip swapcache for swapin of synchronous device

Also need to revert:

commit e9a6effa500526e2a19d5ad042cb758b55b1ef93
Author: Huang Ying <huang.ying.caritas@xxxxxxxxx>
Date:   Wed Nov 15 17:33:15 2017 -0800

    mm, swap: fix false error message in __swp_swapcount()

(The latter is simply because it used a function that is eliminated by
one of the other reversions).  They came into the merge window via the
-mm tree as part of a 4 part series:

Subject:	[PATCH v2 0/4] skip swapcache for super fast device
Message-Id:	<1505886205-9671-1-git-send-email-minchan@xxxxxxxxxx
>

James

On Wed, 2017-12-27 at 10:12 -0800, James Bottomley wrote:
> I think I've seen this a lot shutting down systems, but never manged
> to trace it before.  Now I can reproduce it starting kvm on a 4GB
> system with 3GB of memory and booting up a linux OS.  What eventually
> happens (after logging into the virtual system) is that kvm itself
> hangs, although the stuck process is one of the kworkers in D wait
> hung on this stack trace:
> 
> [<0>] io_schedule+0x12/0x40
> [<0>] __lock_page_or_retry+0x2b8/0x300
> [<0>] do_swap_page+0x1b9/0x910
> [<0>] __handle_mm_fault+0x7ee/0xe20
> [<0>] handle_mm_fault+0xce/0x1e0
> [<0>] __get_user_pages+0x104/0x6c0
> [<0>] get_user_pages_remote+0x84/0x1f0
> [<0>] async_pf_execute+0x67/0x1a0 [kvm]
> [<0>] process_one_work+0x13c/0x370
> [<0>] worker_thread+0x44/0x3e0
> [<0>] kthread+0xf5/0x130
> [<0>] ret_from_fork+0x1f/0x30
> [<0>] 0xffffffffffffffff
> 
> The async_pf_execute() is a kvm async callback, failure to execute it
> appears to be causing the kvm hang.
> 
> Next to go is kswapd
> 
> [<0>] io_schedule+0x12/0x40
> [<0>] __lock_page+0xec/0x120
> [<0>] deferred_split_scan+0x21b/0x2a0
> [<0>] shrink_slab+0x24a/0x460
> [<0>] shrink_node+0x2e6/0x2f0
> [<0>] kswapd+0x2ad/0x730
> [<0>] kthread+0xf5/0x130
> [<0>] ret_from_fork+0x1f/0x30
> [<0>] 0xffffffffffffffff
> 
> And finally systemd-logind hangs making it very difficult to get into
> the system (and impossible to shut it down)
> 
> [<0>] call_rwsem_down_write_failed+0x13/0x20
> [<0>] register_shrinker+0x45/0xa0
> [<0>] sget_userns+0x44d/0x480
> [<0>] mount_nodev+0x2a/0xa0
> [<0>] mount_fs+0x34/0x150
> [<0>] vfs_kern_mount+0x62/0x120
> [<0>] do_mount+0x1d7/0xbf0
> [<0>] SyS_mount+0x7e/0xd0
> [<0>] do_syscall_64+0x5b/0x100
> [<0>] entry_SYSCALL64_slow_path+0x25/0x25
> [<0>] 0xffffffffffffffff
> 
> I've seen this with -rc1 and -rc5, so I think it's some problem with
> merge window code.
> 
> James

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux