Hi, > -----Original Message----- > From: Tyler Retzlaff <roret...@linux.microsoft.com> > Sent: Tuesday, May 7, 2024 1:58 AM > To: dev@dpdk.org > Cc: Mattias Rönnblom <mattias.ronnb...@ericsson.com>; Morten Brørup > <m...@smartsharesystems.com>; Sevincer, Abdullah > <abdullah.sevin...@intel.com>; Ajit Khaparde > <ajit.khapa...@broadcom.com>; Alok Prasad <pa...@marvell.com>; > Burakov, Anatoly <anatoly.bura...@intel.com>; Andrew Rybchenko > <andrew.rybche...@oktetlabs.ru>; Anoob Joseph <ano...@marvell.com>; > Richardson, Bruce <bruce.richard...@intel.com>; Marohn, Byron > <byron.mar...@intel.com>; Chenbo Xia <chen...@nvidia.com>; > Chengwen Feng <fengcheng...@huawei.com>; Loftus, Ciara > <ciara.lof...@intel.com>; Power, Ciara <ciara.po...@intel.com>; Dariusz > Sosnowski <dsosnow...@nvidia.com>; Hunt, David <david.h...@intel.com>; > Devendra Singh Rawat <dsinghra...@marvell.com>; Carrillo, Erik G > <erik.g.carri...@intel.com>; Guoyang Zhou <zhouguoy...@huawei.com>; > Harman Kalra <hka...@marvell.com>; Van Haaren, Harry > <harry.van.haa...@intel.com>; Nagarahalli, Honnappa > <honnappa.nagaraha...@arm.com>; Jakub Grajciar <jgraj...@cisco.com>; > Jerin Jacob <jer...@marvell.com>; Jeroen de Borst <jeroe...@google.com>; > Jian Wang <jianw...@trustnetic.com>; Jiawen Wu > <jiawe...@trustnetic.com>; Jie Hai <haij...@huawei.com>; Wu, Jingjing > <jingjing...@intel.com>; Joshua Washington <joshw...@google.com>; > Joyce Kong <joyce.k...@arm.com>; Guo, Junfeng > <junfeng....@intel.com>; Laatz, Kevin <kevin.la...@intel.com>; Konstantin > Ananyev <konstantin.v.anan...@yandex.ru>; Liang Ma > <lian...@liangbit.com>; Long Li <lon...@microsoft.com>; Maciej Czekaj > <mcze...@marvell.com>; Matan Azrad <ma...@nvidia.com>; Maxime > Coquelin <maxime.coque...@redhat.com>; Chautru, Nicolas > <nicolas.chau...@intel.com>; Ori Kam <or...@nvidia.com>; Pavan Nikhilesh > <pbhagavat...@marvell.com>; Mccarthy, Peter > <peter.mccar...@intel.com>; Rahul Lakkireddy > <rahul.lakkire...@chelsio.com>; Pattan, Reshma > <reshma.pat...@intel.com>; Xu, Rosen <rosen...@intel.com>; Ruifeng > Wang <ruifeng.w...@arm.com>; Rushil Gupta <rush...@google.com>; > Gobriel, Sameh <sameh.gobr...@intel.com>; Sivaprasad Tummala > <sivaprasad.tumm...@amd.com>; Somnath Kotur > <somnath.ko...@broadcom.com>; Stephen Hemminger > <step...@networkplumber.org>; Suanming Mou > <suanmi...@nvidia.com>; Sunil Kumar Kori <sk...@marvell.com>; Sunil > Uttarwar <sunilprakashrao.uttar...@amd.com>; Tetsuya Mukawa > <mtetsu...@gmail.com>; Vamsi Attunuru <vattun...@marvell.com>; > Viacheslav Ovsiienko <viachesl...@nvidia.com>; Medvedkin, Vladimir > <vladimir.medved...@intel.com>; Xiaoyun Wang > <cloud.wangxiao...@huawei.com>; Wang, Yipeng1 > <yipeng1.w...@intel.com>; Yisen Zhuang <yisen.zhu...@huawei.com>; > Ziyang Xuan <xuanziya...@huawei.com>; Tyler Retzlaff > <roret...@linux.microsoft.com> > Subject: [PATCH v5 22/45] raw/ifpga: use rte stdatomic API > > Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding > rte_atomic_xxx optional rte stdatomic API. > > Signed-off-by: Tyler Retzlaff <roret...@linux.microsoft.com> > Acked-by: Stephen Hemminger <step...@networkplumber.org> > --- > drivers/raw/ifpga/ifpga_rawdev.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/raw/ifpga/ifpga_rawdev.c > b/drivers/raw/ifpga/ifpga_rawdev.c > index f89bd3f..78d3c88 100644 > --- a/drivers/raw/ifpga/ifpga_rawdev.c > +++ b/drivers/raw/ifpga/ifpga_rawdev.c > @@ -73,7 +73,7 @@ > > static struct ifpga_rawdev ifpga_rawdevices[IFPGA_RAWDEV_NUM]; > > -static int ifpga_monitor_refcnt; > +static RTE_ATOMIC(int) ifpga_monitor_refcnt; > static rte_thread_t ifpga_monitor_start_thread; > > static struct ifpga_rawdev * > @@ -512,7 +512,7 @@ static int set_surprise_link_check_aer( > int gsd_enable, ret; > #define MS 1000 > > - while (__atomic_load_n(&ifpga_monitor_refcnt, > __ATOMIC_RELAXED)) { > + while (rte_atomic_load_explicit(&ifpga_monitor_refcnt, > +rte_memory_order_relaxed)) { > gsd_enable = 0; > for (i = 0; i < IFPGA_RAWDEV_NUM; i++) { > ifpga_rdev = &ifpga_rawdevices[i]; > @@ -549,7 +549,7 @@ static int set_surprise_link_check_aer( > > dev->poll_enabled = 1; > > - if (!__atomic_fetch_add(&ifpga_monitor_refcnt, 1, > __ATOMIC_RELAXED)) { > + if (!rte_atomic_fetch_add_explicit(&ifpga_monitor_refcnt, 1, > +rte_memory_order_relaxed)) { > ret = > rte_thread_create_internal_control(&ifpga_monitor_start_thread, > "ifpga-mon", ifpga_rawdev_gsd_handle, > NULL); > if (ret != 0) { > @@ -573,7 +573,8 @@ static int set_surprise_link_check_aer( > > dev->poll_enabled = 0; > > - if (!(__atomic_fetch_sub(&ifpga_monitor_refcnt, 1, > __ATOMIC_RELAXED) - 1) && > + if (!(rte_atomic_fetch_sub_explicit(&ifpga_monitor_refcnt, 1, > + rte_memory_order_relaxed) - 1) && > ifpga_monitor_start_thread.opaque_id != 0) { > ret = > pthread_cancel((pthread_t)ifpga_monitor_start_thread.opaque_id); > if (ret) > -- > 1.8.3.1
Reviewed-by: Rosen Xu <rosen...@intel.com>