lkml.org 
[lkml]   [2010]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] Remove BKL from fs/locks.c
    On Tue, Sep 14, 2010 at 1:06 PM, Arnd Bergmann <arnd@arndb.de> wrote:
    >
    > Christoph already made it clear that it cannot go upstream
    > like this and Stephen said he consequently didn't want it
    > in -next either. It may still be material for -mm or -rt,
    > or just anyone who wants to test a kernel with CONFIG_BKL
    > disabled.

    I think something like this would be acceptable with that whole config
    option removed.

    That would not help your particular "test without BKL at all" case,
    but basically I would suggest something like the following:

    - do the unconditional conversion to the new spinlock, so that
    fs/locks.c is internally consistent and conceptually works without the
    BKL at all.

    - remove all the EXPORT_SYMBOL()s

    - create wrapper functions named xyzzy_bkl() (perhaps in a different
    fs/bkl.c file or whatever - or maybe just in the same file that you do
    the bkl for CONFIG_BKL in the first place) that wrap the fs/locks.c
    symbols with the kernel lock (so now those wrappers will take _both_
    the BKL and the real spinlock)

    - fix up all modular users mindlessly to call the bkl version, and
    ship it that way for one release

    End result: anybody who uses the old exports will just not link at
    all, and all in-kernel users (ie lockd etc) will now very explicitly
    have that xyz_bkl() use.

    After that one release, we can re-introduce the old names without the
    bkl, and let filesystems and other subsystems just decide that they
    don't want the bkl version one by one. So that first phase would be
    basically a no-op with an interface rename just so that the rest could
    then be done piece-meal.

    Linus


    \
     
     \ /
      Last update: 2010-09-14 22:31    [W:0.032 / U:1.180 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site