WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Memory fragmentation and PCI passthrough

To: Marek Marczykowski <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Memory fragmentation and PCI passthrough
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Wed, 7 Sep 2011 13:36:22 -0400
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Joanna Rutkowska <joanna@xxxxxxxxxxxxxxxxxxxxxx>, Rafal Wojtczuk <rafal@xxxxxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 07 Sep 2011 10:37:15 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4E665E53.3@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4E665E53.3@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue, Sep 06, 2011 at 07:54:27PM +0200, Marek Marczykowski wrote:
> Hello,
> 
> I've hit known problem with dynamic memory management - memory
> fragmentation... This dynamic memory management basically does xl
> mem-set to balance memory.
> 
> After some time of running system, xen memory is so fragmented that it
> is impossible to start new VM with PCI device. Sometimes it crashes
> during boot (no 64MB contiguous memory for SWIOTLB), or later - eg.
> iwlagn cannot allocate memory for loading firmware (few allocs, each
> bellow 100k).
> 
> DomU kernel cmdline: console=hvc0 iommu=soft earlyprintk=xen
> 
> There is two cases (I think):
> 1. With IOMMU
> 2. Without IOMMU
> I've tried only the second one.
> 
> Is there any known solution for this problem?
> Some ideas:
> 1. With IOMMU pass iommu=pv to Xen. AFAIU domU will not need iommu=soft
> parameter then, right? Will it work then with fragmented memory?

It will still need it. Otherwise the Xen SWIOTLB won't be used.

But you can limit the amount of memory for the SWIOTLB, say by
doing 'swiotlb=2048'

> 
> 2. Force somehow on xen/libxl to allocate memory (for domU) in chunks
> of, say 4MB, to not fragment it so badly. Is it doable?
> 
> In tmem documentation is also described some workaround for this:
> reserve some memory region for allocations with 0<order<=9. But SWIOTLB
> tries to allocate 64MB, which much bigger than 2MB... Is it really
> needed to allocate such big region of contiguous memory in one piece?

Nope. It only uses that pool for 32-bit devices too - so there is not
really a big need for it.


> 
> -- 
> Pozdrawiam / Best Regards,
> Marek Marczykowski
> Invisible Things Lab
> 



> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>