fs: Remove unlikely() from fget_light()
There's an unlikely() in fget_light() that assumes the file ref count will be 1. Running the annotate branch profiler on a desktop that is performing daily tasks (running firefox, evolution, xchat and is also part of a distcc farm), it shows that the ref count is not 1 that often. correct incorrect % Function File Line ------- --------- - -------- ---- ---- 1035099358 6209599193 85 fget_light file_table.c 315 Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
c2b3e74b78
commit
3bc0ba4305
|
@ -311,7 +311,7 @@ struct file *fget_light(unsigned int fd, int *fput_needed)
|
|||
struct files_struct *files = current->files;
|
||||
|
||||
*fput_needed = 0;
|
||||
if (likely((atomic_read(&files->count) == 1))) {
|
||||
if (atomic_read(&files->count) == 1) {
|
||||
file = fcheck_files(files, fd);
|
||||
} else {
|
||||
rcu_read_lock();
|
||||
|
|
Loading…
Reference in New Issue