[linux-usb-devel] OOM and USB, latest Linux 2.6

[linux-usb-devel] OOM and USB, latest Linux 2.6

Post by Dan Alon » Mon, 19 Feb 2007 03:20:09



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.

(I'll look more into this, perhaps there's an OOM handling bug)

BTW, soft-rebooting the machine in that state made the USB
storage device (LEXAR, JD LIGHTNING II) inaccessible to the
BIOS. I had to do a complete power cycle in order or the BIOS
to see it again.

--
Dan Aloni
XIV LTD, http://www.yqcomputer.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 XXXX@XXXXX.COM
More majordomo info at http://www.yqcomputer.com/
Please read the FAQ at http://www.yqcomputer.com/
 
 
 

[linux-usb-devel] OOM and USB, latest Linux 2.6

Post by Dan Alon » Mon, 19 Feb 2007 03:30:12


[...]
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.yqcomputer.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 XXXX@XXXXX.COM
More majordomo info at http://www.yqcomputer.com/
Please read the FAQ at http://www.yqcomputer.com/

 
 
 

[linux-usb-devel] OOM and USB, latest Linux 2.6

Post by Alan Ster » Mon, 19 Feb 2007 06:40:05


...


That's the fault of the BIOS and/or the Lexar device. The BIOS ought to
do a complete reset of the USB controller and a reset of the device. If
the device remains unusable after that, there isn't anything we can do
about it.

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to XXXX@XXXXX.COM
More majordomo info at http://www.yqcomputer.com/
Please read the FAQ at http://www.yqcomputer.com/