PF_MEMALLOC in 2.6

Pete Zaitcev
2004-08-19T06:55:43Z

The PF_MEMALLOC is required on usb-storage threads in 2.4, because ext3
will deadlock and otherwise misbehave when it's trying to write out
dirty pages under memory pressure.

I received a bug report today from an FC3T1 user with same symptoms
as 2.4. But I'm entirely clueless in the way VM operates. Comments?

-- Pete

--- linux-2.6.8-rc4-mm1/drivers/usb/storage/usb.c 2004-08-16 12:13:06.000000000 -0700
+++ linux-2.6.8-rc4-mm1-ub/drivers/usb/storage/usb.c 2004-08-18 23:48:09.335107648 -0700
@@ -285,7 +285,7 @@ static int usb_stor_control_thread(void
*/
daemonize("usb-storage");

- current->flags |= PF_NOFREEZE;
+ current->flags |= PF_NOFREEZE|PF_MEMALLOC;

unlock_kernel();