Re: [RFC][PATCH] Remove duplicate setting of the B field in tlbie

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 14/09/16 14:55, Aneesh Kumar K.V wrote:
> Balbir Singh <bsingharora@xxxxxxxxx> 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 <bsingharora@xxxxxxxxx>
>> ---
>> 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.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux