2.2.15 slow NFS

Jens Benecke (jens@pinguin.conetix.de)
Wed, 7 Jun 2000 00:06:58 +0200


--h31gzZEtNLTqOjlF
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

Hi,

please CC: me as I don't read linux-kernel regularly.

I'm running Mandrake Linux 7.0 (2.2.14-15mdk) on a NFS client, and Debian
2.2 (but with a Mandrake 2.2.15-6mdk kernel) on a NFS server. NFS speed from
server to client is satisfactory (about 4MB/sec over 100MBit Ethernet). The
other direction is really, really slow. (100k/sec)

The Mandrake kernel is patched with the following NFS related things.
linux-2.2.14-nfsattack2.patch.bz2
linux-2.2.14-sparc-nfs.patch.bz2
nfs-inode-2.2.10.bz2

and compiled with -O3 and -D__KERNEL__ -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -O3 -fomit-frame-pointer
-fno-exceptions -fno-rtti -pipe -s -mpentium -mcpu=3Dpentium -march=3Dpenti=
um
-ffast-math -fexpensive-optimizations -malign-loops=3D2 -malign-jumps=3D2
-malign-functions=3D2 -mpreferred-stack-boundary=3D2 -m486 -malign-loops=3D2
-malign-jumps=3D2 -malign-functions=3D2 -DCPU=3D586

(standard Mandrake procedure, I suppose)

I switched nfs*_debug=3D9 in /proc on the server and got things like

Jun 6 21:59:37 pinguin kernel: nfsd_dispatch: proc 8
Jun 6 21:59:58 pinguin last message repeated 6298 times
Jun 6 21:59:58 pinguin kernel: nfsd_dispatch: proc 4
Jun 6 21:59:58 pinguin kernel: nfsd_dispatch: proc 4
Jun 6 21:59:58 pinguin kernel: nfsd_dispatch: proc 1
Jun 6 21:59:58 pinguin kernel: nfsd_dispatch: proc 6
Jun 6 21:59:58 pinguin kernel: nfsd_dispatch: proc 8
Jun 6 21:59:58 pinguin kernel: nfsd_dispatch: proc 6
Jun 6 21:59:59 pinguin last message repeated 494 times

I switched nfs*_debug=3D9 on the client and got this:

ds9 kernel: NFS: dentry_delete(Probe-5.6.RAW/probe-5.6.komplett.1.wav, 0)=
=20
ds9 kernel: NFS: lookup(Probe-5.6.RAW/probe-5.6.komplett.1.wav)=20
ds9 kernel: 312c58)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 249856+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429e120)=20
ds9 kernel: NFS: 2704 schedule_write_request (async)=20
ds9 kernel: nfs: write(Probe-5.6.RAW/probe-5.6.komplett.1.wav(82462), 8192@=
253952)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@253952, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c0312c08)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 253952+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429e240)=20
ds9 kernel: NFS: 2705 schedule_write_request (async)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@258048, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030e590)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 258048+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429e360)=20
ds9 kernel: NFS: 2706 schedule_write_request (async)=20
ds9 kernel: nfs: write(Probe-5.6.RAW/probe-5.6.komplett.1.wav(82462), 8192@=
262144)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@262144, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030e4a0)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 262144+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429e480)=20
ds9 kernel: NFS: 2707 schedule_write_request (async)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@266240, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030e220)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 266240+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429e5a0)=20
ds9 kernel: NFS: 2708 schedule_write_request (async)=20
ds9 kernel: nfs: write(Probe-5.6.RAW/probe-5.6.komplett.1.wav(82462), 8192@=
270336)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@270336, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030e1a8)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 270336+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429e6c0)=20
ds9 kernel: NFS: 2709 schedule_write_request (async)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@274432, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030dc30)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 274432+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429e7e0)=20
ds9 kernel: NFS: 2710 schedule_write_request (async)=20
ds9 kernel: nfs: write(Probe-5.6.RAW/probe-5.6.komplett.1.wav(82462), 8192@=
278528)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@278528, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030db68)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 278528+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429e900)=20
ds9 kernel: NFS: 2711 schedule_write_request (async)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@282624, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030da50)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 282624+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429ea20)=20
ds9 kernel: NFS: 2712 schedule_write_request (async)=20
ds9 kernel: nfs: write(Probe-5.6.RAW/probe-5.6.komplett.1.wav(82462), 8192@=
286720)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@286720, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030d8e8)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 286720+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429eb40)=20
ds9 kernel: NFS: 2713 schedule_write_request (async)=20
ds9 kernel: NFS: nfs_updatepage(Probe-5.6.RAW/probe-5.6.komplett.1.wav=
4096@290816, sync=3D0)=20
ds9 kernel: NFS: find_write_request(6/82462, c030d820)=20
ds9 kernel: NFS: create_write_request(Probe-5.6.RAW/probe-5.6.komplett=
.1.wav, 290816+4096)=20
ds9 kernel: NFS: append_write_request(c4bb61ec, c429ec60)=20
ds9 kernel: NFS: 2714 schedule_write_request (async)=20
ds9 kernel: nfs: write(Probe-5.6.RAW/probe-5.6.komplett.1.wav(82462), 8192@=
294912)=20

and so on ... (ask if you need more).

I hope someone can interpret this.

Thanks a LOT in advance. :)

--=20
Microsoft is a cross between The Borg and the Ferengi. Unfortunately they
use Borg to do their marketing and Ferengi to do their programming.=20
-- Simon Slavin, in the Monastery.

--h31gzZEtNLTqOjlF
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iQEXAwUBOT12ArhrARHySzvPFAHRzwQAnKiBCAAuhNzFUdtLPnMP0HqoUTFjdUiK
d8VvrBiq1/sa+cf7mpmjDnbxSgYsT82T+0bfNk/bZ2HKQ1Lu3FF3SA+UA31/l1Pp
XHq6Pho2eOlSxTZFpIZvm7oZ7vPZv3qe8TJkHrqB+wNIFzU8suKzc8mARmQdLO/B
yab4WNMUo/sEAIaM4aMuW78px76IzchhEyNyauAGD4G05YK9/N/SHzV6HMnn+0OZ
jt8R+slmD19nuGmwEAOn1SSIITo1WJdRHgHmc4A6lWn1wq5AzoNpHNs1wnmZmg9z
3fGlocS8YORXXVvbEqrYe8MEZwRHRD5yxF7ISlPpUS4lik123caC1hsS
=RqR3
-----END PGP SIGNATURE-----

--h31gzZEtNLTqOjlF--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/