Hi Andrew Could you please put this final version in mm for testing ? Thank's to all contributors. [PATCH] VFS : Delay the dentry name generation on sockets and pipes. 1) Introduces a new method in 'struct dentry_operations'. This method called d_dname() might be called from d_path() to build a pathname for special filesystems. It is called without locks. Future patches (if we succeed in having one common dentry for all pipes/sockets) may need to change prototype of this method, but we now use : char *d_dname(struct dentry *dentry, char *buffer, int buflen); 2) Use this new method for sockets : No more sprintf() at socket creation. This is delayed up to the moment someone does an access to /proc/pid/fd/... 3) Use this new method for pipes : No more sprintf() at pipe creation. This is delayed up to the moment someone does an access to /proc/pid/fd/... A benchmark consisting of 1.000.000 calls to pipe()/close()/close() gives a *nice* speedup on my Pentium(M) 1.6 Ghz : 3.090 s instead of 3.450 s Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Acked-by: Christoph Hellwig <hch@infradead.org> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Documentation/filesystems/Locking | 2 ++ Documentation/filesystems/vfs.txt | 12 +++++++++++- fs/dcache.c | 10 ++++++++++ fs/pipe.c | 15 +++++++++------ include/linux/dcache.h | 1 + net/socket.c | 17 ++++++++++------- 6 files changed, 43 insertions(+), 14 deletions(-)
