From: Jakub Kicinski <kuba@kernel.org>
To: Allison Henderson <allison.henderson@oracle.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH 1/6] net/rds: Avoid queuing superfluous send and recv work
Date: Wed, 2 Apr 2025 09:18:39 -0700 [thread overview]
Message-ID: <20250402091839.0a70f23d@kernel.org> (raw)
In-Reply-To: <7f47bb1a98a1d7cb026cf14b4da3fe761d33d46c.camel@oracle.com>
On Wed, 2 Apr 2025 01:34:40 +0000 Allison Henderson wrote:
> I had a look at the example, how about we move the barriers from
> rds_clear_queued_send_work_bit into rds_cond_queue_send_work? Then
> we have something like this:
>
> static inline void rds_cond_queue_send_work(struct rds_conn_path *cp,
> unsigned long delay) {
> /* Ensure prior clear_bit operations for RDS_SEND_WORK_QUEUED are observed */ smp_mb__before_atomic();
>
> if (!test_and_set_bit(RDS_SEND_WORK_QUEUED, &cp->cp_flags))
> queue_delayed_work(rds_wq, &cp->cp_send_w, delay);
>
> /* Ensure the RDS_SEND_WORK_QUEUED bit is observed before proceeding */ smp_mb__after_atomic();
> }
>
> I think that's more like whats in the example, and in line with what
> this patch is trying to do. Let me know what you think.
Sorry, this still feels like a cargo cult to me.
Let's get a clear explanation of what the barriers order
or just skip the patch.
next prev parent reply other threads:[~2025-04-02 16:18 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-27 4:26 [PATCH 0/6] RDS bug fix collection allison.henderson
2025-02-27 4:26 ` [PATCH 1/6] net/rds: Avoid queuing superfluous send and recv work allison.henderson
2025-03-01 0:19 ` Jakub Kicinski
2025-03-05 0:38 ` Allison Henderson
2025-03-05 0:44 ` Jakub Kicinski
2025-03-06 16:41 ` Allison Henderson
2025-03-06 18:18 ` Jakub Kicinski
2025-03-07 20:28 ` Allison Henderson
2025-03-08 2:53 ` Jakub Kicinski
2025-03-12 7:50 ` Allison Henderson
2025-03-26 16:42 ` Jakub Kicinski
2025-04-02 1:34 ` Allison Henderson
2025-04-02 16:18 ` Jakub Kicinski [this message]
2025-04-03 1:27 ` Allison Henderson
2025-02-27 4:26 ` [PATCH 2/6] net/rds: Re-factor and avoid superfluous queuing of reconnect work allison.henderson
2025-02-27 4:26 ` [PATCH 3/6] net/rds: RDS/TCP does not initiate a connection allison.henderson
2025-02-27 4:26 ` [PATCH 4/6] net/rds: No shortcut out of RDS_CONN_ERROR allison.henderson
2025-03-01 0:19 ` Jakub Kicinski
2025-03-05 0:38 ` Allison Henderson
2025-02-27 4:26 ` [PATCH 5/6] net/rds: rds_tcp_accept_one ought to not discard messages allison.henderson
2025-03-01 0:21 ` Jakub Kicinski
2025-03-06 16:41 ` Allison Henderson
2025-03-01 23:22 ` kernel test robot
2025-03-05 0:43 ` Allison Henderson
2025-03-04 10:28 ` Dan Carpenter
2025-03-05 0:39 ` Allison Henderson
2025-02-27 4:26 ` [PATCH 6/6] net/rds: Encode cp_index in TCP source port allison.henderson
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=20250402091839.0a70f23d@kernel.org \
--to=kuba@kernel.org \
--cc=allison.henderson@oracle.com \
--cc=netdev@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.