[PATCH] files: lock-free fd look-up
With the use of RCU in files structure, the look-up of files using fds can now be lock-free. The lookup is protected by rcu_read_lock()/rcu_read_unlock(). This patch changes the readers to use lock-free lookup. Signed-off-by: Maneesh Soni <maneesh@in.ibm.com> Signed-off-by: Ravikiran Thirumalai <kiran_th@gmail.com> Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
ab2af1f500
commit
b835996f62
@@ -2480,7 +2480,7 @@ static void __do_SAK(void *arg)
|
||||
}
|
||||
task_lock(p);
|
||||
if (p->files) {
|
||||
spin_lock(&p->files->file_lock);
|
||||
rcu_read_lock();
|
||||
fdt = files_fdtable(p->files);
|
||||
for (i=0; i < fdt->max_fds; i++) {
|
||||
filp = fcheck_files(p->files, i);
|
||||
@@ -2495,7 +2495,7 @@ static void __do_SAK(void *arg)
|
||||
break;
|
||||
}
|
||||
}
|
||||
spin_unlock(&p->files->file_lock);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
task_unlock(p);
|
||||
} while_each_task_pid(session, PIDTYPE_SID, p);
|
||||
|
Reference in New Issue
Block a user