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.