[dpdk-dev] [PATCH] Add an API to query enabled core index

Dumitrescu, Cristian cristian.dumitrescu at intel.com
Thu Jun 12 02:18:19 CEST 2014


Maybe we could simplify this discussion by simply creating a new function to return the mask of all enabled cores (as provided through -c coremask EAL option) and have the user utilize this mask to derive whatever info it needs?

Right now, to get the mask of enabled cores, a for loop is required to test each core index one by one and re-create the mask.

In several instances, I needed to know just the number of enabled cores (i.e. number of bits set in -c coremask), and there was no alternative to the for loop above. But given such a function, we can quickly do:
	uint64_t coremask = rte_eal_coremask();
	n_lcores = __builtin_popcountll(coremask);

For what Patrick needs: 
	uint32_t lcore_enabled_pos = __builtin_popcountll(coremask & RTE_LEN2MASK(lcore_index));

Regards,
Cristian

-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Richardson, Bruce
Sent: Thursday, June 12, 2014 12:28 AM
To: Thomas Monjalon
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] [PATCH] Add an API to query enabled core index

> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Wednesday, June 11, 2014 3:50 PM
> To: Richardson, Bruce
> Cc: Lu, Patrick; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] Add an API to query enabled core index
> 
> 2014-06-11 21:57, Richardson, Bruce:
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon
> > > 2014-06-11 13:45, Patrick Lu:
> > > > The new API rte_lcore_id2() will return an index from enabled lcores
> > > > starting from zero.
> > >
> > > I think core_id2 is not a representative name.
> > > What do you think of renaming core_id as lcore_hwid and core_id2 as
> > > lcore_index?
> >
> > I like lcore_index as the name for the new function. However, I'm not sure
> > in that case that we want/need to rename the old one.
> 
> I think it would be not easy to distinguish id and index. So I prefer
> hwid/index. And lcore is more precise than core.
> 

The function is already called "rte_lcore_id()" so there is no need to change it to make it an "lcore" function. That function has been around for a long time and is commonly used, so I'd prefer it not be changed unless it really is necessary. "rte_lcore_index" is a sufficiently different function name, in my opinion. The API documentation should clear up any confusion for the user anyway.
--------------------------------------------------------------
Intel Shannon Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263
Business address: Dromore House, East Park, Shannon, Co. Clare

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.




More information about the dev mailing list