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

Re: [Xen-devel] [PATCH] Provide support for multiple frame buffers in Xen



See below
-- rsp

> -----Original Message-----
> From: Tim Deegan [mailto:tim@xxxxxxx]
> Sent: Thursday, January 24, 2013 6:25 AM
> To: Robert Phillips
> Cc: Jan Beulich; xen-devel@xxxxxxxxxxxxx
> Subject: Re: [Xen-devel] [PATCH] Provide support for multiple frame buffers
> in Xen
> 
> Hi,
> 
> At 14:28 -0500 on 21 Jan (1358778509), Robert Phillips wrote:
> > Support is provided for both shadow and hardware assisted paging (HAP)
> > modes. This code bookkeeps the set of video frame buffers (vram),
> > detects when the guest has modified any of those buffers and, upon
> > request, returns a bitmap of the modified pages.
> > This lets other software components re-paint the portions of the
> > monitor (or monitors) that have changed.
> > Each monitor has a frame buffer of some size at some position in guest
> > physical memory.
> > The set of frame buffers being tracked can change over time as
> > monitors are plugged and unplugged.
> 
> This doesn't apply to tip of xen-unstable.  Also:
> 
> > +        ext = __map_domain_page(pg);
> > +        /* Is unmapped in dirty_vram_free() */
> 
> Mappings from map_domain_page() can't be kept around like this.  They're
> supposed to be short-term, and in systems where we don't have a full 1-1
> map of memory (e.g. x86 once Jan's 16TB-support series goes in) there are a
> limited number of mapping slots.
> 
> Jan, what do you recommend here?  These are pages of linked-list entries,
> part of the p2m/mm overhead and so allocated from the guest's shadow
> memory.  Are we going to have to allocate them from xenheap instead or is
> there any way to avoid that?

One possible solution is to use a fixmap table. 
Rather than storing VAs in these tables, the code could store
entries containing physical_page/offset_in_page. 

 When managing the table
the code could remap PA/offset into a single fixed virtual address
(and clear its TLB).  Clearing a single TLB shouldn't hurt
performance too terribly, right?

(When I write "a single VA" I really mean "a small number of VAs".)

I do not know about fixmap tables, whether this is their
intended use and whether this solution would work.

> 
> Tim.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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