Messages in this thread | | | Subject | Re: [PATCH v2 0/3] Fix several bugs in KVM stage 2 translation | From | "wangyanan (Y)" <> | Date | Wed, 2 Dec 2020 20:50:14 +0800 |
| |
On 2020/12/2 20:23, Marc Zyngier wrote: > Hi Yanan, > > [...] > >> BTW: there are two more things below that I want to talk about. >> >> 1. Recently, I have been focusing on the ARMv8.4-TTRem feature which >> is aimed at changing block size in stage 2 mapping. >> >> I have a plan to implement this feature for stage 2 translation when >> splitting a block into tables or merging tables into a block. >> >> This feature supports changing block size without performing >> *break-before-make*, which might have some improvement on performance. >> >> What do you think about this? > > It would be interesting if you can demonstrate some significant > performance improvements compared to the same workload with BBM. > > I'm not completely convinced this would change much, given that > it is only when moving from a table to a block mapping that you > can elide BBM when the support level is 1 or 2. As far as I can > tell, this only happens in the "stop logging" case. > > Is that something that happens often enough to justify the added > complexity? Having to handle TLB Conflict Abort is annoying, for > example.
I will take more consideration about the necessity and maybe some tests
on the performance will be made later.
Thanks,
Yanan
> >> 2. Given that the issues we discussed before were found in practice >> when guest state changes from dirty logging to dirty logging canceled. >> >> I could add a test file testing on this case to selftests/ or kvm unit >> tests/, if it's necessary. > > That would be awesome, and I'd be very grateful if you did. It is the > second time we break this exact case, and having a reliable way to > verify it would definitely help. > > Thanks, > > M.
| |