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

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


  • To: "Tim (Xen.org)" <tim@xxxxxxx>
  • From: Robert Phillips <robert.phillips@xxxxxxxxxx>
  • Date: Wed, 16 Jan 2013 10:10:14 -0500
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Cc: Jan Beulich <JBeulich@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxx>
  • Delivery-date: Wed, 16 Jan 2013 15:10:54 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: Ac3vLhPa78hmAtW7Td+tWnCWLNofOgEzXMGQ
  • Thread-topic: [Xen-devel] [PATCH] Provide support for multiple frame buffers in Xen

Tim,
I will be submitting a patch in a few minutes that addresses both of these 
concerns.
-- rsp

> -----Original Message-----
> From: Tim Deegan [mailto:tim@xxxxxxx]
> Sent: Thursday, January 10, 2013 7:29 AM
> To: Robert Phillips
> Cc: Jan Beulich; xen-devel@xxxxxxxxxxxxx
> Subject: Re: [Xen-devel] [PATCH] Provide support for multiple frame buffers
> in Xen
> 
> Hi,
> 
> I was really hoping to commit this today, but unfortunately, I've
> spotted two things:
> 
> 1. There are a few uses of *_to_virt() to get persistent mappings
>    of arbitrary addresses (PTEs, and pages of linked-list entries).
>    That's presumably going to interact badly with Jan's work to support
>    very large machines, which will reintroduce [un]map_domain_page()
>    for 64-bit x86.
> 
>    I wouldn't hold this patch back just for that, specially since the
>    code it replaces already uses maddr_to_virt(), but since it needs a
>    respin for the other thing I'd like Jan's opinion.
> 
> 2. This code still allocates user-controlled amounts of stack memory:
> 
> > +    {
> > +        int size = (nr + BITS_PER_LONG - 1) / BITS_PER_LONG;
> > +        unsigned long dirty_bitmap[size];
> > +
> > +        memset(dirty_bitmap, 0x00, size * BYTES_PER_LONG);
> > +
> > +        flush_tlb |= shadow_scan_dirty_flags(d, range,
> (uint8_t*)dirty_bitmap);
> > +
> > +        rc = -EFAULT;
> > +        if ( copy_to_guest(guest_dirty_bitmap,
> > +                           (uint8_t*)dirty_bitmap,
> > +                           size * BYTES_PER_LONG) == 0 )
> > +            rc = 0;
> > +    }
> 
> Cheers,
> 
> 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®.