Greg Kurz <gr...@kaod.org> writes: > On Fri, 02 Sep 2016 15:04:47 +0530 > Nikunj A Dadhania <nik...@linux.vnet.ibm.com> wrote: > >> Greg Kurz <gr...@kaod.org> writes: >> >> > On Fri, 2 Sep 2016 12:02:54 +0530 >> > Nikunj A Dadhania <nik...@linux.vnet.ibm.com> wrote: >> > >> >> Signed-off-by: Nikunj A Dadhania <nik...@linux.vnet.ibm.com> >> >> --- >> > >> > Shouldn't this patch be the last one, when all other issues have been >> > addressed ? >> > >> >> target-ppc/kvm.c | 2 +- >> >> target-ppc/kvm_ppc.h | 2 +- >> >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> >> >> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c >> >> index dcb68b9..20eb450 100644 >> >> --- a/target-ppc/kvm.c >> >> +++ b/target-ppc/kvm.c >> >> @@ -2090,7 +2090,7 @@ void kvmppc_set_mpic_proxy(PowerPCCPU *cpu, int >> >> mpic_proxy) >> >> >> >> int kvmppc_smt_threads(void) >> >> { >> >> - return cap_ppc_smt ? cap_ppc_smt : 1; >> >> + return cap_ppc_smt ? cap_ppc_smt : 8; >> > >> > If KVM is there but does not support SMT processor modes, it looks >> > wrong to return anything but 1. This check needs kvm_enabled(). >> >> This also gets called when emulating PPC on PPC. >> > > Yes and the current value of 1 is the default for non HV KVM and TCG. If > you want to change the default for MTTCG, then you need separate paths. > >> > Also, why 8 ? This depends on the CPU model. >> >> Not sure if I need to emulate according to the host cpu model. I had >> selected 8, as that was the highest number of threads possible for POWER. >> > > If running in full emulation and cpu type is POWER7, this shouldn't be > higher than 4. > > In the end, something like: > > int kvmppc_smt_threads(void) > { > if (kvm_enabled()) { > return cap_ppc_smt ? cap_ppc_smt : 1; > } else { > return 8_or_4_or_2_or_1_depending_on_the_cpu_model; > } > }
Sure, will need something like this. Regards, Nikunj