Re: [PATCH] usb-storage: Optimize scan delay more precisely
From: Alan Stern
Date: Thu Mar 28 2024 - 10:52:09 EST
On Thu, Mar 28, 2024 at 03:04:47AM +0000, Norihiko Hama wrote:
> > On Wed, Mar 27, 2024 at 07:39:55AM +0000, Norihiko Hama wrote:
> > > > Sorry, but module parameters are from the 1990's, we will not go back to that if at all possible as it's not easy to maintain and will not work properly for multiple devices.
> > > >
> > > > I can understand wanting something between 1 and 0 seconds, but adding yet-another-option isn't probably the best way, sorry.
> > > 1 second does not meet with performance requirement.
> > > I have no good idea except module parameter so that we can maintain backward compatibility but be configurable out of module.
> > > Do you have any other better solution?
> >
> > Can you accomplish what you want with a quirk flag?
>
> I think that it's hard to do that because 'quirk' is specified for a device
> but it's difficult to identify the devices to make quirk, especially for future introduced devices.
>
> Can we change the design of existing 'delay_use' ?
> For example, 'delay_use' is 32-bit value and the value "1000 secs" does not make sense to set it,
> So if it's set to '1100', it's treated as "100 / 1000 = 0.1 sec". Is this possible?
Here's an approach that Greg might accept.
Since we already have a delay_use module parameter, we could add a
delay_use_ms parameter. The two module parameters would display the
same value, but delay_use_ms would be in milliseconds instead of in
seconds. (This is similar to what we did for the autosuspend and
autosuspend_delay_ms sysfs attributes.)
To make it work, you would have to add the new module parameter and
store its value in milliseconds. You would also have to change the
existing module_param() definition for delay_use to module_param_cb() so
that the get/set routines could divide/multiply the
delay_use_ms/user-specified value by 1000 to convert to/from seconds.
When you write the patch, don't forget to update
Documentation/admin-guide/kernel-parameters.txt.
Alan Stern