[lkml]   [2002]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: BKL removal
    On Wednesday 10 July 2002 23:28, Rick Lindsley wrote:
    > So threading is difficult to manage or even impossible without a global
    > lock for everyone to use? True -- I suppose that would force people to
    > think about what they are locking and which lock is appropriate to avoid
    > unnecessary contention. It would require that the new locks' scopes and
    > assumptions be documented instead of handed down verbally from
    > teacher to student.

    Hear hear! Well, Al at least has made a pretty good attempt to do that
    for VFS locks. The rest of the kernel is pretty much a disaster. If
    we're lucky, we find the odd comment here and there: 'must be called
    holding such-and-such lock', and on a good day the comment is even
    correct. Which reminds me of a janitorial idea I discussed briefly with
    Acme, which is to replace all those above-the-function lock coverage
    comments with assert-like thingies:


    And everbody knows what that does: when compiled with no spinlock
    debugging it does nothing, but with spinlock debugging enabled, it oopses
    unless pagemap_lru_lock is held at that point in the code. The practical
    effect of this is that lots of 3 line comments get replaced with a
    one line assert that actually does something useful. That is, besides
    documenting the lock coverage, this thing will actually check to see if
    you're telling the truth, if you ask it to.

    Oh, and they will stay up to date much better than the comments do,
    because nobody needs to to be an ueber-hacker to turn on the option and
    post any resulting oopses to lkml.

    > It would have the side effect of making it easier
    > for a newcomer to come up to speed on a particular section of code, thus
    > allowing a greater number of people to understand the code and offer fixes
    > or enhancements.

    Yup, and double-yup.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:27    [W:0.030 / U:9.564 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site