> As the queue is canceled, it seems that the performance will decline.
> Right?
Writeable pagetable performance is (I believe) comparable to the old batching
interface.
Basically, when a guest tries to write to a page table entry, Xen removes that
node from the page tables and makes it writeable. The guest can then write
to it as much as it wants but when it tries to actually *use* that part of
the page table (i.e. access a page corresponsing to one of its entries)
another fault occurs and Xen validates the node before returning it (assuming
it's valid) to the page tables.
Because the page table node is removed from the table and made writeable, only
the first change requires a fault. The node is only restored when it is
needed, at which point you would have needed a flush anyway in the old
system. This ensures good batching happens but it is always safe.
The end result is pretty much the same performance but the batching happens
implicitly without the guest having to worry about it. This makes porting
simpler, requires less source code changes and hopefully less tedious
debugging of guest memory management ;-)
HTH,
Mark
> On Sat, 09 Oct 2004 10:11:26 +0100, Keir Fraser
>
> <keir.fraser@xxxxxxxxxxxx> wrote:
> > Advantages are that update snaturally get batched, rather than needong
> > to be explicitly maintainbed in a queue and then explicitly
> > flushed. The flushes are a problem in Linux 2.4 because they are
> > needed in various places in the generic VM code, to avoid races where
> > the kernel reads a PTE that it has just written, but where the update
> > is still buffered in in the update queue.
> >
> > A further advantage is that atomic read-modify-write instructions will
> > trivially work correctly with writable page tables. e.g., when we
> > support SMP guests they will wish to 'CMPXCHG' the contents of a PTE
> > to zero them while notg racing against updates of accessed/dirty bits
> > by another CPU. Using the old interface with explicit batching. we
> > would have to add a new kind of update command to support each kind of
> > atomic instruction!
> >
> > -- Keir
> >
> > > Hi,
> > >
> > > Before writable pagetable is enabled, XenLinux use Hypercall to update
> > > PTE. After the writable pagetable is enabled, it depends on page fault
> > > to update PTE. What's the advantage then?
> > >
> > >
> > > Thanks,
> > > Chengyuan
> > >
> > >
> > > -------------------------------------------------------
> > > This SF.net email is sponsored by: IT Product Guide on
> > > ITManagersJournal Use IT products in your business? Tell us what you
> > > think of them. Give us Your Opinions, Get Free ThinkGeek Gift
> > > Certificates! Click to find out more
> > > http://productguide.itmanagersjournal.com/guidepromo.tmpl
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@xxxxxxxxxxxxxxxxxxxxx
> > > https://lists.sourceforge.net/lists/listinfo/xen-devel
>
> -------------------------------------------------------
> This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
> Use IT products in your business? Tell us what you think of them. Give us
> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
> http://productguide.itmanagersjournal.com/guidepromo.tmpl
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/xen-devel
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|