My bad, I got it confused with lcore topology patches. I will look into this.
Thanks, Pavan. > -----Original Message----- > From: Pavan Nikhilesh Bhagavatula > Sent: Monday, May 19, 2025 7:32 PM > To: Morten Brørup <m...@smartsharesystems.com>; Varghese, Vipin > <vipin.vargh...@amd.com> > Cc: dev <dev@dpdk.org> > Subject: RE: rte_lcore_has_role() return value > > Hi Morten, > > Looks like this is meant for Vipin. > > +Vipin > > Thanks, > Pavan. > > > Pavan, > > > > The rte_lcore_has_role() documentation says it returns bool. > > > > Its implementation returns a true value (-1) if given a non-compliant > lcore_id, > > e.g. LCORE_ID_ANY. > > > > I think it should behave like rte_lcore_is_enabled(), i.e. return false if > > given a > > non-compliant lcore_id, e.g. LCORE_ID_ANY. > > > > Use case: > > A control thread in an application might or might not register itself, and > > the > > registration might not succeed. > > > > At exit of this control thread, it should unregister itself if registered. > > > > Fixing rte_lcore_has_role() as suggested would simplify the application from > > this: > > > > if (rte_lcore_id() != LCORE_ID_ANY && > > rte_eal_lcore_role(rte_lcore_id()) == ROLE_NON_EAL) > > rte_thread_unregister(); > > > > To this: > > > > if (rte_lcore_has_role(rte_lcore_id(), ROLE_NON_EAL)) > > rte_thread_unregister(); > > > > -Morten