> -----Original Message----- > From: Wood Scott-B07421 > Sent: Friday, September 20, 2013 9:48 PM > To: Bhushan Bharat-R65777 > Cc: Wood Scott-B07421; benh@xxxxxxxxxxxxxxxxxxx; agraf@xxxxxxx; > paulus@xxxxxxxxx; kvm@xxxxxxxxxxxxxxx; kvm-ppc@xxxxxxxxxxxxxxx; linuxppc- > dev@xxxxxxxxxxxxxxxx > Subject: Re: [PATCH 5/6 v5] kvm: booke: clear host tlb reference flag on guest > tlb invalidation > > On Thu, 2013-09-19 at 23:19 -0500, Bhushan Bharat-R65777 wrote: > > > > > -----Original Message----- > > > From: Wood Scott-B07421 > > > Sent: Friday, September 20, 2013 2:38 AM > > > To: Bhushan Bharat-R65777 > > > Cc: benh@xxxxxxxxxxxxxxxxxxx; agraf@xxxxxxx; paulus@xxxxxxxxx; > > > kvm@xxxxxxxxxxxxxxx; kvm-ppc@xxxxxxxxxxxxxxx; > > > linuxppc-dev@xxxxxxxxxxxxxxxx; Bhushan Bharat-R65777 > > > Subject: Re: [PATCH 5/6 v5] kvm: booke: clear host tlb reference > > > flag on guest tlb invalidation > > > > > > This breaks when you have both E500_TLB_BITMAP and E500_TLB_TLB0 set. > > > > I do not see any case where we set both E500_TLB_BITMAP and > > E500_TLB_TLB0. > > This would happen if you have a guest TLB1 entry that is backed by some 4K pages > and some larger pages (e.g. if the guest maps CCSR with one big > TLB1 and there are varying I/O passthrough regions mapped). It's not common, > but it's possible. Agree > > > Also we have not optimized that yet (keeping track of multiple shadow > > TLB0 entries for one guest TLB1 entry) > > This is about correctness, not optimization. > > > We uses these bit flags only for TLB1 and if size of stlbe is 4K then > > we set E500_TLB_TLB0 otherwise we set E500_TLB_BITMAP. Although I > > think that E500_TLB_BITMAP should be set only if stlbe size is less > > than gtlbe size. > > Why? Even if there's only one bit set in the map, we need it to keep track of > which entry was used. If there is one entry then will not this be simple/faster to not lookup bitmap and guest->host array? A flag indicate it is 1:1 map and this is physical address. -Bharat > > -Scott > ��.n��������+%������w��{.n�����o�^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�