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

Re: [Xen-devel] What's the advantage of Writable pagetable?



> 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


 


Rackspace

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