Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755308Ab2BFPNj (ORCPT ); Mon, 6 Feb 2012 10:13:39 -0500 Received: from iolanthe.rowland.org ([192.131.102.54]:44702 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1754544Ab2BFPNi (ORCPT ); Mon, 6 Feb 2012 10:13:38 -0500 Date: Mon, 6 Feb 2012 10:13:37 -0500 (EST) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Huang Ying cc: ming.m.lin@intel.com, , , , "Rafael J. Wysocki" , James Bottomley Subject: Re: [RFC 0/5] scsi, sd, pm, request based runtime PM for scsi disk In-Reply-To: <1328513548-19786-1-git-send-email-ying.huang@intel.com> 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: 1557 Lines: 36 On Mon, 6 Feb 2012, Huang Ying wrote: > SSD becomes more and more popular, this makes it possible to put disk into > low power state more often. And request based runtime PM for scsi disk is > more useful than open/close based one because disk is normally mounted at > most time. > > One known issue, because SCSI TEST_UNIT_READY will be put into request > queue every 2 seconds by default, this makes it hard for disk to sleep. > Maybe we can implement check_events callback in some other way? > > [RFC 1/5] pm, runtime, Add resume notifier > [RFC 2/5] scsi, pm, rename scsi_autopm_get/put_xxx to > [RFC 3/5] scsi, pm, add pm_runtime_get/put in scsi request > [RFC 4/5] scsi, pm, use autosuspend for scsi runtime PM > [RFC 5/5] scsi, sd, pm, request based runtime PM support Your whole approach is at the wrong level. Runtime PM between I/O requests for block devices should be implemented in the block layer, not in the SCSI layer. It also is much more difficult than your patches would indicate. For example, some USB card readers indicate a media change every time they resume; therefore they must not be suspended while the device file is open. Another difficulty arises because some drivers need to send SCSI commands (such as SYNCHRONIZE CACHE) _while_ suspending or resuming. 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/