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

Re: [Xen-devel] [PATCH v2 3/4] xen/arm: clean and invalidate all guest caches by VMID after domain build.

On Thu, 2014-02-06 at 14:26 +0000, Julien Grall wrote:
> Hi Ian,
> On 05/02/14 16:03, Ian Campbell wrote:
> > Guests are initially started with caches disabled and so we need to make 
> > sure
> > they see consistent data in RAM (requiring a cache clean) but also that they
> > do not have old stale data suddenly appear in the caches when they enable
> > their caches (requiring the invalidate).
> >
> > This can be split into two halves. First we must flush each page as it is
> > allocated to the guest. It is not sufficient to do the flush at scrub time
> > since this will miss pages which are ballooned out by the guest (where the
> > guest must scrub if it cares about not leaking the pagecontent). We need to
> > clean as well as invalidate to make sure that any scrubbing which has 
> > occured
> > gets committed to real RAM. To achieve this add a new cacheflush_page 
> > function,
> > which is a stub on x86.
> >
> > Secondly we need to flush anything which the domain builder touches, which 
> > we
> > do via a new domctl.
> As I understand, there is no hypercall continuation so if a domain give 
> a big range Xen will get stuck for a long time (no softirq will be 
> handled on the current processor ...). Shall we at least use 
> hypercall_create_continuation?

The hypercall deliberately limits the allowable range to avoid this.

This was discussed with Jan in a previous iteration, the other places
which end up here have a similar property, perhaps as a future cleanup
they can all be made preemptable.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.