|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] amd iommu: Do not adjust paging mode for dom0 de
On 07/02/2011 09:58, "Wei Wang2" <wei.wang2@xxxxxxx> wrote:
> On Sunday 06 February 2011 17:58:18 Keir Fraser wrote:
>> On 01/02/2011 17:34, "Wei Wang2" <wei.wang2@xxxxxxx> wrote:
>
> amd_iommu_domain_init() is called very early, where get_paging_mode() cannot
> use domU->max_pages to setup proper io page level for domU. Instead, paging
> mode of domU has to be initialized as 4 for safety. That is why I want to
> adjust hd->paging_mode in reassign_device() using domU->max_pages. Since most
> domU use 2-3 level page tables, always using 4 level might be a waste.
>
> But I had a wrong assumption of dom0->max_pages, and consequently when return
> passthru device back to dom0, following lines in c/s 22825
>
> + if ( target->max_pages > 0 )
> + t->paging_mode = get_paging_mode(target->max_pages);
>
> will change hd->paging_mode of dom0 from 3 (in most case) to 4 (using
> get_paging_mode(dom0->max_pages)).
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
> Thanks,
> -Wei
>
>
>
>
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|