On Thu, Mar 02, 2023 at 09:28:09AM +0000, Ruifeng Wang wrote: > > -----Original Message----- > > From: Tyler Retzlaff <roret...@linux.microsoft.com> > > Sent: Thursday, March 2, 2023 8:48 AM > > To: dev@dpdk.org > > Cc: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>; > > tho...@monjalon.net; Tyler > > Retzlaff <roret...@linux.microsoft.com> > > Subject: [PATCH 11/17] net/iavf: use previous value atomic fetch operations > > > > Use __atomic_fetch_{add,and,or,sub,xor} instead of > > __atomic_{add,and,or,sub,xor}_fetch > > when we have no interest in the result of the operation. > > > > Reduces unnecessary codegen that provided the result of the atomic > > operation that was not > > used. > > > > Change brings closer alignment with atomics available in C11 standard and > > will reduce > > review effort when they are integrated. > > > > Signed-off-by: Tyler Retzlaff <roret...@linux.microsoft.com> > > --- > > drivers/net/iavf/iavf_vchnl.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c > > index > > 9adaadb..73875d7 100644 > > --- a/drivers/net/iavf/iavf_vchnl.c > > +++ b/drivers/net/iavf/iavf_vchnl.c > > @@ -128,7 +128,7 @@ struct iavf_event_handler { > > int err = pipe(handler->fd); > > #endif > > if (err != 0) { > > - __atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED); > > + __atomic_fetch_sub(&handler->ndev, 1, __ATOMIC_RELAXED); > > return -1; > > } > > > > @@ -137,7 +137,7 @@ struct iavf_event_handler { > > > > if (rte_ctrl_thread_create(&handler->tid, "iavf-event-thread", > > NULL, iavf_dev_event_handle, NULL)) { > > - __atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED); > > + __atomic_fetch_sub(&handler->ndev, 1, __ATOMIC_RELAXED); > > return -1; > > } > > > > @@ -533,7 +533,7 @@ struct iavf_event_handler { > > /* read message and it's expected one */ > > if (msg_opc == vf->pend_cmd) { > > uint32_t cmd_count = > > - __atomic_sub_fetch(&vf->pend_cmd_count, > > + __atomic_fetch_sub(&vf->pend_cmd_count, > > It doesn't apply here. The return value is used. > The rest of the series looks good to me.
oh, i was blind to the line wrapping. definitely not correct. thanks for catching this, will submit v2 with it reverted. > > > 1, __ATOMIC_RELAXED); > > if (cmd_count == 0) > > _notify_cmd(vf, msg_ret); > > -- > > 1.8.3.1