Dear Oliver, I understand that USB storage uses GDP_NOIO so copy_to_user URBs causes deadlock. The situation of other applications than USB/IP may be different because only application data than raw URBs is transferred. Thank you, nobuo.iwata // > -----Original Message----- > From: linux-usb-owner@xxxxxxxxxxxxxxx > [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Oliver Neukum > Sent: Saturday, January 09, 2016 4:25 PM > To: fx IWATA NOBUO > Cc: fx MICHIMURA TADAO; valentina.manea.m@xxxxxxxxx; > gregkh@xxxxxxxxxxxxxxxxxxx; Alan Stern; shuah.kh@xxxxxxxxxxx; > linux-usb@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v5 04/11] usbip: kernel module for userspace URBs > transmission > > On Tue, 2016-01-05 at 02:25 +0000, fx IWATA NOBUO wrote: > > Dear Oliver, > > Hi Nobuosan, > > > > > You cannot honor GFP_NOIO > > > > GFP_NOIO is used in original kernel space transmission relating sk_buf. > > It is not used for userspace transmission. > > But it is used in the class drivers, which use the HCD. > :~/gregKHusb/drivers/usb/storage> grep GFP_NOIO * | wc > 51 277 2919 > > > I added 'if' statement around the block to skip the block where > > GFP_NOIO is used for kernel space transmission. > > I don't really understand. How will this help? GFP_NOIO is used only when > it is needed or the IO could can deadlock on itself. > > Consider this: > > 1. URB for IO request to storage > 2. Handed to user space > 3. User space needs memory and causes kernel into laundering 4. kernel waits > for IO on storage device > > Regards > Oliver > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at > http://vger.kernel.org/majordomo-info.html ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥