xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Feng Wu <feng.wu@intel.com>
To: xen-devel@lists.xen.org
Cc: kevin.tian@intel.com, Feng Wu <feng.wu@intel.com>,
	george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com,
	dario.faggioli@citrix.com, jbeulich@suse.com
Subject: [PATCH v5 0/7] VMX: Properly handle pi descriptor and per-cpu blocking list
Date: Tue, 11 Oct 2016 08:57:46 +0800	[thread overview]
Message-ID: <1476147473-30970-1-git-send-email-feng.wu@intel.com> (raw)

The current VT-d PI related code may operate incorrectly in the
following scenarios:
1. When the last assigned device is dettached from the domain, all
the PI related hooks are removed then, however, the vCPU can be
blocked, switched to another pCPU, etc, all without the aware of
PI. After the next time we attach another device to the domain,
which makes the PI realted hooks avaliable again, the status
of the pi descriptor is not true. Beside that, the blocking vcpu
may still remain in the per-cpu blocking in this case. Patch [1/6]
and [2/6] handle this.

2. After the domain is destroyed, the the blocking vcpu may also
remain in the per-cpu blocking. Handled in patch [3/6].

3. When IRTE is in posted mode, we don't need to set the irq
affinity for it, since the destination of these interrupts is
vCPU and the vCPU affinity is set during vCPU scheduling. Patch
[5/6] handles this.

4. When a pCPU is unplugged, and there might be vCPUs on its
list. Since the pCPU is offline, those vCPUs might not be woken
up again. [6/6] addresses it.

Feng Wu (7):
  VMX: Statically assign two PI hooks
  VMX: Properly handle pi when all the assigned devices are removed
  VMX: Cleanup PI per-cpu blocking list when vcpu is destroyed
  VMX: Make sure PI is in proper state before install the hooks
  VT-d: No need to set irq affinity for posted format IRTE
  VT-d: Some cleanups
  VMX: Fixup PI descriptor when cpu is offline

 xen/arch/x86/hvm/vmx/vmcs.c            |  14 ++---
 xen/arch/x86/hvm/vmx/vmx.c             | 112 ++++++++++++++++++++++++++++++---
 xen/drivers/passthrough/vtd/intremap.c |  65 ++++++++++++++++---
 xen/include/asm-x86/hvm/vmx/vmx.h      |   1 +
 4 files changed, 168 insertions(+), 24 deletions(-)

-- 
2.1.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

             reply	other threads:[~2016-10-11  0:57 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-11  0:57 Feng Wu [this message]
2016-10-11  0:57 ` [PATCH v5 1/7] VMX: Statically assign two PI hooks Feng Wu
2016-10-11  8:11   ` Tian, Kevin
2016-10-12 13:25   ` Jan Beulich
2016-10-11  0:57 ` [PATCH v5 2/7] VMX: Properly handle pi when all the assigned devices are removed Feng Wu
2016-10-11  8:20   ` Tian, Kevin
2016-10-11  0:57 ` [PATCH v5 3/7] VMX: Cleanup PI per-cpu blocking list when vcpu is destroyed Feng Wu
2016-10-11  0:57 ` [PATCH v5 4/7] VMX: Make sure PI is in proper state before install the hooks Feng Wu
2016-10-12 13:45   ` Jan Beulich
2016-10-17  6:26     ` Wu, Feng
2016-10-24  7:22       ` Jan Beulich
2016-10-24  7:45         ` Wu, Feng
2016-10-24  7:59           ` Jan Beulich
2016-10-11  0:57 ` [PATCH v5 5/7] VT-d: No need to set irq affinity for posted format IRTE Feng Wu
2016-10-12 13:56   ` Jan Beulich
2016-10-17  7:02     ` Wu, Feng
2016-10-24  7:27       ` Jan Beulich
2016-10-24  8:57         ` Wu, Feng
2016-10-24  9:53           ` Jan Beulich
2016-10-24 10:18             ` Wu, Feng
2016-10-24 10:57               ` Jan Beulich
2016-10-24 11:10                 ` Wu, Feng
2016-10-24 11:31                   ` Jan Beulich
2016-10-25  1:04                     ` Wu, Feng
2016-10-25  5:57                       ` Tian, Kevin
2016-10-25  8:09                       ` Jan Beulich
2016-10-26  9:12                         ` Wu, Feng
2016-10-26  9:51                           ` Jan Beulich
2016-10-11  0:57 ` [PATCH v5 6/7] VT-d: Some cleanups Feng Wu
2016-10-12 14:01   ` Jan Beulich
2016-10-11  0:57 ` [PATCH v5 7/7] VMX: Fixup PI descriptor when cpu is offline Feng Wu
2016-10-11  8:38   ` Tian, Kevin
2016-10-11 11:46     ` Wu, Feng
2016-10-11  8:08 ` [PATCH v5 0/7] VMX: Properly handle pi descriptor and per-cpu blocking list Tian, Kevin
2016-10-11  8:11   ` Wu, Feng

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=1476147473-30970-1-git-send-email-feng.wu@intel.com \
    --to=feng.wu@intel.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dario.faggioli@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=kevin.tian@intel.com \
    --cc=xen-devel@lists.xen.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).