mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 09:26:45 +07:00
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;
|
struct files_struct *files = current->files;
|
||||||
|
|
||||||
*fput_needed = 0;
|
*fput_needed = 0;
|
||||||
if (likely((atomic_read(&files->count) == 1))) {
|
if (atomic_read(&files->count) == 1) {
|
||||||
file = fcheck_files(files, fd);
|
file = fcheck_files(files, fd);
|
||||||
} else {
|
} else {
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
Loading…
Reference in New Issue
Block a user