From mboxrd@z Thu Jan 1 00:00:00 1970 From: Balbir Singh Subject: Re: [RFC][PATCH] Remove duplicate setting of the B field in tlbie Date: Wed, 14 Sep 2016 16:15:51 +1000 Message-ID: <4ec47547-2bdf-9d11-b65c-96660aa27bcd@gmail.com> References: <4bbac7fd-ed99-a5c4-1bda-94345b88f18c@gmail.com> <8737l3jd1u.fsf@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org To: "Aneesh Kumar K.V" , Paul Mackerras Return-path: Received: from mail-pa0-f65.google.com ([209.85.220.65]:34873 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759944AbcINGP5 (ORCPT ); Wed, 14 Sep 2016 02:15:57 -0400 In-Reply-To: <8737l3jd1u.fsf@linux.vnet.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On 14/09/16 14:55, Aneesh Kumar K.V wrote: > Balbir Singh writes: > >> Remove duplicate setting of the the "B" field when doing a tlbie(l). >> In compute_tlbie_rb(), the "B" field is set again just before >> returning the rb value to be used for tlbie(l). >> >> Signed-off-by: Balbir Singh >> --- >> Quickly boot tested a VM with these changes in kvm with 64k >> as the page size for the guest. >> >> arch/powerpc/include/asm/kvm_book3s_64.h | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/include/asm/kvm_book3s_64.h >> index 88d17b4..63b6900 100644 >> --- a/arch/powerpc/include/asm/kvm_book3s_64.h >> +++ b/arch/powerpc/include/asm/kvm_book3s_64.h >> @@ -159,7 +159,6 @@ static inline unsigned long compute_tlbie_rb(unsigned long v, unsigned long r, >> /* This covers 14..54 bits of va*/ >> rb = (v & ~0x7fUL) << 16; /* AVA field */ >> >> - rb |= (v >> HPTE_V_SSIZE_SHIFT) << 8; /* B field */ >> /* >> * AVA in v had cleared lower 23 bits. We need to derive >> * that from pteg index > > Can we keep this and remove the other. This is much easier to follow > than > > rb |= (v >> 54) & 0x300; /* B field */ > OK, but I think for 64K page size rb &= ~((1ul << mmu_psize_defs[a_psize].shift) - 1); ends up cleaning up the "B" field. That is why we've had the two "B" field settings. Let me double check with some coffee. Balbir Singh. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Balbir Singh Date: Wed, 14 Sep 2016 06:15:51 +0000 Subject: Re: [RFC][PATCH] Remove duplicate setting of the B field in tlbie Message-Id: <4ec47547-2bdf-9d11-b65c-96660aa27bcd@gmail.com> List-Id: References: <4bbac7fd-ed99-a5c4-1bda-94345b88f18c@gmail.com> <8737l3jd1u.fsf@linux.vnet.ibm.com> In-Reply-To: <8737l3jd1u.fsf@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: "Aneesh Kumar K.V" , Paul Mackerras Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org On 14/09/16 14:55, Aneesh Kumar K.V wrote: > Balbir Singh writes: > >> Remove duplicate setting of the the "B" field when doing a tlbie(l). >> In compute_tlbie_rb(), the "B" field is set again just before >> returning the rb value to be used for tlbie(l). >> >> Signed-off-by: Balbir Singh >> --- >> Quickly boot tested a VM with these changes in kvm with 64k >> as the page size for the guest. >> >> arch/powerpc/include/asm/kvm_book3s_64.h | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/include/asm/kvm_book3s_64.h >> index 88d17b4..63b6900 100644 >> --- a/arch/powerpc/include/asm/kvm_book3s_64.h >> +++ b/arch/powerpc/include/asm/kvm_book3s_64.h >> @@ -159,7 +159,6 @@ static inline unsigned long compute_tlbie_rb(unsigned long v, unsigned long r, >> /* This covers 14..54 bits of va*/ >> rb = (v & ~0x7fUL) << 16; /* AVA field */ >> >> - rb |= (v >> HPTE_V_SSIZE_SHIFT) << 8; /* B field */ >> /* >> * AVA in v had cleared lower 23 bits. We need to derive >> * that from pteg index > > Can we keep this and remove the other. This is much easier to follow > than > > rb |= (v >> 54) & 0x300; /* B field */ > OK, but I think for 64K page size rb &= ~((1ul << mmu_psize_defs[a_psize].shift) - 1); ends up cleaning up the "B" field. That is why we've had the two "B" field settings. Let me double check with some coffee. Balbir Singh.