On Thu, Mar 14, 2024 at 10:37:29PM +0000, Allison Henderson wrote: > On Thu, 2024-03-14 at 12:51 +0100, Michal Kubiak wrote: > > On Thu, Mar 14, 2024 at 08:21:35PM +0900, Yewon Choi wrote: > > > acquire/release_in_xmit() work as bit lock in rds_send_xmit(), so > > > they > > > are expected to ensure acquire/release memory ordering semantics. > > > However, test_and_set_bit/clear_bit() don't imply such semantics, > > > on > > > top of this, following smp_mb__after_atomic() does not guarantee > > > release > > > ordering (memory barrier actually should be placed before > > > clear_bit()). > > > > > > Instead, we use clear_bit_unlock/test_and_set_bit_lock() here. > > > > > > Signed-off-by: Yewon Choi <woni9911@xxxxxxxxx> > > > > Missing "Fixes" tag for the patch addressed to the "net" tree. > > Sorry for mistake, I'll correct this and send v2 patch. > > Thanks, > > Michal > > Yes, I think it needs: > > Fixes: 1f9ecd7eacfd ("RDS: Pass rds_conn_path to rds_send_xmit()") > > Since that is the last patch to modify the affected code. Other than > that I think the patch looks good. With the tag fixed, you can add my > rvb: > Also, test_and_set_bit/clear_bit() was first introduced in commit 0f4b1c7e89e6. I think this can be added, too: Fixes: 0f4b1c7e89e6 ("rds: fix rds_send_xmit() serialization") > Reviewed-by: Allison Henderson <allison.henderson@xxxxxxxxxx> > > > Thank you for the reviewing. Sincerely, Yewon Choi