lkml.org 
[lkml]   [2004]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: PF_MEMALLOC in 2.6
    On Fri, 20 Aug 2004 18:06:41 +1000
    Nick Piggin <nickpiggin@yahoo.com.au> wrote:

    > >>So I'd say try to find a way to only use PF_MEMALLOC on behalf of
    > >>a PF_MEMALLOC thread or use a mempool or something.
    > >
    > > Then the SCSI layer should pass down the flag.
    >
    > It would be ideal from the memory allocator's point of view to do it
    > on a per-request basis like that.
    >
    > When the rubber hits the road, I think it is probably going to be very
    > troublesome to do it right that way. For example, what happens when
    > your usb-thingy-thread blocks on a memory allocation while handling a
    > read request, then the system gets low on memory and someone tries to
    > free some by submitting a write request to the USB device?

    If you let me gloat for a little bit, ub makes this discussion moot
    because it has no helper thread. But getting back to usb-storage,
    here's the actual bug:
    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130326

    As you can see, it's muddled considerably. The original report
    has no useful information, but if you look into an obscure but hefty
    attachement, you see this:

    Aug 18 20:23:47 trilobite kernel: kjournald starting. Commit interval 5 seconds
    Aug 18 20:23:47 trilobite kernel: EXT3 FS on sdc5, internal journal
    Aug 18 20:23:47 trilobite kernel: EXT3-fs: mounted filesystem with ordered data mode.
    Aug 18 20:30:54 trilobite kernel: SCSI error : <2 0 0 0> return code = 0x70000
    Aug 18 20:30:54 trilobite kernel: end_request: I/O error, dev sdc, sector 37625666
    Aug 18 20:30:54 trilobite kernel: Buffer I/O error on device sdc5, logical block 1532371
    Aug 18 20:30:54 trilobite kernel: lost page write due to I/O error on sdc5
    Aug 18 20:31:04 trilobite kernel: SCSI error : <2 0 0 0> return code = 0x70000
    Aug 18 20:31:04 trilobite kernel: end_request: I/O error, dev sdc, sector 37625674
    Aug 18 20:31:04 trilobite kernel: Buffer I/O error on device sdc5, logical block 1532372
    Aug 18 20:31:04 trilobite kernel: lost page write due to I/O error on sdc5
    ....
    Aug 18 20:32:23 trilobite kernel: scsi2 (0:0): rejecting I/O to dead device
    Aug 18 20:32:23 trilobite last message repeated 1723 times
    <----- which is basically what happens when the EH thread loses patience

    This is what made me suspect that it's the diry memory writeout problem.
    It's just like how it was on 2.4 before Alan added PF_MEMALLOC.

    -- Pete
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:05    [W:0.021 / U:180.520 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site