The change looks like a typo (division flipped to multiplication):limit = nr_free_buffer_pages() / 8;
limit = nr_free_buffer_pages()<< (PAGE_SHIFT - 10);
Hi, thanks for the reporting. It's not a typo. It was previously:
sysctl_tcp_mem[1]<< (PAGE_SHIFT - 7). Looks like we need to do the
limit check before shift the value. Please try the following patch, thanks.
Still does not help. I test it by checking sha1sum of a large file over NFS
(small files seem to work simetimes):
$ strace sha1sum /gentoo/distfiles/gcc-4.6.2.tar.bz2
...
open("/gentoo/distfiles/gcc-4.6.2.tar.bz2", O_RDONLY
<HUNG>
After a certain timeout dmesg gets odd spam:
[ 314.848094] nfs: server vmhost not responding, still trying
[ 314.848134] nfs: server vmhost not responding, still trying
[ 314.848145] nfs: server vmhost not responding, still trying
[ 314.957047] nfs: server vmhost not responding, still trying
[ 314.957066] nfs: server vmhost not responding, still trying
[ 314.957075] nfs: server vmhost not responding, still trying
[ 314.957085] nfs: server vmhost not responding, still trying
[ 314.957100] nfs: server vmhost not responding, still trying
[ 314.958023] nfs: server vmhost not responding, still trying
[ 314.958035] nfs: server vmhost not responding, still trying
[ 314.958044] nfs: server vmhost not responding, still trying
[ 314.958054] nfs: server vmhost not responding, still trying
looks like bogus messages. Might be relevant to mishandled timings
somewhere else or a bug in nfs code.
And after 120 seconds hung tasks shows it might be an OOM issue
Likely caused by patch, as it's a 2GB RAM +4GB swap amd64 box
not running anything heavy: