Commit a238b790d5f99c7832f9b73ac8847025815b85f7
1 parent
2db9f0a35a
Exists in
master
and in
4 other branches
Call fasync() functions without the BKL
lock_kernel() calls have been pushed down into code which needs it, so there is no need to take the BKL at this level anymore. This work inspired and aided by Andi Kleen's unlocked_fasync() patches. Acked-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Showing 1 changed file with 0 additions and 3 deletions Side-by-side Diff
fs/fcntl.c
... | ... | @@ -12,7 +12,6 @@ |
12 | 12 | #include <linux/fdtable.h> |
13 | 13 | #include <linux/capability.h> |
14 | 14 | #include <linux/dnotify.h> |
15 | -#include <linux/smp_lock.h> | |
16 | 15 | #include <linux/slab.h> |
17 | 16 | #include <linux/module.h> |
18 | 17 | #include <linux/security.h> |
... | ... | @@ -227,7 +226,6 @@ |
227 | 226 | if (error) |
228 | 227 | return error; |
229 | 228 | |
230 | - lock_kernel(); | |
231 | 229 | if ((arg ^ filp->f_flags) & FASYNC) { |
232 | 230 | if (filp->f_op && filp->f_op->fasync) { |
233 | 231 | error = filp->f_op->fasync(fd, filp, (arg & FASYNC) != 0); |
... | ... | @@ -238,7 +236,6 @@ |
238 | 236 | |
239 | 237 | filp->f_flags = (arg & SETFL_MASK) | (filp->f_flags & ~SETFL_MASK); |
240 | 238 | out: |
241 | - unlock_kernel(); | |
242 | 239 | return error; |
243 | 240 | } |
244 | 241 |