On Thu, Jul 22, 2021 at 01:36:02PM +0100, Matthew Wilcox wrote: > On Thu, Jul 22, 2021 at 04:57:57PM +0800, Zhouyi Zhou wrote: > > Thanks for reviewing, > > > > What I have deduced from the dmesg is: > > In function do_swap_page, > > after invoking > > 3385 si = get_swap_device(entry); /* rcu_read_lock */ > > and before > > 3561 out: > > 3562 if (si) > > 3563 put_swap_device(si); > > The thread got scheduled out in > > 3454 locked = lock_page_or_retry(page, vma->vm_mm, vmf->flags); > > > > I am only familiar with Linux RCU subsystem, hope mm people can solve our > > confusions. > > I don't understamd why you're still talking. The problem is understood. > You need to revert the unnecessary backport of 2799e77529c2 and > 2efa33fc7f6e Sorry for the delay, will go do so in a minute... greg k-h