From patchwork Thu Nov 7 01:57:49 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phillip Susi X-Patchwork-Id: 289114 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 871EB2C0199 for ; Thu, 7 Nov 2013 12:57:54 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752999Ab3KGB5x (ORCPT ); Wed, 6 Nov 2013 20:57:53 -0500 Received: from cdptpa-omtalb.mail.rr.com ([75.180.132.120]:36806 "EHLO cdptpa-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751781Ab3KGB5w (ORCPT ); Wed, 6 Nov 2013 20:57:52 -0500 X-Authority-Analysis: v=2.0 cv=UpLhxpMB c=1 sm=0 a=3SewDSjaRW4vdJyuxQ33ZQ==:17 a=DeBnktw0k-IA:10 a=Z79XOBzym8IA:10 a=S1A5HrydsesA:10 a=fxJcL_dCAAAA:8 a=KGjhK52YXX0A:10 a=jZSv1eYasZgA:10 a=0QArZA3Eb-7z8csKKJkA:9 a=3SewDSjaRW4vdJyuxQ33ZQ==:117 X-Cloudmark-Score: 0 X-Authenticated-User: X-Originating-IP: 72.238.73.171 Received: from [72.238.73.171] ([72.238.73.171:58056] helo=localhost.localdomain) by cdptpa-oedge04.mail.rr.com (envelope-from ) (ecelerity 2.2.3.46 r()) with ESMTP id BF/48-07922-F93FA725; Thu, 07 Nov 2013 01:57:51 +0000 From: Phillip Susi To: todd.e.brandt@linux.intel.com, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org Cc: tj@kernel.org, JBottomley@parallels.com Subject: [PATCH 1/3] sd: don't bother spinning up disks on resume Date: Wed, 6 Nov 2013 20:57:49 -0500 Message-Id: <927e15641f27b46f206f8ae8110201c8fd77b7e1.1383789225.git.psusi@ubuntu.com> X-Mailer: git-send-email 1.8.3.2 In-Reply-To: <527AF287.7020700@ubuntu.com> References: <527AF287.7020700@ubuntu.com> Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org Don't bother forcing disks to spin up on resume, as they will do so automatically when accessed, and forcing them to spin up slows down the resume. Add a second bit to the manage_start_stop flag to restore the previous behavior. --- drivers/scsi/sd.c | 6 +++--- include/scsi/scsi_device.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index e62d17d..3143311 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -3083,7 +3083,7 @@ static void sd_shutdown(struct device *dev) sd_sync_cache(sdkp); } - if (system_state != SYSTEM_RESTART && sdkp->device->manage_start_stop) { + if (system_state != SYSTEM_RESTART && (sdkp->device->manage_start_stop & 1)) { sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n"); sd_start_stop_device(sdkp, 0); } @@ -3107,7 +3107,7 @@ static int sd_suspend(struct device *dev) goto done; } - if (sdkp->device->manage_start_stop) { + if (sdkp->device->manage_start_stop & 1) { sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n"); ret = sd_start_stop_device(sdkp, 0); } @@ -3122,7 +3122,7 @@ static int sd_resume(struct device *dev) struct scsi_disk *sdkp = scsi_disk_get_from_dev(dev); int ret = 0; - if (!sdkp->device->manage_start_stop) + if (!(sdkp->device->manage_start_stop & 2)) goto done; sd_printk(KERN_NOTICE, sdkp, "Starting disk\n"); diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index d65fbec..1c46d2d 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -152,7 +152,7 @@ struct scsi_device { unsigned use_192_bytes_for_3f:1; /* ask for 192 bytes from page 0x3f */ unsigned no_start_on_add:1; /* do not issue start on add */ unsigned allow_restart:1; /* issue START_UNIT in error handler */ - unsigned manage_start_stop:1; /* Let HLD (sd) manage start/stop */ + unsigned manage_start_stop:2; /* Let HLD (sd) manage start/stop */ unsigned start_stop_pwr_cond:1; /* Set power cond. in START_STOP_UNIT */ unsigned no_uld_attach:1; /* disable connecting to upper level drivers */ unsigned select_no_atn:1;