On Tue, Mar 29, 2016 at 09:31:58AM +0200, Peter Zijlstra wrote: > This will not in fact work for Intel, nor if I manage to one day > randomize our CPU numbers on AMD.
Oh, I know why. I have this 64 CPUs box here: $ grep "core id" /proc/cpuinfo | uniq core id : 0 core id : 8 core id : 2 core id : 10 core id : 1 core id : 9 core id : 3 core id : 11 core id : 0 core id : 8 core id : 2 core id : 10 core id : 1 core id : 9 core id : 3 core id : 11 Those core IDs repeat and are almost random too :) I guess we'll need a mask. Maybe as a future exercise... That box's topology has other funsies like this: $ grep -E -B 2 "core id\s+: 0" /proc/cpuinfo physical id : 0 siblings : 16 core id : 0 -- physical id : 1 siblings : 16 core id : 0 -- physical id : 2 siblings : 16 core id : 0 -- physical id : 3 siblings : 16 core id : 0 -- physical id : 0 siblings : 16 core id : 0 -- physical id : 1 siblings : 16 core id : 0 -- physical id : 2 siblings : 16 core id : 0 -- physical id : 3 siblings : 16 core id : 0 So in order to dig out which HT threads belong together, I need to look at the (core id, physical id) pair. I guess this is how we "fix" the schedulers of other OSes - by playing topology games... -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply.