Re: [PATCH v2] scsi: ufs: Implement Auto-Hibern8 setup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Michal,

Please configure your e-mail client such that it inserts a "On $(date) $(author)
wrote:" line in replies. As one can see below that line is missing from your
replies.

On Thu, 2017-07-27 at 09:15 +0000, Potomski, MichalX wrote:
> > On Tue, 2017-07-25 at 16:54 +0000, Potomski, MichalX wrote:
> > > On Tue, 2017-07-25 at 15:30 +0000, Bart Van Assche wrote:
> > > > Since I'm not familiar with the Auto-Hibern8 feature: what impact
> > > > does it have on command processing? Does it e.g. cause SCSI or TMF
> > > > commands that are sent to the UFS device to be ignored, to fail or
> > > > to time out?
> > > 
> > > Actually behavior should be transparent for all of the higher layers,
> > > since this shall be fully controlled by UFS Host, which will put UFS
> > > Device to Hibern8 state, when it has no ongoing commands to it for set
> > > up time. If there will be any command UFS Host should order the Device to exit
> > 
> > Hibern8 mode and proceed normally.
> > > 
> > > Bottom line is that in model case, it shouldn't cause any of errors mentioned
> > 
> > by you.
> > > There is possible throughput degradation in case, if transfers are
> > > sporadic in terms of timer, which we did set up, though. According to
> > > specification it also shouldn't affect
> > > Hibern8 states triggered by Power Management, nor any other functionality.
> > 
> > Hello Michal,
> > 
> > SCSI requests can not only be initiated by user space but also by the kernel itself.
> > Are SCSI UFS devices controlled by the SCSI disk (sd) driver? Will SCSI requests
> > submitted by sd_check_events() to a hibernated UFS device time out and
> > activate the SCSI error handler?
> 
> Hello Bart,
> 
> Technically according to JESD220B UFS 2.0 spec, available on jedec.com website,
> this feature should work autonomously. It means, that when Device will be
> put in Hibern8 state by the host in Auto-Hibern8 procedure, actions other than
> reading DME Hibern8 status will cause Host to pull the Device out of Hibern8 state
> and proceed normally. Since all requests to the Device go through Host, then
> in theory it shouldn't interfere with any request made by anyone. Obviously it
> fully depends on the UFS Host and how it implements this feature. It all bases on
> trust, that if anyone flagged such capability in Host, did his job well and implemented
> feature correctly.
> 
> Just to answer your questions in short manner:
>  - Yes, it is controlled by SCSI disk driver.
>  - No, if implemented correctly in Host it shouldn't time out any requests. For other
>    cases we can have quirks, to disable such feature for Hosts that do not support this
>    correctly (despite of being flagged with capability to do so).

If the polling that is performed by the sd driver is not stopped when a UFS
device is hibernated then that polling (sd_check_events()) will wake up a UFS
drive from the hibernated state. Shouldn't sd/sr polling be suspended while a
UFS device is in the hibernated state?

Thanks,

Bart.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux