On Tue, 14 Jul 2020 18:59:59 +0000
Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> wrote:

> <snip>
> 
> > >
> > > Hi.  
> > 
> > Hey,
> >   
> > > In DPDK 19.11, the lcore_config struct of <rte_lcore.h> is made
> > > private, and with it the possibility to look up the thread id of the
> > > lcore worker threads disappears.
> > >
> > > One use case is an application with a monitoring function (on some
> > > control plane thread), which uses the thread ids to make sure the
> > > worker threads gets the CPU runtime they should, and thus is able to
> > > detect stalls.  
> This sounds similar to 'keep alive' functionality.
> 
> > >
> > > Is there some other way of finding out the thread_id of a lcore worker
> > > thread? All I can think of are hacks like using a temporary service
> > > function for service cores, in combination with requiring launched
> > > application threads also to store their thread id in some global
> > > structure (index by lcore_id).  
> > 
> > -1 for the service cores idea. I like the creative solution thinking, but 
> > not as a
> > long-term solution.
> >   
> > > Is there some cleaner way? If not, would adding something like a
> > > rte_lcore_thread_id() function make sense?  
> I guess here you mean the OS provided thread ID. Are there OS calls that 
> provide the CPU runtime?

This might be difficult sinc thread id in Linux/glibc is intentionally and 
opaque value.
According to Posix the only valid way to look at it is to use return value from
pthread_create() and pthread_self().

Reply via email to