On 2020-07-28 03:11, zhukeqian wrote:
Hi Marc,
[...]
But you are still reading the leaf entries of the PTs, hence defeating
any sort of prefetch that the CPU could do for you. And my claim is
that reading the bitmap is much faster than parsing the PTs. Are you
saying that this isn't the case?
I am confused here. MMU DBM just updates the S2AP[1] of PTs, so dirty
information
is not continuous. The smallest granularity of read instruction is one
byte, we must
read one byte of each PTE to determine whether it is dirty. So I think
the smallest
reading amount is 512 bytes per 2MB.
Which is why using DBM as a way to implement dirty-logging doesn't work.
Forcing the vcpu to take faults in order to update the dirty bitmap
has the benefit of (a) telling you exactly what page has been written
to,
(b) *slowing the vcpu down*.
See? no additional read, better convergence ratio because you are not
trying to catch up with a vcpu running wild. You are in control of the
dirtying rate, not the vcpu, and the information you get requires no
extra work (just set the corresponding bit in the dirty bitmap).
Honestly, I think you are looking at the problem the wrong way.
DBM at S2 is not a solution to anything, because the information is
way too sparse, and it doesn't solve the real problem, which is
the tracking of dirty pages caused by devices.
As I said twice before, I will not consider these patches without
a solution to the DMA problem, and I don't think DBM is part of
that solution.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm