https://bugzilla.novell.com/show_bug.cgi?id=677738
https://bugzilla.novell.com/show_bug.cgi?id=677738#c3
--- Comment #3 from Mel Gorman
Trying to use Swap over NFS on openSUSE-11.4 is resulting in a crash.
Reproducer:
* Restrict physical memory to (say 256M) while booting to ensure swap gets exercised on the client. * swapoff -a * On the NFS server, create a swap file on the NFS export dd if=/dev/zero of=swapfile.swp count=1048576 bs=1024 mkswap swapfile.swp * Enable file for swapping on the client swapon /mnt/nfs/swapfile.swp
Here's the Oops:
Thanks.
Mar 8 05:59:32 jays-114 kernel: [ 207.819757] Emergency reserve: 19912 Mar 8 05:59:32 jays-114 kernel: [ 207.819769] Adding 1048572k swap on /mnt/swapfile.swp. Priority:-1 extents:1 across:1048572k Mar 8 05:59:32 jays-114 kernel: [ 207.819813] BUG: unable to handle kernel NULL pointer dereference at (null) Mar 8 05:59:32 jays-114 kernel: [ 207.819829] IP: [<d0be7a17>] nfs_mark_request_dirty+0x17/0x20 [nfs]
I've attached what is necessary to avoid the oops but it's almost certainly the wrong fix so is not a merge candidate. With it applied, swap-over-nfs remains easy to deadlock. What I think is happening is the swapfile inode is marked dirty and this gets propagated via clear_page_dirty_for_io (which is expected) and preventing swap pages being freed (which is not) causing deadlock (which is bad). Investigation in progress. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.