]> err.no Git - linux-2.6/commit
[PATCH] knfsd: reduce stack consumption
authorNeil Brown <neilb@suse.de>
Fri, 6 Jan 2006 08:19:59 +0000 (00:19 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 6 Jan 2006 16:33:59 +0000 (08:33 -0800)
commit9f708e40fe040e79f6c393a282f0701c9f8dc174
treee769b7b9088f03caf324923485ee1e5ef05e2292
parenta334de28665b14f0a33df82699fa9a78cfeedf31
[PATCH] knfsd: reduce stack consumption

A typical nfsd call trace is
 nfsd -> svc_process -> nfsd_dispatch -> nfsd3_proc_write ->
   nfsd_write ->nfsd_vfs_write -> vfs_writev

These add up to over 300 bytes on the stack.
Looking at each of these, I see that nfsd_write (which includes
 nfsd_vfs_write) contributes 0x8c to stack usage itself!!

It turns out this is because it puts a 'struct iattr' on the stack so
it can kill suid if needed.  The following patch saves about 50 bytes
off the stack in this call path.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/nfsd/vfs.c