[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAA6KcBC0JHMtKj=35TQgtbnoJQQDAmcxp=NKJ8bBxbJPCNNadQ@mail.gmail.com>
Date: Thu, 28 Mar 2024 18:45:36 -0700
From: Matthew Dharm <mdharm-usb@...-eyed-alien.net>
To: Alan Stern <stern@...land.harvard.edu>
Cc: Norihiko Hama <norihiko.hama@...salpine.com>, Greg KH <gregkh@...uxfoundation.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"usb-storage@...ts.one-eyed-alien.net" <usb-storage@...ts.one-eyed-alien.net>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] usb-storage: Optimize scan delay more precisely
On Thu, Mar 28, 2024 at 9:18 AM Alan Stern <stern@...land.harvard.edu> wrote:
>
> On Thu, Mar 28, 2024 at 08:21:18AM -0700, Matthew Dharm wrote:
> > On Thu, Mar 28, 2024 at 7:51 AM Alan Stern <stern@...land.harvard.edu> wrote:
> > >
> > > 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.)
> >
> > What about just changing the parser on the currently delay_use
> > parameter to accept an optional suffix? If it's just digits, it is in
> > seconds. If it ends in "ms", then interpret it as milliseconds. This
> > would be backwards compatible with existing uses, give you the
> > flexibility you want, avoid adding another modules parameter, and
> > potentially be expandable in the future (if, for some reason, someone
> > wanted microseconds or kiloseconds).
>
> A little unconventional, I think (at least, I don't know offhand of any
> other module parameters or sysfs attributes that work this way), but it
> would work.
Actually, I got the idea from the existing parameters such as "mem="
and similar, which accept K, M, or G as suffixes to denote the units
for the number. Credit where credit is due.
Matt
--
Matthew Dharm
Former Maintainer, USB Mass Storage driver for Linux
Powered by blists - more mailing lists