[lkml]   [2010]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Remaining BKL users, what to do
    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.


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