Messages in this thread | | | Date | Tue, 2 Jun 2015 18:47:25 +0300 | Subject | Re: [PATCH 2/2] tracing: Fix for non-continuous cpu ids | From | Gilad Ben-Yossef <> |
| |
On Tue, Jun 2, 2015 at 5:26 PM, Steven Rostedt <rostedt@goodmis.org> wrote: > On Tue, 2 Jun 2015 16:26:29 +0300 > Gil Fruchter <gilf@ezchip.com> wrote: > >> Currently exception occures due to access beyond buffer_iter >> range while using index of cpu bigger than num_possible_cpus(). >> Below there is an example for such exception when we use >> cpus 0,1,16,17. > > I'm curious, what broken boxes have non-continuous cpu ids?
The NPS-400 is a single SoC with 256 cores based on Synopsys Arc, each one is capable to work as up to 16 SMT hardware threads or logical cores. I gave a talk about it two years ago at Plumbers/LinuxCon.
Most of the Linux support is in the process being up-streamed via the Arc architecture maintainer (the patch set is at https://github.com/EZchip/linux) but there are some none architecture specific patches that we just happen to run into like this one.
As to the why, well, the CPU ids has a mapping to the topology - which cluster (NUMA node), core and SMT thread you are looking at.
The thing is, the number of SMT threads per core is configurable, and you can hot plug down a core, reconfigure it for a different number of SMT thread and hot them back in. So the "empty slots" are possible logical cores that don't happen to be active at the time, but could hotplug up later on.
I hope this makes some sense.
Since the NPS-400 is not generally available yet I wouldn't worry too much about stable kernel for now...
Thanks,
Gilad Ben-Yossef
-- Gilad Ben-Yossef Chief Coffee Drinker gilad@benyossef.com Israel Cell: +972-52-8260388 US Cell: +1-973-8260388 http://benyossef.com
"If you take a class in large-scale robotics, can you end up in a situation where the homework eats your dog?" -- Jean-Baptiste Queru
| |