Christoph Hellwig a écrit : > > Please just change all callers to use the union, there's not very many > of them. Yes it's better, thanks Christoph. What about this version then ? Hi all Now that RCU applied on 'struct file' seems stable, we can place f_rcuhead in a memory location that is not anymore used at call_rcu(&f->f_rcuhead, file_free_rcu) time, to reduce the size of this critical kernel object. The trick I used is to move f_rcuhead and f_list in an union called f_u The callers are changed so that f_rcuhead becomes f_u.fu_rcuhead and f_list becomes f_u.f_list Tested on allyesconfig, diffed against 2.6.14-rc2 drivers/char/tty_io.c | 2 +- fs/dquot.c | 2 +- fs/file_table.c | 14 +++++++------- fs/proc/generic.c | 2 +- fs/super.c | 2 +- include/linux/fs.h | 9 +++++++-- security/selinux/hooks.c | 2 +- security/selinux/selinuxfs.c | 2 +- 8 files changed, 20 insertions(+), 15 deletions(-) Thank you Signed-off-by: Eric Dumazet