All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tian, Kevin" <kevin.tian@intel.com>
To: "Wu, Feng" <feng.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Cc: "george.dunlap@eu.citrix.com" <george.dunlap@eu.citrix.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"dario.faggioli@citrix.com" <dario.faggioli@citrix.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>
Subject: Re: [PATCH v5 1/7] VMX: Statically assign two PI hooks
Date: Tue, 11 Oct 2016 08:11:00 +0000	[thread overview]
Message-ID: <AADFC41AFE54684AB9EE6CBC0274A5D18DFAD6E7@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <1476147473-30970-2-git-send-email-feng.wu@intel.com>

> From: Wu, Feng
> Sent: Tuesday, October 11, 2016 8:58 AM
> 
> PI hooks: vmx_pi_switch_from() and vmx_pi_switch_to() are
> needed even when any previously assigned device is detached
> from the domain. Since 'SN' bit is also used to control the
> CPU side PI and we change the state of SN bit in these two
> functions, then evaluate this bit in vmx_deliver_posted_intr()
> when trying to deliver the interrupt in posted way via software.
> The problem is if we deassign the hooks while the vCPU is runnable
> in the runqueue with 'SN' set, all the furture notificaton event
> will be suppressed. This patch makes these two hooks statically
> assigned.

Your patch has only one hook statically assigned...

> 
> Signed-off-by: Feng Wu <feng.wu@intel.com>
> ---
> v5:
> - Zap "pi_switch_from" hook
> 
>  xen/arch/x86/hvm/vmx/vmx.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 3d330b6..623d5bc 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -147,6 +147,11 @@ static void vmx_pi_switch_from(struct vcpu *v)
>      pi_set_sn(pi_desc);
>  }
> 
> +/*
> + * In fact, we can remove this hooks inside itself if no new device is in the
> + * process of getting assigned and "from" hook is NULL. However, it is not
> + * straightforward to find a clear solution, so just leave it here.
> + */
>  static void vmx_pi_switch_to(struct vcpu *v)
>  {
>      struct pi_desc *pi_desc = &v->arch.hvm_vmx.pi_desc;
> @@ -221,9 +226,8 @@ void vmx_pi_hooks_deassign(struct domain *d)
>      ASSERT(d->arch.hvm_domain.vmx.vcpu_block);
> 
>      d->arch.hvm_domain.vmx.vcpu_block = NULL;
> -    d->arch.hvm_domain.vmx.pi_switch_from = NULL;
> -    d->arch.hvm_domain.vmx.pi_switch_to = NULL;
>      d->arch.hvm_domain.vmx.pi_do_resume = NULL;
> +    d->arch.hvm_domain.vmx.pi_switch_from = NULL;
>  }
> 
>  static int vmx_domain_initialise(struct domain *d)
> --
> 2.1.0


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

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

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-11  0:57 [PATCH v5 0/7] VMX: Properly handle pi descriptor and per-cpu blocking list Feng Wu
2016-10-11  0:57 ` [PATCH v5 1/7] VMX: Statically assign two PI hooks Feng Wu
2016-10-11  8:11   ` Tian, Kevin [this message]
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=AADFC41AFE54684AB9EE6CBC0274A5D18DFAD6E7@SHSMSX101.ccr.corp.intel.com \
    --to=kevin.tian@intel.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dario.faggioli@citrix.com \
    --cc=feng.wu@intel.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=jbeulich@suse.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 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.