logical cpu number is discontinuity
From: Masayoshi Mizuma
Date: Wed Jan 18 2017 - 01:09:03 EST
Hi,
On v4.9 and v4.10 kernel, when I booted my box which has two nodes and
each nodes have 48 logical cpus (Hyper Threading is enabled),
the logical cpu number is discontinuity as follows.
node 0: 0-23, 256-279
node 1: 24-47, 280-303
So the following shell script fail to run.
---
#!/bin/bash
for ((cpu = 0; cpu < `nproc`; cpu++))
do
taskset -c $cpu ./do_work
done
---
I think the logical cpu number should be continuity like as v4.8 and earlier
because user applications may expect the number is continuity.
I believe this behavior was introduced by the patch series beginning with
the following commit.
f7c2883 x86/acpi: Enable acpi to register all possible cpus at boot time
Do anyone have ideas for fix this behavior...?
FYI.
v4.8 kernel, the logical cpu number is continuity as follows.
node 0: 0-23, 48-71
node 1: 24-47, 72-95
- Masayoshi Mizuma