On Tue, Aug 20, 2013 at 7:18 AM, Dave Jones <davej@xxxxxxxxxx> wrote: > > btw, anyone have thoughts on a patch something like below ? And another(sorry if message is reformatted by the mail agent, and it took my an hour to get the agent back to the correct format but failed, and thanks a lot for any howto send plain text message). Hillf --- a/mm/memory.c Wed Aug 7 16:29:34 2013 +++ b/mm/memory.c Tue Aug 20 11:13:06 2013 @@ -933,8 +933,10 @@ again: if (progress >= 32) { progress = 0; if (need_resched() || - spin_needbreak(src_ptl) || spin_needbreak(dst_ptl)) + spin_needbreak(src_ptl) || spin_needbreak(dst_ptl)) { + BUG_ON(entry.val); break; + } } if (pte_none(*src_pte)) { progress++; -- > It's really annoying to debug stuff like this and have to walk > over to the machine and reboot it by hand after it wedges during swapoff. > > Dave > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 6cf2e60..bbb1192 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -1587,6 +1587,10 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile) > if (!capable(CAP_SYS_ADMIN)) > return -EPERM; > > + /* If we have hit memory corruption, we could hang during swapoff, so don't even try. */ > + if (test_taint(TAINT_BAD_PAGE)) > + return -EINVAL; > + > BUG_ON(!current->mm); > > pathname = getname(specialfile); -- 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>