DPDK patches and discussions
 help / color / mirror / Atom feed
* rte_lcore_has_role() return value
@ 2025-05-19  9:59 Morten Brørup
  2025-05-19 14:01 ` Pavan Nikhilesh Bhagavatula
  0 siblings, 1 reply; 3+ messages in thread
From: Morten Brørup @ 2025-05-19  9:59 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula; +Cc: dev

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: rte_lcore_has_role() return value
  2025-05-19  9:59 rte_lcore_has_role() return value Morten Brørup
@ 2025-05-19 14:01 ` Pavan Nikhilesh Bhagavatula
  2025-05-19 14:15   ` Pavan Nikhilesh Bhagavatula
  0 siblings, 1 reply; 3+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2025-05-19 14:01 UTC (permalink / raw)
  To: Morten Brørup, Varghese, Vipin; +Cc: dev

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: rte_lcore_has_role() return value
  2025-05-19 14:01 ` Pavan Nikhilesh Bhagavatula
@ 2025-05-19 14:15   ` Pavan Nikhilesh Bhagavatula
  0 siblings, 0 replies; 3+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2025-05-19 14:15 UTC (permalink / raw)
  To: Morten Brørup; +Cc: dev

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 <mb@smartsharesystems.com>; Varghese, Vipin
> <vipin.varghese@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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-05-19 14:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-19  9:59 rte_lcore_has_role() return value Morten Brørup
2025-05-19 14:01 ` Pavan Nikhilesh Bhagavatula
2025-05-19 14:15   ` Pavan Nikhilesh Bhagavatula

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).