> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Honnappa > Nagarahalli > Sent: Friday, July 24, 2020 8:31 PM > > <snip> > > > Subject: [dpdk-dev] [PATCH v10 01/10] eal: introduce macro for bit > definition > > > > There are several drivers which duplicate bit generation macro. > > Introduce a generic bit macros so that such drivers avoid redefining > same in > > multiple drivers. > > > > Signed-off-by: Parav Pandit <pa...@mellanox.com> > > Acked-by: Matan Azrad <ma...@mellanox.com> > > Acked-by: Morten Brørup <m...@smartsharesystems.com> > > --- > > Changelog: > > v4->v5: > > - Addressed comments from Morten Brørup > > - Renamed newly added macro to RTE_BIT64 > > - Added doxygen comment section for the macro > > v1->v2: > > - Addressed comments from Thomas and Gaten. > > - Avoided new file, added macro to rte_bitops.h > > --- > > lib/librte_eal/include/rte_bitops.h | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/lib/librte_eal/include/rte_bitops.h > > b/lib/librte_eal/include/rte_bitops.h > > index 740927f3b..ca46a110f 100644 > > --- a/lib/librte_eal/include/rte_bitops.h > > +++ b/lib/librte_eal/include/rte_bitops.h > > @@ -17,6 +17,14 @@ > > #include <rte_debug.h> > > #include <rte_compat.h> > > > > +/** > > + * Get the uint64_t value for a specified bit set. > > + * > > + * @param nr > > + * The bit number in range of 0 to 63. > > + */ > > +#define RTE_BIT64(nr) (UINT64_C(1) << (nr)) > In general, the macros have been avoided in this file. Suggest changing > this to an inline function.
That has been discussed already, and rejected for good reasons: http://inbox.dpdk.org/dev/am0pr05mb4866823b0170b90f679a2765d1...@am0pr05mb4866.eurprd05.prod.outlook.com/ > Also, this file has uses of this macro, it would be good to replace > them with the new inline function. Makes sense. And for consistency, it would require adding an RTE_BIT32() macro too.