[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <df645c06-c30b-eafa-4d23-826b84f2ff48@kernel.dk>
Date: Mon, 17 Aug 2020 13:02:17 -0700
From: Jens Axboe <axboe@...nel.dk>
To: Kees Cook <keescook@...omium.org>
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 8/17/20 12:48 PM, Kees Cook wrote:
> 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
On naming? Implementation is just as it stands, from_tasklet() is
totally generic which is why I objected to it. from_member()? Not great
with naming... But I can see this going further and then we'll suddenly
have tons of these. It's not good for readability.
> 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.
Sure, that's always true of treewide changes like that.
--
Jens Axboe
Powered by blists - more mailing lists