Re: [PATCH v3 1/6] workqueue: Inherit per-process allocation flags

From: Tejun Heo
Date: Wed May 22 2024 - 12:37:30 EST


Hello,

On Wed, May 22, 2024 at 03:54:34PM +0200, Håkon Bugge wrote:
> --- a/include/linux/workqueue.h
> +++ b/include/linux/workqueue.h
> @@ -406,9 +406,18 @@ enum wq_flags {
> __WQ_DRAINING = 1 << 16, /* internal: workqueue is draining */
> __WQ_ORDERED = 1 << 17, /* internal: workqueue is ordered */
> __WQ_LEGACY = 1 << 18, /* internal: create*_workqueue() */
> + __WQ_MEMALLOC = 1 << 19, /* internal: execute work with MEMALLOC */
> + __WQ_MEMALLOC_NOFS = 1 << 20, /* internal: execute work with MEMALLOC_NOFS */
> + __WQ_MEMALLOC_NOIO = 1 << 21, /* internal: execute work with MEMALLOC_NOIO */
> + __WQ_MEMALLOC_NORECLAIM = 1 << 22, /* internal: execute work with MEMALLOC_NORECLAIM */
> + __WQ_MEMALLOC_NOWARN = 1 << 23, /* internal: execute work with MEMALLOC_NOWARN */
> + __WQ_MEMALLOC_PIN = 1 << 24, /* internal: execute work with MEMALLOC_PIN */

Please use a separate field w/ gfp_t. You can probably add it to
workqueue_attrs.

Thanks.

--
tejun