Re: [PATCH 0/6] Kill the bkl in procfs

From: Frederic Weisbecker
Date: Sat Apr 10 2010 - 09:27:39 EST


On Tue, Mar 30, 2010 at 08:20:09AM +0200, Frederic Weisbecker wrote:
> Hi,
>
> This patchset drops any use of the big kernel lock from procfs.
> May be there is still one or two NULL llseek somewhere but I
> think we have fixed 99% of those that were in the procfs core.
>
> Users of procfs implementing an ioctl have not been easy to
> spot automatically (there are hundreds of procfs users)
> as there are many indirect ways to register a procfs, depending
> on the subsystem you are.
>
> So for those who want to verify the reliability of this check,
> you can look at the script there:
>
> http://tglx.de/~fweisbec/seek.py
>
> Beware it's very dirty! The hardcoded path are those I had
> to check manually (or that I added to the automatic check).
> One day I should learn how to use Coccinelle instead.
>
> In the worst case, the remaining ones this script or my eyes
> forgot will trigger a warning.
>
> Thanks.


I've applied the patchset to

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
bkl/procfs

Thanks.




>
>
> Arnd Bergmann (1):
> procfs: Kill BKL in llseek on proc base
>
> Frederic Weisbecker (5):
> procfs: Use generic_file_llseek in /proc/kcore
> procfs: Use generic_file_llseek in /proc/kmsg
> procfs: Use generic_file_llseek in /proc/vmcore
> procfs: Push down the bkl from ioctl
> procfs: Kill the bkl in ioctl
>
> drivers/char/i8k.c | 53 +++++++++++++++------
> drivers/isdn/divert/divert_procfs.c | 90 ++++++++++++++++++++++-------------
> fs/proc/base.c | 10 ++++-
> fs/proc/inode.c | 4 +-
> fs/proc/kcore.c | 1 +
> fs/proc/kmsg.c | 1 +
> fs/proc/vmcore.c | 1 +
> net/sunrpc/cache.c | 20 ++++++--
> 8 files changed, 123 insertions(+), 57 deletions(-)
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/