files rcu optimization: Remove duplicated fget from fget_light. The code for fget is contained in fget_light. So call fget instead. Signed-off-by: Christoph Lameter Index: linux-2.6.18-rc6-mm2/fs/file_table.c =================================================================== --- linux-2.6.18-rc6-mm2.orig/fs/file_table.c 2006-09-12 21:03:48.943590374 -0500 +++ linux-2.6.18-rc6-mm2/fs/file_table.c 2006-09-12 21:04:03.584480438 -0500 @@ -233,16 +233,9 @@ if (likely((atomic_read(&files->count) == 1))) { file = fcheck_files(files, fd); } else { - rcu_read_lock(); - file = fcheck_files(files, fd); - if (file) { - if (atomic_inc_not_zero(&file->f_count)) - *fput_needed = 1; - else - /* Didn't get the reference, someone's freed */ - file = NULL; - } - rcu_read_unlock(); + file = fget(fd); + if (file) + *fput_needed = 1; } return file;