public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org,
	allen.lkml@gmail.com, kernel-team@meta.com
Subject: Re: [PATCH 1/7] workqueue: Preserve OFFQ bits in cancel[_sync] paths
Date: Wed, 21 Feb 2024 22:05:16 -1000	[thread overview]
Message-ID: <ZdcAPKtxgw2ZUVFn@slm.duckdns.org> (raw)
In-Reply-To: <CAJhGHyBgjMWtob2VRWhxCRyNuUVMzSEQufza5TRn7Cw-hBaQ3Q@mail.gmail.com>

On Thu, Feb 22, 2024 at 12:35:31PM +0800, Lai Jiangshan wrote:
> Hello,
> 
> On Thu, Feb 22, 2024 at 1:43 AM Tejun Heo <tj@kernel.org> wrote:
> 
> >
> >  /* Convenience constants - of type 'unsigned long', not 'enum'! */
> >  #define WORK_OFFQ_CANCELING    (1ul << WORK_OFFQ_CANCELING_BIT)
> > +#define WORK_OFFQ_FLAG_MASK    (((1ul << WORK_OFFQ_FLAG_BITS) - 1) << WORK_OFFQ_FLAG_SHIFT)
> 
> It can use GENMASK.

So, that'd be

 GENMASK(WORK_OFFQ_FLAG_SHIFT + WORK_OFFQ_FLAG_BITS - 1, WORK_OFFQ_FLAG_SHIFT)

I'm not quite sure that's an improvement. It's longer and more indirect -
the open coded one says "BITS number of 1's shifted by SHIFT", which is
shorter and easier to comprehend.

Another thing is that none of the other masks fits GENMASK either. The only
other candidate is WORK_STRUCT_PWQ_MASK but the number of bits in that mask
depends on the size of ulong, so it can't use GENMASK.

I don't think using GENMASK would be an improvement here.

Thanks.

-- 
tejun

  reply	other threads:[~2024-02-22  8:05 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-21 17:42 [PATCHSET v2 wq/6.10] workqueue: Implement disable/enable_work() Tejun Heo
2024-02-21 17:42 ` [PATCH 1/7] workqueue: Preserve OFFQ bits in cancel[_sync] paths Tejun Heo
2024-02-22  4:35   ` Lai Jiangshan
2024-02-22  8:05     ` Tejun Heo [this message]
2024-02-21 17:43 ` [PATCH 2/7] workqueue: Implement disable/enable for (delayed) work items Tejun Heo
2024-02-22  4:34   ` Lai Jiangshan
2024-02-22  8:22     ` Tejun Heo
2024-02-21 17:43 ` [PATCH 3/7] workqueue: Remove WORK_OFFQ_CANCELING Tejun Heo
2024-02-21 17:43 ` [PATCH 4/7] workqueue: Remember whether a work item was on a BH workqueue Tejun Heo
2024-02-21 17:43 ` [PATCH 5/7] workqueue: Update how start_flush_work() is called Tejun Heo
2024-02-21 17:43 ` [PATCH 6/7] workqueue: Allow cancel_work_sync() and disable_work() from atomic contexts on BH work items Tejun Heo
2024-02-22  4:36   ` Lai Jiangshan
2024-02-22  8:32     ` Tejun Heo
2024-02-21 17:43 ` [PATCH 7/7] r8152: Convert from tasklet to BH workqueue Tejun Heo
2024-02-22  3:33 ` [PATCHSET v2 wq/6.10] workqueue: Implement disable/enable_work() Lai Jiangshan
2024-02-22  4:59   ` Lai Jiangshan
2024-02-22  8:56     ` Tejun Heo
2024-02-22  9:16   ` Tejun Heo
2024-02-25 10:55     ` Lai Jiangshan
2024-02-26 18:53       ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZdcAPKtxgw2ZUVFn@slm.duckdns.org \
    --to=tj@kernel.org \
    --cc=allen.lkml@gmail.com \
    --cc=jiangshanlai@gmail.com \
    --cc=kernel-team@meta.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox