Re: [PATCH v10 17/18] scsi: ufs: Forbid auto-hibernation without I/O scheduler

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

 




On 8/19/2023 3:34 AM, Bart Van Assche wrote:
UFSHCI 3.0 controllers do not preserve the write order if auto-hibernation
is enabled. If the write order is not preserved, an I/O scheduler is
required to serialize zoned writes. Hence do not allow auto-hibernation
to be enabled without I/O scheduler if a zoned logical unit is present
and if the controller is operating in legacy mode. This patch has been
tested with the following shell script:

     show_ah8() {
         echo -n "auto_hibern8: "
         adb shell "cat /sys/devices/platform/13200000.ufs/auto_hibern8"
     }

     set_ah8() {
         local rc
         adb shell "echo $1 > /sys/devices/platform/13200000.ufs/auto_hibern8"
         rc=$?
         show_ah8
         return $rc
     }

     set_iosched() {
         adb shell "echo $1 >/sys/class/block/$zoned_bdev/queue/scheduler &&
     	           echo -n 'I/O scheduler: ' &&
	           cat /sys/class/block/sde/queue/scheduler"
     }

     adb root
     zoned_bdev=$(adb shell grep -lvw 0 /sys/class/block/sd*/queue/chunk_sectors |&
	         sed 's|/sys/class/block/||g;s|/queue/chunk_sectors||g')
     [ -n "$zoned_bdev" ]
     show_ah8
     set_ah8 0
     set_iosched none
     if set_ah8 150000; then
         echo "Error: enabled AH8 without I/O scheduler"
     fi
     set_iosched mq-deadline
     set_ah8 150000

Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Cc: Can Guo <quic_cang@xxxxxxxxxxx>
Cc: Avri Altman <avri.altman@xxxxxxx>
Cc: Bao D. Nguyen <quic_nguyenb@xxxxxxxxxxx>
Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
---
  drivers/ufs/core/ufshcd.c | 58 +++++++++++++++++++++++++++++++++++++++
  1 file changed, 58 insertions(+)

Reviewed-by: Can Guo <quic_cang@xxxxxxxxxxx>




[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