From: Wei Wang2 <wei.wang2@amd.com>
To: Keir Fraser <keir@xen.org>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH] amd iommu: Do not adjust paging mode for dom0 devices
Date: Mon, 7 Feb 2011 10:58:28 +0100 [thread overview]
Message-ID: <201102071058.29383.wei.wang2@amd.com> (raw)
In-Reply-To: <C97483AA.2AC3B%keir@xen.org>
On Sunday 06 February 2011 17:58:18 Keir Fraser wrote:
> On 01/02/2011 17:34, "Wei Wang2" <wei.wang2@amd.com> wrote:
> > Keir
> > Here is another small patch to fix consistency issue of paging mode when
> > return passthru devices back to dom0. In this case, paging mode should
> > not be adjusted, since dom0->max_pages = ~0U.
>
> The call to get_paging_mode() in amd_iommu_domain_init() looks sensible
> enough. Why is a call needed in reassign_device() at all? Checking for dom0
> in reassign_device just looks like a fragile hack.
>
> -- Keir
Keir,
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)).
Thanks,
-Wei
next prev parent reply other threads:[~2011-02-07 9:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-01 17:34 [PATCH] amd iommu: Do not adjust paging mode for dom0 devices Wei Wang2
2011-02-06 16:58 ` Keir Fraser
2011-02-07 9:58 ` Wei Wang2 [this message]
2011-02-07 10:10 ` Keir Fraser
2011-02-07 10:33 ` Wei Wang2
2011-02-07 10:47 ` Keir Fraser
2011-02-07 13:30 ` Wei Wang2
2011-02-07 15:00 ` Keir Fraser
2011-02-08 18:02 ` Wei Wang2
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201102071058.29383.wei.wang2@amd.com \
--to=wei.wang2@amd.com \
--cc=keir@xen.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.