Re: [PATCH 7/8] KVM: x86: avoid logical_map when it is invalid

2015-01-30 Thread Radim Krčmář
2015-01-30 16:10+0100, Paolo Bonzini: > On 30/01/2015 15:56, Radim Krčmář wrote: > > Do you know of a difference with it? > > new->mode & (new->mode - 1) | hweight8(new->mode) != 1 > > lea-0x1(%rax),%edi |popcnt %edi,%eax > > test %eax,%edi|cmp$1,%eax

Re: [PATCH 7/8] KVM: x86: avoid logical_map when it is invalid

2015-01-30 Thread Paolo Bonzini
On 30/01/2015 15:56, Radim Krčmář wrote: > 2015-01-30 10:38+0100, Paolo Bonzini: >> On 29/01/2015 22:48, Radim Krčmář wrote: >>> + if (hweight8(new->mode) != 1) >> >> Better (more optimized): >> >> if (new->mode & (new->mode - 1)) > > True, hweight needs to have X86_FEATURE_POPCNT

Re: [PATCH 7/8] KVM: x86: avoid logical_map when it is invalid

2015-01-30 Thread Radim Krčmář
2015-01-30 10:38+0100, Paolo Bonzini: > On 29/01/2015 22:48, Radim Krčmář wrote: > > + if (hweight8(new->mode) != 1) > > Better (more optimized): > > if (new->mode & (new->mode - 1)) True, hweight needs to have X86_FEATURE_POPCNT to be efficient ... Do you know of a difference w

Re: [PATCH 7/8] KVM: x86: avoid logical_map when it is invalid

2015-01-30 Thread Paolo Bonzini
On 30/01/2015 15:21, Radim Krčmář wrote: > Yes, but it would only matter if the OS set LDR on them. > I mark x2APIC with perfectly configured xAPIC on unused processors as > "weird" ... (Linux 3.18 and 2.6.32 doesn't do it.) Ok. Paolo -- To unsubscribe from this list: send the line "unsubscribe

Re: [PATCH 7/8] KVM: x86: avoid logical_map when it is invalid

2015-01-30 Thread Radim Krčmář
2015-01-30 10:19+0100, Paolo Bonzini: > On 29/01/2015 22:48, Radim Krčmář wrote: > > We want to support mixed modes and the easiest solution is to avoid > > optimizing those weird and unlikely scenarios. > > Hmm, what happens if use maxcpus to disable some CPUs at startup? Their APICs are kept sw

Re: [PATCH 7/8] KVM: x86: avoid logical_map when it is invalid

2015-01-30 Thread Paolo Bonzini
On 29/01/2015 22:48, Radim Krčmář wrote: > We want to support mixed modes and the easiest solution is to avoid > optimizing those weird and unlikely scenarios. > > Signed-off-by: Radim Krčmář > --- > arch/x86/include/asm/kvm_host.h | 1 + > arch/x86/kvm/lapic.c| 16 +++

Re: [PATCH 7/8] KVM: x86: avoid logical_map when it is invalid

2015-01-30 Thread Paolo Bonzini
On 29/01/2015 22:48, Radim Krčmář wrote: > We want to support mixed modes and the easiest solution is to avoid > optimizing those weird and unlikely scenarios. Hmm, what happens if use maxcpus to disable some CPUs at startup? Could the disabled CPUs remain in xapic mode while the others move to

[PATCH 7/8] KVM: x86: avoid logical_map when it is invalid

2015-01-29 Thread Radim Krčmář
We want to support mixed modes and the easiest solution is to avoid optimizing those weird and unlikely scenarios. Signed-off-by: Radim Krčmář --- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/lapic.c| 16 arch/x86/kvm/lapic.h| 4 3 files cha