[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202008171246.80287CDCA@keescook>
Date: Mon, 17 Aug 2020 12:48:34 -0700
From: Kees Cook <keescook@...omium.org>
To: Jens Axboe <axboe@...nel.dk>
Cc: Allen Pais <allen.cryptic@...il.com>, jdike@...toit.com,
richard@....at, anton.ivanov@...bridgegreys.com, 3chas3@...il.com,
stefanr@...6.in-berlin.de, airlied@...ux.ie, daniel@...ll.ch,
sre@...nel.org, James.Bottomley@...senPartnership.com,
kys@...rosoft.com, deller@....de, dmitry.torokhov@...il.com,
jassisinghbrar@...il.com, shawnguo@...nel.org,
s.hauer@...gutronix.de, maximlevitsky@...il.com, oakad@...oo.com,
ulf.hansson@...aro.org, mporter@...nel.crashing.org,
alex.bou9@...il.com, broonie@...nel.org, martyn@...chs.me.uk,
manohar.vanga@...il.com, mitch@...oth.com, davem@...emloft.net,
kuba@...nel.org, linux-um@...ts.infradead.org,
linux-kernel@...r.kernel.org,
linux-atm-general@...ts.sourceforge.net, netdev@...r.kernel.org,
linux-block@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
openipmi-developer@...ts.sourceforge.net,
linux1394-devel@...ts.sourceforge.net,
intel-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-hyperv@...r.kernel.org, linux-parisc@...r.kernel.org,
linux-input@...r.kernel.org, linux-mmc@...r.kernel.org,
linux-ntb@...glegroups.com, linux-s390@...r.kernel.org,
linux-spi@...r.kernel.org, devel@...verdev.osuosl.org,
Allen Pais <allen.lkml@...il.com>,
Romain Perier <romain.perier@...il.com>
Subject: Re: [PATCH] block: convert tasklets to use new tasklet_setup() API
On Mon, Aug 17, 2020 at 12:44:34PM -0700, Jens Axboe wrote:
> On 8/17/20 12:29 PM, Kees Cook wrote:
> > On Mon, Aug 17, 2020 at 06:56:47AM -0700, Jens Axboe wrote:
> >> On 8/17/20 2:15 AM, Allen Pais wrote:
> >>> From: Allen Pais <allen.lkml@...il.com>
> >>>
> >>> In preparation for unconditionally passing the
> >>> struct tasklet_struct pointer to all tasklet
> >>> callbacks, switch to using the new tasklet_setup()
> >>> and from_tasklet() to pass the tasklet pointer explicitly.
> >>
> >> Who came up with the idea to add a macro 'from_tasklet' that is just
> >> container_of? container_of in the code would be _much_ more readable,
> >> and not leave anyone guessing wtf from_tasklet is doing.
> >>
> >> I'd fix that up now before everything else goes in...
> >
> > As I mentioned in the other thread, I think this makes things much more
> > readable. It's the same thing that the timer_struct conversion did
> > (added a container_of wrapper) to avoid the ever-repeating use of
> > typeof(), long lines, etc.
>
> But then it should use a generic name, instead of each sub-system using
> some random name that makes people look up exactly what it does. I'm not
> huge fan of the container_of() redundancy, but adding private variants
> of this doesn't seem like the best way forward. Let's have a generic
> helper that does this, and use it everywhere.
I'm open to suggestions, but as things stand, these kinds of treewide
changes end up getting whole-release delays because of the need to have
the API in place for everyone before patches to do the changes can be
sent to multiple maintainers, etc.
--
Kees Cook
Powered by blists - more mailing lists