Re: [net-next v3 05/15] net: cavium/liquidio: Convert tasklet API to new bottom half workqueue mechanism

From: Jakub Kicinski
Date: Thu Aug 01 2024 - 20:58:10 EST


On Thu, 1 Aug 2024 15:00:23 -0700 Allen wrote:
> > Could you shed some light in the cover letter or this patch why
> > tasklet_enable() is converted to enable_and_queue_work() at
> > the face of it those two do not appear to do the same thing?
>
> With the transition to workqueues, the implementation on the workqueue side is:
>
> tasklet_enable() -> enable_work() + queue_work()
>
> Ref: https://lore.kernel.org/all/20240227172852.2386358-7-tj@xxxxxxxxxx/
>
> enable_and_queue_work() is a helper which combines the two calls.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=474a549ff4c989427a14fdab851e562c8a63fe24
>
> Hope this answers your question.

To an extent. tj says "unconditionally scheduling the work item after
enable_work() returns %true should work for most users."
You need to include the explanation of the conversion not being 1:1
in the commit message, and provide some analysis why it's fine for this
user.