On Mon, Mar 21, 2016 at 09:21:29AM +0100, Peter Zijlstra wrote: > On Mon, Mar 21, 2016 at 11:07:46AM +0800, Huang Rui wrote: > > > > The issue is that Linux assumes: > > > > > > > > nr_logical_cpus = nr_cores * nr_siblings > > > > > > > > But AMD reports its CU unit as 2 cores, but then sets num_smp_siblings > > > > to 2 as well. > > > But I am confused with c->x86_max_cores /= smp_num_siblings, what is > > the real meaning of c->x86_max_cores here for AMD, the whole compute > > unit numbers per socket? > > Yes, with the whole Compute Unit being the Core, each logical CPU > becomes a Thread. This is the direct consequence of using the SMT > topology to model the CU thing. >
OK, maybe, we would better add a comment to explain here. :-) Thanks, Rui

