[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1630ebc3-b40e-31e3-1efa-67717e186b0a@acm.org>
Date: Fri, 30 Jul 2021 09:05:05 -0700
From: Bart Van Assche <bvanassche@....org>
To: Avri Altman <Avri.Altman@....com>,
Vincent Palomares <paillon@...gle.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>,
Jaegeuk Kim <jaegeuk@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Stanley Chu <stanley.chu@...iatek.com>,
Can Guo <cang@...eaurora.org>,
Asutosh Das <asutoshd@...eaurora.org>,
"Martin K . Petersen" <martin.petersen@...cle.com>
Subject: Re: [PATCH] scsi: ufs: Allow async suspend/resume callbacks
On 7/28/21 11:48 PM, Avri Altman wrote:
> Vincent wrote:
>> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
>> index b87ff68aa9aa..9ec5c308a0ea 100644
>> --- a/drivers/scsi/ufs/ufshcd.c
>> +++ b/drivers/scsi/ufs/ufshcd.c
>> @@ -9625,6 +9625,7 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem
>> *mmio_base, unsigned int irq)
>> async_schedule(ufshcd_async_scan, hba);
>> ufs_sysfs_add_nodes(hba->dev);
>>
>> + device_enable_async_suspend(dev);
>> return 0;
> Isn't device_enable_async_suspend is being called for each lun in scsi_sysfs_add_sdev Anyway?
Hi Avri,
Our measurements have shown that resume takes longer than it should with
encryption enabled. While suspending we change the power mode of the UFS
device to a mode in which it loses crypto keys. Restoring crypto keys
during resume (blk_ksm_reprogram_all_keys()) takes about 31 ms. This is
the long pole and takes much more time than resuming LUNs. This patch
makes UFS resume happen concurrently with resuming other devices in the
system instead of serializing it. Measurements have shown that this
patch significantly improves the time needed to resume an Android device.
Bart.
Powered by blists - more mailing lists