All of lore.kernel.org
 help / color / mirror / Atom feed
From: Weidong Han <weidong.han@intel.com>
To: Jan Beulich <JBeulich@novell.com>
Cc: "Jiang, Yunhong" <yunhong.jiang@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: VT-d device assignment may fail (regression from Xen c/s	 19805:2f1fa2215e60)
Date: Wed, 27 Oct 2010 13:43:24 +0800	[thread overview]
Message-ID: <4CC7BBFC.8010802@intel.com> (raw)
In-Reply-To: <4CC17FE5020000780001E91F@vpn.id2.novell.com>

Jan Beulich wrote:
> Weidong,
>
> in this patch you removed a bus/devfn check around an invocation of
> domain_context_mapping_one() avoiding the attempt to call the
> function again if it was already called for this very device. This
> removal, however, conflicts with the context_present() check at the
> top of domain_context_mapping_one() - in particular, pdev->domain
> isn't set to the new owner yet, and hence the function fails.
>
> The question now is whether some similar check should be restored,
> or whether pdev->domain should get updated earlier. This may
>   
I prefer to add the check.

> need some additional consideration, since from looking at the code
> I would say that reassign_device_ownership() needs some error
> handling improvements too: Currently, partial failure isn't being
> handled properly at all (respective devices are left in a half way
> state - no longer properly assigned to Dom0, but also not yet
> assigned to DomU).
>   
Agree. The assignment should guarantee "done" or "none".
> I also wonder what guarantee there is for a device to exist at
> <secbus>:00.0 (since if there is none, the same context_present()
> check could at least theoretically again lead to problems as it
> checks for pci_get_pdev() returning non-NULL
>   
> Finally, isn't it inconsistent that only the original device gets its
> ->domain set to the new owner and gets moved to that domain's
> device list, but neither the upstream bridge nor that bridge's
> <secbus>:00.0 get handled the same way? What if below that
>   
Yes, it's better to do the same for the upstream bridge.
> bridge a device gets hot-added? Wouldn't that device
> incorrectly end up in Dom0, with no failures because the bridge
> still appears to be owned by Dom0 while it really isn't?
>   
Do you want some error message for this case?

Regards,
Weidong

  parent reply	other threads:[~2010-10-27  5:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-22 10:13 VT-d device assignment may fail (regression from Xen c/s 19805:2f1fa2215e60) Jan Beulich
2010-10-25  7:05 ` Jiang, Yunhong
2010-10-25  8:58   ` Jan Beulich
2010-10-25 15:31     ` Jiang, Yunhong
2010-10-25 15:52     ` Jiang, Yunhong
2010-10-25 16:07       ` Jan Beulich
2010-10-26  3:48         ` Alfred Song
2010-10-27  5:43 ` Weidong Han [this message]
2010-10-27  9:55   ` Jan Beulich
2010-10-28  0:26     ` Weidong Han
2010-10-27 11:34   ` Jan Beulich
2010-10-28  0:31     ` Weidong Han

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=4CC7BBFC.8010802@intel.com \
    --to=weidong.han@intel.com \
    --cc=JBeulich@novell.com \
    --cc=xen-devel@lists.xensource.com \
    --cc=yunhong.jiang@intel.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.