From: Uladzislau Rezki <urezki@gmail.com>
To: Joel Fernandes <joel@joelfernandes.org>
Cc: Uladzislau Rezki <urezki@gmail.com>,
Z qiang <qiang.zhang1211@gmail.com>,
"Paul E . McKenney" <paulmck@kernel.org>,
RCU <rcu@vger.kernel.org>,
Neeraj upadhyay <Neeraj.Upadhyay@amd.com>,
Boqun Feng <boqun.feng@gmail.com>,
Hillf Danton <hdanton@sina.com>,
LKML <linux-kernel@vger.kernel.org>,
Oleksiy Avramchenko <oleksiy.avramchenko@sony.com>,
Frederic Weisbecker <frederic@kernel.org>
Subject: Re: [PATCH 2/2] rcu: Allocate WQ with WQ_MEM_RECLAIM bit set
Date: Thu, 7 Mar 2024 13:16:50 +0100 [thread overview]
Message-ID: <ZemwMo1Ca1BQumQ7@pc636> (raw)
In-Reply-To: <ae0475d7-fcfa-4d6f-9bb0-03479e6bf83b@joelfernandes.org>
On Wed, Mar 06, 2024 at 12:57:25PM -0500, Joel Fernandes wrote:
>
>
> On 3/6/2024 6:56 AM, Uladzislau Rezki wrote:
> > On Wed, Mar 06, 2024 at 10:15:44AM +0800, Z qiang wrote:
> >>>
> >>> synchronize_rcu() users have to be processed regardless
> >>> of memory pressure so our private WQ needs to have at least
> >>> one execution context what WQ_MEM_RECLAIM flag guarantees.
> >>>
> >>> Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
> >>> ---
> >>> kernel/rcu/tree.c | 6 +++++-
> >>> 1 file changed, 5 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> >>> index 475647620b12..59881a68dd26 100644
> >>> --- a/kernel/rcu/tree.c
> >>> +++ b/kernel/rcu/tree.c
> >>> @@ -1581,6 +1581,7 @@ static void rcu_sr_put_wait_head(struct llist_node *node)
> >>> /* Disabled by default. */
> >>> static int rcu_normal_wake_from_gp;
> >>> module_param(rcu_normal_wake_from_gp, int, 0644);
> >>> +static struct workqueue_struct *sync_wq;
> >>>
> >>> static void rcu_sr_normal_complete(struct llist_node *node)
> >>> {
> >>> @@ -1679,7 +1680,7 @@ static void rcu_sr_normal_gp_cleanup(void)
> >>> * of outstanding users(if still left) and releasing wait-heads
> >>> * added by rcu_sr_normal_gp_init() call.
> >>> */
> >>> - queue_work(system_highpri_wq, &rcu_state.srs_cleanup_work);
> >>> + queue_work(sync_wq, &rcu_state.srs_cleanup_work);
> >>> }
> >>>
> >>> /*
> >>> @@ -5584,6 +5585,9 @@ void __init rcu_init(void)
> >>> rcu_gp_wq = alloc_workqueue("rcu_gp", WQ_MEM_RECLAIM, 0);
> >>> WARN_ON(!rcu_gp_wq);
> >>>
> >>> + sync_wq = alloc_workqueue("sync_wq", WQ_MEM_RECLAIM, 0);
> >>
> >> Why was WQ_HIGHPRI removed?
> >>
> > I would like to check perf. figures with it and send out it as a
> > separate patch if it is worth it.
>
> I guess one thing to note is that there are also other RCU-related WQ which have
> WQ_MEM_RECLAIM but not WQ_HIGHPRI (such as for expedited RCU, at least some
> configs). So for consistency, this makes sense to me.
>
> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org).
>
Thanks. I will update it with review tag!
--
Uladzislau Rezki
next prev parent reply other threads:[~2024-03-07 12:16 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-05 19:57 [PATCH 1/2] rcu: Do not release a wait-head from a GP kthread Uladzislau Rezki (Sony)
2024-03-05 19:57 ` [PATCH 2/2] rcu: Allocate WQ with WQ_MEM_RECLAIM bit set Uladzislau Rezki (Sony)
2024-03-06 2:15 ` Z qiang
2024-03-06 11:56 ` Uladzislau Rezki
2024-03-06 17:57 ` Joel Fernandes
2024-03-07 12:16 ` Uladzislau Rezki [this message]
2024-03-06 22:31 ` [PATCH 1/2] rcu: Do not release a wait-head from a GP kthread Joel Fernandes
2024-03-06 22:44 ` Joel Fernandes
2024-03-07 12:25 ` Uladzislau Rezki
2024-03-07 6:21 ` Joel Fernandes
2024-03-07 7:09 ` Joel Fernandes
2024-03-07 12:31 ` Uladzislau Rezki
2024-03-07 12:28 ` Uladzislau Rezki
2024-03-07 12:57 ` Uladzislau Rezki
2024-03-07 13:13 ` Joel Fernandes
2024-03-07 0:04 ` Frederic Weisbecker
2024-03-07 12:17 ` Uladzislau Rezki
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=ZemwMo1Ca1BQumQ7@pc636 \
--to=urezki@gmail.com \
--cc=Neeraj.Upadhyay@amd.com \
--cc=boqun.feng@gmail.com \
--cc=frederic@kernel.org \
--cc=hdanton@sina.com \
--cc=joel@joelfernandes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleksiy.avramchenko@sony.com \
--cc=paulmck@kernel.org \
--cc=qiang.zhang1211@gmail.com \
--cc=rcu@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.