[lkml]   [2002]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch] block/IDE/interrupt lockup
    Manfred Spraul wrote:
    > > - spin_unlock_irq(&io_request_lock);
    > > + spin_unlock_irqrestore(&io_request_lock, flags);
    > > rq = kmem_cache_alloc(request_cachep, SLAB_KERNEL);
    > Great patch.
    > kmem_cache_alloc with SLAB_KERNEL can sleep, i.e. you've just converted
    > an obvious bug into a rare, difficult to find bug. What about trying to
    > fix it?

    Gimme a break, Manfred. The patch fixes the new bug. Which was
    hardly obvious. The longstanding (as in years-old) bug was
    pointed out to the maintainer.

    It may not even be a bug. Certainly I don't think it's
    worth my time to fiddle with it. But you're at liberty to.

    > I agree that this won't happen during boot, but what about a hotplug PCI
    > ide controller?

    The kernel calls request_irq() inside cli() in lots of places.
    That's the same bug: "if you called cli(), how come you're
    allowing kmalloc to clear it?".

    In 2.4, this is a design wart. In 2.5, it will go BUG() if
    the page allocator performs I/O.

    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:25    [W:0.022 / U:22.464 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site