[lkml]   [1999]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: parallel writes to the same file, 2.3.7

    On 22 Jun 1999, Linus Torvalds wrote:

    > In article <>,
    > Ingo Molnar <> wrote:
    > >
    > >check out block_*_write(), we get the inode semaphore when we allocate new
    > >blocks. So most races should be taken care of.
    > Nope. I removed the semaphore, because it protected the wrong thing.
    > The semaphore either has to protect _everything_ like it did in 2.2.x,
    > or it has to protect the file length changes wrt buffer allocation.
    > Protecting writes a page at a time is incorrect, and makes the semaphore
    > useless (we do a much better job with the per-page lock bit for that
    > kind of protection).

    hm, i thought we want to protect preallocated blocks and other 'on the
    fly' nonpersistent inode-metadata with the inode semaphore, so we can
    later on remove the big kernel lock _and_ the per-filesystem superblock
    lock without worrying too much. Now we rely on the superblock semaphore
    alone, which is correct but more coarse grained than the inode semaphore i
    think. I'm happy with this change nevertheless, my original patch that got
    rid of the write semaphore did exactly what we do now, i was just unsure
    wether it's correct ;)

    > So I decided to just get rid of the semaphore on the write side. There
    > are possibly cases we still have to check, but we'll do that with some
    > other mechanism. With the semaphore gone, we can do swapping better
    > anyway, no need for kpiod.

    cool :)

    -- mingo

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

     \ /
      Last update: 2005-03-22 13:52    [W:0.021 / U:2.424 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site