Re: Populating multiple ptes at fault time

From: Avi Kivity
Date: Thu Sep 18 2008 - 19:41:39 EST


Jeremy Fitzhardinge wrote:
Avi Kivity wrote:
Do you need to set the A bit synchronously?
Yes, of course (if no guest cooperation).

Is the A bit architecturally guaranteed to be synchronously set?

I believe so. The cpu won't cache tlb entries with the A bit clear (much like the shadow code), and will rmw the pte on first access.

Can
speculative accesses set it?

Yes, but don't abuse this.

If we add an async mode for guests that can cope, maybe this is
workable. I guess this is what you're suggesting.


Yes. At worst Linux would underestimate the process RSS a bit
(depending on how many unsynchronized ptes you leave lying around). I

Not the RSS (that's pte.present pages) but the working set (aka active list).

bet there's an appropriate pvop hook you could use to force
synchronization just before the kernel actually inspects the bits
(leaving lazy mode sounds good).

It would have to be a new lazy mode, not the existing one, I think.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/