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

Re: [Xen-devel] [PATCH] amd iommu: Do not adjust paging mode for dom0 devices


  • To: Wei Wang2 <wei.wang2@xxxxxxx>
  • From: Keir Fraser <keir@xxxxxxx>
  • Date: Mon, 07 Feb 2011 10:47:32 +0000
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 07 Feb 2011 02:48:34 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=qTWdjjwY26jSkV4HaqhrhyhOHDm67k+8wWjqpGV+CLT4maE68Ti455R9s8GhQElPVl A/0HG3G9uINbdqAQbZSuRql0CLMo0ybuHBaMQroRGCiwopgumjuJ1tn/JnmJ59heA40k 0KZMaEQcW5sUtviE4apI4RZE2DAmdobOEtSYE=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcvGtGwWDc4evrxVQEqCbyY+YV6AMA==
  • Thread-topic: [Xen-devel] [PATCH] amd iommu: Do not adjust paging mode for dom0 devices

On 07/02/2011 10:33, "Wei Wang2" <wei.wang2@xxxxxxx> wrote:

>> And that's wrong is it? How do you know that dom0 doesn't have a whole load
>> of memory assigned to it?
>> 
>> The correct thing to do would be to adjust the table depth according to the
>> largest page number currently mapped in the table. Or just stick with four
>> levels always if you can't do the optimisation job properly.
>> 
>>  -- Keir
> Keir,
> I was a little confused, are you suggesting that max_page does not represent
> the last pfn of dom0?

The global variable max_page represents the largest machine frame number in
the system.

The domain field d->max_pages merely represents an allocation limit for a
domain, beyond which further allocation requests will be refused. Note it
doesn't guarantee that the domain does not have less memory, or *more*
memory (if max_pages got reduced below a domain's current allocation).

Also, for a PV guest like dom0, where the IOMMU table is presumably a 1:1
mapping, d->max_pages is not useful in any case because even if a guest has,
say, only 100MB memory allocated to it, that memory can be spread across the
entire host memory space from 0 to max_page. And max_page could be big!

Personally I would suggest starting with small 2-level tables and
dynamically increase their height as bigger mappings are added to them. Else
stick with 4-level tables, or size tables according to global variable
max_page. I think basing anything on d->max_pages is not a good idea.

 -- Keir

> I was assuming max_pdx is the index number... Or are
> you referring memory hot plug? If so, we might also need 4 level for dom0.




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


 


Rackspace

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