[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ft6buh2oquxdygzxzobfmnjnatpuf6k6eetjtlqi2o3myv5qu3@vdt3t2yyprsv>
Date: Tue, 13 May 2025 20:38:57 -0700
From: Josh Poimboeuf <jpoimboe@...nel.org>
To: Kent Overstreet <kent.overstreet@...ux.dev>
Cc: linux-kernel@...r.kernel.org, Luis Chamberlain <mcgrof@...nel.org>,
Petr Pavlu <petr.pavlu@...e.com>, Sami Tolvanen <samitolvanen@...gle.com>,
Daniel Gomez <da.gomez@...sung.com>, linux-modules@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>, Jason Baron <jbaron@...mai.com>,
Steven Rostedt <rostedt@...dmis.org>, Ard Biesheuvel <ardb@...nel.org>
Subject: Re: [PATCH v2] params: Add support for static keys
On Tue, May 13, 2025 at 08:44:49PM -0400, Kent Overstreet wrote:
> On Tue, May 13, 2025 at 05:37:11PM -0700, Josh Poimboeuf wrote:
> > On Tue, May 13, 2025 at 07:34:59PM -0400, Kent Overstreet wrote:
> > > On Tue, May 13, 2025 at 02:24:46PM -0700, Josh Poimboeuf wrote:
> > > > > +++ b/include/linux/moduleparam.h
> > > > > @@ -122,6 +122,7 @@ struct kparam_array
> > > > > * charp: a character pointer
> > > > > * bool: a bool, values 0/1, y/n, Y/N.
> > > > > * invbool: the above, only sense-reversed (N = true).
> > > > > + * static_key_t: same as bool, but updates a 'struct static_key'
> > > >
> > > > The static_key_*() interfaces are deprecated because they're really easy
> > > > to use incorrectly. I don't think we want to propagate that misuse to
> > > > modules.
> > > >
> > > > It would be better to have type(s) based on static_key_false and/or
> > > > static_key_true, depending on whatever the default is.
> > >
> > > Except those are just wrappers around struct static_key, so why does
> > > that matter here?
> >
> > Those struct wrappers are needed to work with static_branch_likely() and
> > static_branch_unlikely().
>
> Sure, but this has no bearing on that - unless I've missed them, there
> aren't separate methods for just setting and checking the value, which
> is all we're doing here.
To make use of this feature, wouldn't the module need to use
static_key_false() or so to actually insert the static branch to check
the value? Otherwise what's the point of using static keys here?
--
Josh
Powered by blists - more mailing lists