|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] amd iommu: Do not adjust paging mode for dom0 de
On Monday 07 February 2011 11:10:12 Keir Fraser wrote:
> 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
Keir,
I was a little confused, are you suggesting that max_page does not represent
the last pfn of dom0? 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.
Thanks,
Wei
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|