lkml.org 
[lkml]   [2010]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Remaining BKL users, what to do
    Date
    On Thursday 16 September 2010 21:00:25 Jan Harkes wrote:
    > > Just removing the BKL without the Coda community seems like a heap
    > > of pointless work.
    >
    > It depends, it might get rid of that mount lockup. There shouldn't be
    > too much shared state because the kernel module mostly just forwards
    > requests to userspace and the BKL right now seems to be mostly used to
    > protects access to the upcall lists and could probably without too much
    > trouble be replaced with a single 'global' (but Coda-only) or
    > mount-point specific mutex.

    Ok, that would be nice.

    There are two strategies forward then based on the current code:

    1. introduce a global or per-superblock mutex and convert all
    instances of lock-kernel to that, then see what breaks (lockdep
    helps here) and fix up all places where you get potential
    deadlocks. The easiest replacement would be the existing superblock
    mutex, doing s/lock_kernel()/lock_super(sb)/.

    2. understand what data structures are actually being protected
    by the BKL right now, then add proper locking around all accesses
    to them and finally remove all uses of the BKL.

    Arnd


    \
     
     \ /
      Last update: 2010-09-16 21:29    [W:0.022 / U:60.676 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site