Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> writes: > This feature allows the scheduler to expose a current virtual cpu id > to user-space. This virtual cpu id is within the possible cpus range, > and is temporarily (and uniquely) assigned while threads are actively > running within a memory space. If a memory space has fewer threads than > cores, or is limited to run on few cores concurrently through sched > affinity or cgroup cpusets, the virtual cpu ids will be values close > to 0, thus allowing efficient use of user-space memory for per-cpu > data structures. So I have one possibly (probably) dumb question: if I'm writing a program to make use of virtual CPU IDs, how do I know what the maximum ID will be? It seems like one of the advantages of this mechanism would be not having to be prepared for anything in the physical ID space, but is there any guarantee that the virtual-ID space will be smaller? Something like "no larger than the number of threads", say? Thanks, jon