Re: [RESENT PATCH RFC v3 5/5] scsi: ufs: UFS Host Performance Booster(HPB) driver

From: Bean Huo
Date: Fri May 08 2020 - 10:45:02 EST


On Thu, 2020-05-07 at 20:21 -0700, Bart Van Assche wrote:
> On 2020-05-04 07:20, huobean@xxxxxxxxx wrote:
> > +config SCSI_UFSHPB
> > + bool "UFS Host Performance Booster (EXPERIMENTAL)"
> > + depends on SCSI_UFSHCD
> > + [ ... ]
> > +
> > +config UFSHPB_MAX_MEM_SIZE
> > + int "UFS HPB maximum memory size per controller (in MiB)"
> > + depends on SCSI_UFSHPB
> > + default 128
> > + range 0 65536
> > + [ ... ]
>
> Kernel module parameters are an inflexible mechanism because the
> value
> of these parameters cannot be changed without rebuilding the kernel
> followed by a reboot. Has it been considered to make these two
> parameters configurable through sysfs? Has it been considered to make
> these parameters UFS device parameters instead of global parameters
> that
> apply to all UFS devices?
>
>
Hi Bart
I ever tried these two approaches. let me explain why I finally choose
kernel module "make menuconfig" way.

1: driver module parameter, while system booting, specify maximum HPB
cache size in kernel boot Parameters:

static int max_hpb_mem = 128;
module_param(max_hpb_mem,int,0444);

but this paramter is added in the ufshcd.c since the ufshpb.c is not a
independent module. looks not very natural.


2: sysfs parameters

This is a feasible option. we can enable HPB after system boot up,
also, change the HPB cache maximum size.
this is the same with the current way, moreover, we don't want user to
change HPB cache size while HPB is running.


If you prefer to convert current HPB driver to be a kernel module
driver, I prefer first apporach.


thanks,

Bean