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

Re: [Xen-devel] [PATCH] x86: add locking to map_pages_to_xen()


  • To: Jan Beulich <JBeulich@xxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <keir.xen@xxxxxxxxx>
  • Date: Mon, 15 Jul 2013 13:12:16 +0100
  • Delivery-date: Mon, 15 Jul 2013 12:12:28 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: Ac6BVIueHxmFKCHnQEevylbk5Qzw9Q==
  • Thread-topic: [PATCH] x86: add locking to map_pages_to_xen()

On 15/07/2013 11:08, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:

> While boot time calls don't need this, run time uses of the function
> which may result in L2 page tables getting populated need to be
> serialized to avoid two CPUs populating the same L2 (or L3) entry,
> overwriting each other's results.
> 
> This is expected to fix what would seem to be a regression from commit
> b0581b92 ("x86: make map_domain_page_global() a simple wrapper around
> vmap()"), albeit that change only made more readily visible the already
> existing issue.
> 
> This patch intentionally does not
> - add locking to the page table de-allocation logic in
>   destroy_xen_mappings() (the only user having potential races here,
>   msix_put_fixmap(), gets converted to use __set_fixmap() instead)
> - avoid races between super page splitting and reconstruction in
>   map_pages_to_xen() (no such uses exist; races between multiple
>   splitting attempts or between multiple reconstruction attempts are
>   being taken care of)
> If we wanted to take care of these, we'd need to alter the behavior
> of virt_to_xen_l?e() - they would need to return with the lock held
> then.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Acked-by: Keir Fraser <keir@xxxxxxx>



_______________________________________________
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®.