Re: [PATCH v31 4/4] scsi: ufs: Add HPB 2.0 support
On 3/25/21 7:55 PM, Daejun Park wrote: >> Please address it in next version. After that, I will give my >> reviewed-by tag. > > OK, I will do. Hi, Please trim emails when replying. Otherwise it is very hard to follow a conversation. It took me plenty of scrolling to find the above reply. Thanks, Bart.
RE: Re: [PATCH v31 4/4] scsi: ufs: Add HPB 2.0 support
> On 2021-03-25 08:47, Daejun Park wrote: > >> On 2021-03-22 14:55, Daejun Park wrote: > >> > This patch supports the HPB 2.0. > >> > > >> > The HPB 2.0 supports read of varying sizes from 4KB to 512KB. > >> > In the case of Read (<= 32KB) is supported as single HPB read. > >> > In the case of Read (36KB ~ 512KB) is supported by as a combination of > >> > write buffer command and HPB read command to deliver more PPN. > >> > The write buffer commands may not be issued immediately due to busy > >> > tags. > >> > To use HPB read more aggressively, the driver can requeue the write > >> > buffer > >> > command. The requeue threshold is implemented as timeout and can be > >> > modified with requeue_timeout_ms entry in sysfs. > >> > > >> > Signed-off-by: Daejun Park > >> > --- > >> > Documentation/ABI/testing/sysfs-driver-ufs | 47 +- > >> > drivers/scsi/ufs/ufs-sysfs.c | 4 + > >> > drivers/scsi/ufs/ufs.h | 3 +- > >> > drivers/scsi/ufs/ufshcd.c | 25 +- > >> > drivers/scsi/ufs/ufshcd.h | 7 + > >> > drivers/scsi/ufs/ufshpb.c | 626 +++-- > >> > drivers/scsi/ufs/ufshpb.h | 67 ++- > >> > 7 files changed, 698 insertions(+), 81 deletions(-) > >> > > >> > diff --git a/Documentation/ABI/testing/sysfs-driver-ufs > >> > b/Documentation/ABI/testing/sysfs-driver-ufs > >> > index 528bf89fc98b..419adf450b89 100644 > >> > --- a/Documentation/ABI/testing/sysfs-driver-ufs > >> > +++ b/Documentation/ABI/testing/sysfs-driver-ufs > >> > @@ -1253,14 +1253,14 @@ Description:This entry shows the number > >> > of > >> > HPB pinned regions assigned to > >> > > >> > The file is read only. > >> > > >> > -What:/sys/class/scsi_device/*/device/hpb_sysfs/hit_cnt > >> > +What: > >> > /sys/class/scsi_device/*/device/hpb_stat_sysfs/hit_cnt > >> > Date:March 2021 > >> > Contact:Daejun Park > >> > Description:This entry shows the number of reads that changed > >> > to HPB > >> > read. > >> > > >> > The file is read only. > >> > > >> > -What:/sys/class/scsi_device/*/device/hpb_sysfs/miss_cnt > >> > +What: > >> > /sys/class/scsi_device/*/device/hpb_stat_sysfs/miss_cnt > >> > Date:March 2021 > >> > Contact:Daejun Park > >> > Description:This entry shows the number of reads that cannot be > >> > changed to > >> > @@ -1268,7 +1268,7 @@ Description:This entry shows the number of > >> > reads that cannot be changed to > >> > > >> > The file is read only. > >> > > >> > -What: > >> > /sys/class/scsi_device/*/device/hpb_sysfs/rb_noti_cnt > >> > +What: > >> > /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_noti_cnt > >> > Date:March 2021 > >> > Contact:Daejun Park > >> > Description:This entry shows the number of response UPIUs that > >> > has > >> > @@ -1276,7 +1276,7 @@ Description:This entry shows the number of > >> > response UPIUs that has > >> > > >> > The file is read only. > >> > > >> > -What: > >> > /sys/class/scsi_device/*/device/hpb_sysfs/rb_active_cnt > >> > +What: > >> > /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_active_cnt > >> > Date:March 2021 > >> > Contact:Daejun Park > >> > Description:This entry shows the number of active sub-regions > >> > recommended by > >> > @@ -1284,7 +1284,7 @@ Description:This entry shows the number of > >> > active sub-regions recommended by > >> > > >> > The file is read only. > >> > > >> > -What: > >> > /sys/class/scsi_device/*/device/hpb_sysfs/rb_inactive_cnt > >> > +What: > >> > /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_inactive_cnt > >> > Date:March 2021 > >> > Contact:Daejun Park > >> > Description:This entry shows the number of inactive regions > >> > recommended by > >> > @@ -1292,10 +1292,45 @@ Description:This entry shows the number > >> > of > >> > inactive regions recommended by > >> > > >> > The file is read only. > >> > > >> > -What: > >> > /sys/class/scsi_device/*/device/hpb_sysfs/map_req_cnt > >> > +What: > >> > /sys/class/scsi_device/*/device/hpb_stat_sysfs/map_req_cnt > >> > Date:March 2021 > >> > Contact:Daejun Park > >> > Description:This entry shows the number of read buffer commands > >> > for > >> > activating sub-regions recommended by response UPIUs. > >> > > >> > The file is read only. > >> > + > >> > +What: > >> > /sys/class/scsi_device/*/device/hpb_param_sysfs/requeue_timeout_ms > >> > +Date:March 2021 > >> > +Contact:
Re: [PATCH v31 4/4] scsi: ufs: Add HPB 2.0 support
On 2021-03-25 08:47, Daejun Park wrote: On 2021-03-22 14:55, Daejun Park wrote: > This patch supports the HPB 2.0. > > The HPB 2.0 supports read of varying sizes from 4KB to 512KB. > In the case of Read (<= 32KB) is supported as single HPB read. > In the case of Read (36KB ~ 512KB) is supported by as a combination of > write buffer command and HPB read command to deliver more PPN. > The write buffer commands may not be issued immediately due to busy > tags. > To use HPB read more aggressively, the driver can requeue the write > buffer > command. The requeue threshold is implemented as timeout and can be > modified with requeue_timeout_ms entry in sysfs. > > Signed-off-by: Daejun Park > --- > Documentation/ABI/testing/sysfs-driver-ufs | 47 +- > drivers/scsi/ufs/ufs-sysfs.c | 4 + > drivers/scsi/ufs/ufs.h | 3 +- > drivers/scsi/ufs/ufshcd.c | 25 +- > drivers/scsi/ufs/ufshcd.h | 7 + > drivers/scsi/ufs/ufshpb.c | 626 +++-- > drivers/scsi/ufs/ufshpb.h | 67 ++- > 7 files changed, 698 insertions(+), 81 deletions(-) > > diff --git a/Documentation/ABI/testing/sysfs-driver-ufs > b/Documentation/ABI/testing/sysfs-driver-ufs > index 528bf89fc98b..419adf450b89 100644 > --- a/Documentation/ABI/testing/sysfs-driver-ufs > +++ b/Documentation/ABI/testing/sysfs-driver-ufs > @@ -1253,14 +1253,14 @@ Description:This entry shows the number of > HPB pinned regions assigned to > > The file is read only. > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/hit_cnt > +What:/sys/class/scsi_device/*/device/hpb_stat_sysfs/hit_cnt > Date:March 2021 > Contact:Daejun Park > Description:This entry shows the number of reads that changed to HPB > read. > > The file is read only. > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/miss_cnt > +What:/sys/class/scsi_device/*/device/hpb_stat_sysfs/miss_cnt > Date:March 2021 > Contact:Daejun Park > Description:This entry shows the number of reads that cannot be > changed to > @@ -1268,7 +1268,7 @@ Description:This entry shows the number of > reads that cannot be changed to > > The file is read only. > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/rb_noti_cnt > +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_noti_cnt > Date:March 2021 > Contact:Daejun Park > Description:This entry shows the number of response UPIUs that has > @@ -1276,7 +1276,7 @@ Description:This entry shows the number of > response UPIUs that has > > The file is read only. > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/rb_active_cnt > +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_active_cnt > Date:March 2021 > Contact:Daejun Park > Description:This entry shows the number of active sub-regions > recommended by > @@ -1284,7 +1284,7 @@ Description:This entry shows the number of > active sub-regions recommended by > > The file is read only. > > -What: /sys/class/scsi_device/*/device/hpb_sysfs/rb_inactive_cnt > +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_inactive_cnt > Date:March 2021 > Contact:Daejun Park > Description:This entry shows the number of inactive regions > recommended by > @@ -1292,10 +1292,45 @@ Description:This entry shows the number of > inactive regions recommended by > > The file is read only. > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/map_req_cnt > +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/map_req_cnt > Date:March 2021 > Contact:Daejun Park > Description:This entry shows the number of read buffer commands for > activating sub-regions recommended by response UPIUs. > > The file is read only. > + > +What: /sys/class/scsi_device/*/device/hpb_param_sysfs/requeue_timeout_ms > +Date:March 2021 > +Contact:Daejun Park > +Description:This entry shows the requeue timeout threshold for write > buffer > +command in ms. This value can be changed by writing proper integer > to > +this entry. > + > +What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd > +Date:March 2021 > +Contact:Daejun Park > +Description:This entry shows the maximum HPB data size for using > single HPB > +command. > + > +=== > +00h 4KB > +01h 8KB > +
RE: Re: [PATCH v31 4/4] scsi: ufs: Add HPB 2.0 support
> On 2021-03-22 14:55, Daejun Park wrote: > > This patch supports the HPB 2.0. > > > > The HPB 2.0 supports read of varying sizes from 4KB to 512KB. > > In the case of Read (<= 32KB) is supported as single HPB read. > > In the case of Read (36KB ~ 512KB) is supported by as a combination of > > write buffer command and HPB read command to deliver more PPN. > > The write buffer commands may not be issued immediately due to busy > > tags. > > To use HPB read more aggressively, the driver can requeue the write > > buffer > > command. The requeue threshold is implemented as timeout and can be > > modified with requeue_timeout_ms entry in sysfs. > > > > Signed-off-by: Daejun Park > > --- > > Documentation/ABI/testing/sysfs-driver-ufs | 47 +- > > drivers/scsi/ufs/ufs-sysfs.c | 4 + > > drivers/scsi/ufs/ufs.h | 3 +- > > drivers/scsi/ufs/ufshcd.c | 25 +- > > drivers/scsi/ufs/ufshcd.h | 7 + > > drivers/scsi/ufs/ufshpb.c | 626 +++-- > > drivers/scsi/ufs/ufshpb.h | 67 ++- > > 7 files changed, 698 insertions(+), 81 deletions(-) > > > > diff --git a/Documentation/ABI/testing/sysfs-driver-ufs > > b/Documentation/ABI/testing/sysfs-driver-ufs > > index 528bf89fc98b..419adf450b89 100644 > > --- a/Documentation/ABI/testing/sysfs-driver-ufs > > +++ b/Documentation/ABI/testing/sysfs-driver-ufs > > @@ -1253,14 +1253,14 @@ Description:This entry shows the number of > > HPB pinned regions assigned to > > > > The file is read only. > > > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/hit_cnt > > +What:/sys/class/scsi_device/*/device/hpb_stat_sysfs/hit_cnt > > Date:March 2021 > > Contact:Daejun Park > > Description:This entry shows the number of reads that changed to > > HPB > > read. > > > > The file is read only. > > > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/miss_cnt > > +What: > > /sys/class/scsi_device/*/device/hpb_stat_sysfs/miss_cnt > > Date:March 2021 > > Contact:Daejun Park > > Description:This entry shows the number of reads that cannot be > > changed to > > @@ -1268,7 +1268,7 @@ Description:This entry shows the number of > > reads that cannot be changed to > > > > The file is read only. > > > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/rb_noti_cnt > > +What: > > /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_noti_cnt > > Date:March 2021 > > Contact:Daejun Park > > Description:This entry shows the number of response UPIUs that has > > @@ -1276,7 +1276,7 @@ Description:This entry shows the number of > > response UPIUs that has > > > > The file is read only. > > > > -What: > > /sys/class/scsi_device/*/device/hpb_sysfs/rb_active_cnt > > +What: > > /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_active_cnt > > Date:March 2021 > > Contact:Daejun Park > > Description:This entry shows the number of active sub-regions > > recommended by > > @@ -1284,7 +1284,7 @@ Description:This entry shows the number of > > active sub-regions recommended by > > > > The file is read only. > > > > -What: > > /sys/class/scsi_device/*/device/hpb_sysfs/rb_inactive_cnt > > +What: > > /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_inactive_cnt > > Date:March 2021 > > Contact:Daejun Park > > Description:This entry shows the number of inactive regions > > recommended by > > @@ -1292,10 +1292,45 @@ Description:This entry shows the number of > > inactive regions recommended by > > > > The file is read only. > > > > -What:/sys/class/scsi_device/*/device/hpb_sysfs/map_req_cnt > > +What: > > /sys/class/scsi_device/*/device/hpb_stat_sysfs/map_req_cnt > > Date:March 2021 > > Contact:Daejun Park > > Description:This entry shows the number of read buffer commands for > > activating sub-regions recommended by response UPIUs. > > > > The file is read only. > > + > > +What: > > /sys/class/scsi_device/*/device/hpb_param_sysfs/requeue_timeout_ms > > +Date:March 2021 > > +Contact:Daejun Park > > +Description:This entry shows the requeue timeout threshold for > > write > > buffer > > +command in ms. This value can be changed by writing proper > > integer > > to > > +this entry. > > + > > +What: > > /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd > > +Date:March 2021 > >
Re: [PATCH v31 4/4] scsi: ufs: Add HPB 2.0 support
On 2021-03-22 14:55, Daejun Park wrote: This patch supports the HPB 2.0. The HPB 2.0 supports read of varying sizes from 4KB to 512KB. In the case of Read (<= 32KB) is supported as single HPB read. In the case of Read (36KB ~ 512KB) is supported by as a combination of write buffer command and HPB read command to deliver more PPN. The write buffer commands may not be issued immediately due to busy tags. To use HPB read more aggressively, the driver can requeue the write buffer command. The requeue threshold is implemented as timeout and can be modified with requeue_timeout_ms entry in sysfs. Signed-off-by: Daejun Park --- Documentation/ABI/testing/sysfs-driver-ufs | 47 +- drivers/scsi/ufs/ufs-sysfs.c | 4 + drivers/scsi/ufs/ufs.h | 3 +- drivers/scsi/ufs/ufshcd.c | 25 +- drivers/scsi/ufs/ufshcd.h | 7 + drivers/scsi/ufs/ufshpb.c | 626 +++-- drivers/scsi/ufs/ufshpb.h | 67 ++- 7 files changed, 698 insertions(+), 81 deletions(-) diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs index 528bf89fc98b..419adf450b89 100644 --- a/Documentation/ABI/testing/sysfs-driver-ufs +++ b/Documentation/ABI/testing/sysfs-driver-ufs @@ -1253,14 +1253,14 @@ Description:This entry shows the number of HPB pinned regions assigned to The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/hit_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/hit_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of reads that changed to HPB read. The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/miss_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/miss_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of reads that cannot be changed to @@ -1268,7 +1268,7 @@ Description: This entry shows the number of reads that cannot be changed to The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/rb_noti_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_noti_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of response UPIUs that has @@ -1276,7 +1276,7 @@ Description: This entry shows the number of response UPIUs that has The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/rb_active_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_active_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of active sub-regions recommended by @@ -1284,7 +1284,7 @@ Description: This entry shows the number of active sub-regions recommended by The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/rb_inactive_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_inactive_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of inactive regions recommended by @@ -1292,10 +1292,45 @@ Description:This entry shows the number of inactive regions recommended by The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/map_req_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/map_req_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of read buffer commands for activating sub-regions recommended by response UPIUs. The file is read only. + +What: /sys/class/scsi_device/*/device/hpb_param_sysfs/requeue_timeout_ms +Date: March 2021 +Contact: Daejun Park +Description: This entry shows the requeue timeout threshold for write buffer + command in ms. This value can be changed by writing proper integer to + this entry. + +What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd +Date: March 2021 +Contact: Daejun Park +Description: This entry shows the maximum HPB data size for using single HPB + command. + + === + 00h 4KB + 01h 8KB + 02h 12KB + ... + FFh 1024KB + === + + The file is read only. + +What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable +Date: March 2021 +Contact: Daejun Park +Description: This entry shows the status of HPB. + + == + 0 HPB is not enabled. + 1 HPB is enabled + ==
[PATCH v31 4/4] scsi: ufs: Add HPB 2.0 support
This patch supports the HPB 2.0. The HPB 2.0 supports read of varying sizes from 4KB to 512KB. In the case of Read (<= 32KB) is supported as single HPB read. In the case of Read (36KB ~ 512KB) is supported by as a combination of write buffer command and HPB read command to deliver more PPN. The write buffer commands may not be issued immediately due to busy tags. To use HPB read more aggressively, the driver can requeue the write buffer command. The requeue threshold is implemented as timeout and can be modified with requeue_timeout_ms entry in sysfs. Signed-off-by: Daejun Park --- Documentation/ABI/testing/sysfs-driver-ufs | 47 +- drivers/scsi/ufs/ufs-sysfs.c | 4 + drivers/scsi/ufs/ufs.h | 3 +- drivers/scsi/ufs/ufshcd.c | 25 +- drivers/scsi/ufs/ufshcd.h | 7 + drivers/scsi/ufs/ufshpb.c | 626 +++-- drivers/scsi/ufs/ufshpb.h | 67 ++- 7 files changed, 698 insertions(+), 81 deletions(-) diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs index 528bf89fc98b..419adf450b89 100644 --- a/Documentation/ABI/testing/sysfs-driver-ufs +++ b/Documentation/ABI/testing/sysfs-driver-ufs @@ -1253,14 +1253,14 @@ Description:This entry shows the number of HPB pinned regions assigned to The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/hit_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/hit_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of reads that changed to HPB read. The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/miss_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/miss_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of reads that cannot be changed to @@ -1268,7 +1268,7 @@ Description: This entry shows the number of reads that cannot be changed to The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/rb_noti_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_noti_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of response UPIUs that has @@ -1276,7 +1276,7 @@ Description: This entry shows the number of response UPIUs that has The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/rb_active_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_active_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of active sub-regions recommended by @@ -1284,7 +1284,7 @@ Description: This entry shows the number of active sub-regions recommended by The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/rb_inactive_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/rb_inactive_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of inactive regions recommended by @@ -1292,10 +1292,45 @@ Description:This entry shows the number of inactive regions recommended by The file is read only. -What: /sys/class/scsi_device/*/device/hpb_sysfs/map_req_cnt +What: /sys/class/scsi_device/*/device/hpb_stat_sysfs/map_req_cnt Date: March 2021 Contact: Daejun Park Description: This entry shows the number of read buffer commands for activating sub-regions recommended by response UPIUs. The file is read only. + +What: /sys/class/scsi_device/*/device/hpb_param_sysfs/requeue_timeout_ms +Date: March 2021 +Contact: Daejun Park +Description: This entry shows the requeue timeout threshold for write buffer + command in ms. This value can be changed by writing proper integer to + this entry. + +What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd +Date: March 2021 +Contact: Daejun Park +Description: This entry shows the maximum HPB data size for using single HPB + command. + + === + 00h 4KB + 01h 8KB + 02h 12KB + ... + FFh 1024KB + === + + The file is read only. + +What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable +Date: March 2021 +Contact: Daejun Park +Description: This entry shows the status of HPB. + + == + 0 HPB is not enabled. + 1 HPB is enabled + == + +