Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934505Ab2JaPlL (ORCPT ); Wed, 31 Oct 2012 11:41:11 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:43492 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1757942Ab2JaPlI (ORCPT ); Wed, 31 Oct 2012 11:41:08 -0400 Date: Wed, 31 Oct 2012 11:41:07 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Ming Lei cc: Oliver Neukum , , Minchan Kim , Greg Kroah-Hartman , "Rafael J. Wysocki" , Jens Axboe , "David S. Miller" , Andrew Morton , , , , Subject: Re: [PATCH v3 2/6] PM / Runtime: introduce pm_runtime_set[get]_memalloc_noio() In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1204 Lines: 33 On Wed, 31 Oct 2012, Alan Stern wrote: > On Wed, 31 Oct 2012, Ming Lei wrote: > > > The below idea may help the problem which 'memalloc_noio' flag isn't set during > > usb_reset_device(). > > > > - for usb mass storage device, call pm_runtime_set_memalloc_noio(true) > > inside usb_stor_probe2() and uas_probe(), and call > > pm_runtime_set_memalloc_noio(false) inside uas_disconnect() > > and usb_stor_disconnect(). > > Why would you want to do that? The probe and disconnect routines > usually -- but not always -- run in the khubd thread. Surely you don't > want to prevent khubd from using GFP_KERNEL? > > And what if probe runs in khubd but disconnect runs in a different > thread? Sorry, I misread your message. You are setting the device's flag, not the thread's flag. This still doesn't help in this case where CONFIG_PM_RUNTIME is disabled. I think it will be simpler to set the noio flag during every device reset. Alan Stern -- 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/