[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45D74852.4070206@monatomic.org>
Date: Sat, 17 Feb 2007 20:24:18 +0200
From: Dan Aloni <da-x@...atomic.org>
To: Alan Stern <stern@...land.harvard.edu>
CC: Linux Kernel List <linux-kernel@...r.kernel.org>
Subject: Re: [linux-usb-devel] OOM and USB, latest Linux 2.6
Dan Aloni wrote:
> Alan Stern wrote:
[...]
>> Can you be any more specific than that? usb-storage should use only
>> GFP_NOIO in its I/O paths.
>>
>>
>>
> You are right, I looked over this state with kdb, and usb-storage
> waited in usb_stor_bulk_transfer_sg, which does pass GFP_NOIO
> at this scenario.
>
> It looked suspicious though, because OOM handling was invoked
> from many processes, and it didn't print about any process being
> killed and it didn't complain about no processes to kill either.
Hmm, I'm pretty sure I stomped over this (from select_bad_process()):
/*
* This task already has access to memory reserves and is
* being killed. Don't allow any other task access to the
* memory reserve.
*
* Note: this may have a chance of deadlock if it gets
* blocked waiting for another task which itself is waiting
* for memory. Is there a better alternative?
*/
if (test_tsk_thread_flag(p, TIF_MEMDIE))
return ERR_PTR(-1UL);
Which might explains why the OOM handling was behaving like it did.
It would have been nice if it at least printed "OOM: I'm in a deadlock,
please FIXME...".
--
Dan Aloni
XIV LTD, http://www.xivstorage.com
da-x (at) monatomic.org, dan (at) xiv.co.il
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists