linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: "Wu, Feng" <feng.wu@intel.com>
Cc: "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"gleb@kernel.org" <gleb@kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>,
	"dwmw2@infradead.org" <dwmw2@infradead.org>,
	"joro@8bytes.org" <joro@8bytes.org>,
	"jiang.liu@linux.intel.com" <jiang.liu@linux.intel.com>,
	"eric.auger@linaro.org" <eric.auger@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [v3 00/26] Add VT-d Posted-Interrupts support
Date: Tue, 27 Jan 2015 20:44:28 -0700	[thread overview]
Message-ID: <1422416668.22865.91.camel@redhat.com> (raw)
In-Reply-To: <E959C4978C3B6342920538CF579893F0023826A5@SHSMSX104.ccr.corp.intel.com>

On Wed, 2015-01-28 at 03:01 +0000, Wu, Feng wrote:
> 
> > -----Original Message-----
> > From: Wu, Feng
> > Sent: Wednesday, January 21, 2015 10:26 AM
> > To: tglx@linutronix.de; mingo@redhat.com; hpa@zytor.com; x86@kernel.org;
> > gleb@kernel.org; pbonzini@redhat.com; dwmw2@infradead.org;
> > joro@8bytes.org; alex.williamson@redhat.com; jiang.liu@linux.intel.com
> > Cc: eric.auger@linaro.org; linux-kernel@vger.kernel.org;
> > iommu@lists.linux-foundation.org; kvm@vger.kernel.org; Wu, Feng
> > Subject: RE: [v3 00/26] Add VT-d Posted-Interrupts support
> > 
> > 
> > > -----Original Message-----
> > > From: Wu, Feng
> > > Sent: Friday, December 12, 2014 11:15 PM
> > > To: tglx@linutronix.de; mingo@redhat.com; hpa@zytor.com;
> > x86@kernel.org;
> > > gleb@kernel.org; pbonzini@redhat.com; dwmw2@infradead.org;
> > > joro@8bytes.org; alex.williamson@redhat.com; jiang.liu@linux.intel.com
> > > Cc: eric.auger@linaro.org; linux-kernel@vger.kernel.org;
> > > iommu@lists.linux-foundation.org; kvm@vger.kernel.org; Wu, Feng
> > > Subject: [v3 00/26] Add VT-d Posted-Interrupts support
> > >
> > > VT-d Posted-Interrupts is an enhancement to CPU side Posted-Interrupt.
> > > With VT-d Posted-Interrupts enabled, external interrupts from
> > > direct-assigned devices can be delivered to guests without VMM
> > > intervention when guest is running in non-root mode.
> > >
> > > You can find the VT-d Posted-Interrtups Spec. in the following URL:
> > >
> > http://www.intel.com/content/www/us/en/intelligent-systems/intel-technolog
> > > y/vt-directed-io-spec.html
> > >
> > > v1->v2:
> > > * Use VFIO framework to enable this feature, the VFIO part of this series is
> > >   base on Eric's patch "[PATCH v3 0/8] KVM-VFIO IRQ forward control"
> > > * Rebase this patchset on
> > > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git,
> > >   then revise some irq logic based on the new hierarchy irqdomain patches
> > > provided
> > >   by Jiang Liu <jiang.liu@linux.intel.com>
> > >
> > > v2->v3:
> > > * Adjust the Posted-interrupts Descriptor updating logic when vCPU is
> > >   preempted or blocked.
> > > * KVM_DEV_VFIO_DEVICE_POSTING_IRQ -->
> > > KVM_DEV_VFIO_DEVICE_POST_IRQ
> > > * __KVM_HAVE_ARCH_KVM_VFIO_POSTING -->
> > > __KVM_HAVE_ARCH_KVM_VFIO_POST
> > > * Add KVM_DEV_VFIO_DEVICE_UNPOST_IRQ attribute for VFIO irq, which
> > >   can be used to change back to remapping mode.
> > > * Fix typo
> > >
> > > This patch series is made of the following groups:
> > > 1-6: Some preparation changes in iommu and irq component, this is based on
> > > the
> > >      new hierarchy irqdomain logic.
> > > 7-9, 26: IOMMU changes for VT-d Posted-Interrupts, such as, feature
> > > detection,
> > >           command line parameter.
> > > 10-17, 22-25: Changes related to KVM itself.
> > > 18-20: Changes in VFIO component, this part was previously sent out as
> > > "[RFC PATCH v2 0/2] kvm-vfio: implement the vfio skeleton for VT-d
> > > Posted-Interrupts"
> > > 21: x86 irq related changes
> > >
> > > Feng Wu (26):
> > >   genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a
> > >     VCPU
> > >   iommu: Add new member capability to struct irq_remap_ops
> > >   iommu, x86: Define new irte structure for VT-d Posted-Interrupts
> > >   iommu, x86: Implement irq_set_vcpu_affinity for intel_ir_chip
> > >   x86, irq: Implement irq_set_vcpu_affinity for pci_msi_ir_controller
> > >   iommu, x86: No need to migrating irq for VT-d Posted-Interrupts
> > >   iommu, x86: Add cap_pi_support() to detect VT-d PI capability
> > >   iommu, x86: Add intel_irq_remapping_capability() for Intel
> > >   iommu, x86: define irq_remapping_cap()
> > >   KVM: change struct pi_desc for VT-d Posted-Interrupts
> > >   KVM: Add some helper functions for Posted-Interrupts
> > >   KVM: Initialize VT-d Posted-Interrupts Descriptor
> > >   KVM: Define a new interface kvm_find_dest_vcpu() for VT-d PI
> > >   KVM: Get Posted-Interrupts descriptor address from struct kvm_vcpu
> > >   KVM: add interfaces to control PI outside vmx
> > >   KVM: Make struct kvm_irq_routing_table accessible
> > >   KVM: make kvm_set_msi_irq() public
> > >   KVM: kvm-vfio: User API for VT-d Posted-Interrupts
> > >   KVM: kvm-vfio: implement the VFIO skeleton for VT-d Posted-Interrupts
> > >   KVM: x86: kvm-vfio: VT-d posted-interrupts setup
> > >   x86, irq: Define a global vector for VT-d Posted-Interrupts
> > >   KVM: Define a wakeup worker thread for vCPU
> > >   KVM: Update Posted-Interrupts Descriptor when vCPU is preempted
> > >   KVM: Update Posted-Interrupts Descriptor when vCPU is blocked
> > >   KVM: Suppress posted-interrupt when 'SN' is set
> > >   iommu/vt-d: Add a command line parameter for VT-d posted-interrupts
> > >
> > >  Documentation/kernel-parameters.txt        |   1 +
> > >  Documentation/virtual/kvm/devices/vfio.txt |   9 ++
> > >  arch/x86/include/asm/entry_arch.h          |   2 +
> > >  arch/x86/include/asm/hardirq.h             |   1 +
> > >  arch/x86/include/asm/hw_irq.h              |   2 +
> > >  arch/x86/include/asm/irq_remapping.h       |  11 ++
> > >  arch/x86/include/asm/irq_vectors.h         |   1 +
> > >  arch/x86/include/asm/kvm_host.h            |  12 ++
> > >  arch/x86/kernel/apic/msi.c                 |   1 +
> > >  arch/x86/kernel/entry_64.S                 |   2 +
> > >  arch/x86/kernel/irq.c                      |  27 ++++
> > >  arch/x86/kernel/irqinit.c                  |   2 +
> > >  arch/x86/kvm/Makefile                      |   2 +-
> > >  arch/x86/kvm/kvm_vfio_x86.c                |  77 +++++++++
> > >  arch/x86/kvm/vmx.c                         | 244
> > > ++++++++++++++++++++++++++++-
> > >  arch/x86/kvm/x86.c                         |  22 ++-
> > >  drivers/iommu/intel_irq_remapping.c        |  68 +++++++-
> > >  drivers/iommu/irq_remapping.c              |  24 ++-
> > >  drivers/iommu/irq_remapping.h              |   8 +
> > >  include/linux/dmar.h                       |  32 ++++
> > >  include/linux/intel-iommu.h                |   1 +
> > >  include/linux/irq.h                        |   7 +
> > >  include/linux/kvm_host.h                   |  46 ++++++
> > >  include/uapi/linux/kvm.h                   |  11 ++
> > >  kernel/irq/chip.c                          |  14 ++
> > >  kernel/irq/manage.c                        |  20 +++
> > >  virt/kvm/irq_comm.c                        |  43 ++++-
> > >  virt/kvm/irqchip.c                         |  11 --
> > >  virt/kvm/kvm_main.c                        |  15 ++
> > >  virt/kvm/vfio.c                            | 107 +++++++++++++
> > >  30 files changed, 795 insertions(+), 28 deletions(-)
> > >  create mode 100644 arch/x86/kvm/kvm_vfio_x86.c
> > >
> > 
> > Hi Paolo, Alex, and other maintainers,
> > 
> > Since this series contain multiple subsystems, IOMMU, irq, x86, VFIO, KVM, etc.
> > I am wondering how you guys handled this case before? If all the patches are
> > reviewed and acked by the associated maintainer, are you only merge the
> > patches
> > related to your own subsystem to your tree? However, you may also need get
> > other
> > patches to make the build successful, so I am a little curious about how you guys
> > handle this? Thanks a lot!
> 
> Can anyone share some experiences about this?

Generally you need to split the patches into logical changes per
subsystem and submit them separately through the mailing list and
maintainer.  This helps to make sure the changes make sense and stand on
their own and aren't simply a hack to reach the end goal.  Submit what
you can in parallel, but expect that if you send patches dependent on
other, unmerged series, they will get ignored and will need to be resent
when the dependencies are resolved in -next.  Thanks,

Alex


  reply	other threads:[~2015-01-28  3:45 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-12 15:14 [v3 00/26] Add VT-d Posted-Interrupts support Feng Wu
2014-12-12 15:14 ` [v3 01/26] genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a VCPU Feng Wu
2014-12-12 15:14 ` [v3 02/26] iommu: Add new member capability to struct irq_remap_ops Feng Wu
2015-01-28 15:22   ` David Woodhouse
2015-01-29  8:34     ` Wu, Feng
2014-12-12 15:14 ` [v3 03/26] iommu, x86: Define new irte structure for VT-d Posted-Interrupts Feng Wu
2015-01-28 15:26   ` David Woodhouse
2014-12-12 15:14 ` [v3 04/26] iommu, x86: Implement irq_set_vcpu_affinity for intel_ir_chip Feng Wu
2015-01-28 15:26   ` David Woodhouse
2015-01-29  7:55     ` Wu, Feng
2014-12-12 15:14 ` [v3 05/26] x86, irq: Implement irq_set_vcpu_affinity for pci_msi_ir_controller Feng Wu
2014-12-12 15:14 ` [v3 06/26] iommu, x86: No need to migrating irq for VT-d Posted-Interrupts Feng Wu
2014-12-18 14:26   ` Zhang, Yang Z
2014-12-19  1:40     ` Wu, Feng
2014-12-19  1:46       ` Zhang, Yang Z
2014-12-19 11:59         ` Paolo Bonzini
2014-12-23  0:37           ` Zhang, Yang Z
2014-12-23  8:47             ` Paolo Bonzini
2014-12-23  9:07               ` Wu, Feng
2014-12-23  9:34                 ` Paolo Bonzini
2014-12-24  1:38                   ` Zhang, Yang Z
2014-12-24  2:12                     ` Jiang Liu
2014-12-24  2:32                       ` Zhang, Yang Z
2014-12-24  3:08                         ` Wu, Feng
2014-12-24  4:04                           ` Zhang, Yang Z
2014-12-24  4:54                         ` Jiang Liu
2015-01-28 15:29   ` David Woodhouse
2014-12-12 15:14 ` [v3 07/26] iommu, x86: Add cap_pi_support() to detect VT-d PI capability Feng Wu
2015-01-28 15:32   ` David Woodhouse
2014-12-12 15:14 ` [v3 08/26] iommu, x86: Add intel_irq_remapping_capability() for Intel Feng Wu
2015-01-28 15:37   ` David Woodhouse
2015-01-29  8:57     ` Wu, Feng
2014-12-12 15:14 ` [v3 09/26] iommu, x86: define irq_remapping_cap() Feng Wu
2014-12-12 15:14 ` [v3 10/26] KVM: change struct pi_desc for VT-d Posted-Interrupts Feng Wu
2014-12-12 15:14 ` [v3 11/26] KVM: Add some helper functions for Posted-Interrupts Feng Wu
2014-12-12 15:14 ` [v3 12/26] KVM: Initialize VT-d Posted-Interrupts Descriptor Feng Wu
2014-12-18 15:19   ` Zhang, Yang Z
2014-12-12 15:14 ` [v3 13/26] KVM: Define a new interface kvm_find_dest_vcpu() for VT-d PI Feng Wu
2014-12-18 14:49   ` Zhang, Yang Z
2014-12-18 16:58     ` Paolo Bonzini
2014-12-19  1:13       ` Zhang, Yang Z
2014-12-19  1:30         ` Wu, Feng
2014-12-19  1:30       ` Wu, Feng
2014-12-19  1:47         ` Zhang, Yang Z
2014-12-19 11:59         ` Paolo Bonzini
2014-12-19 23:48           ` Wu, Feng
2014-12-20 13:16             ` Paolo Bonzini
2014-12-22  4:48               ` Wu, Feng
2014-12-22  9:27                 ` Paolo Bonzini
2014-12-22 11:04                   ` Wu, Feng
2014-12-22 11:06                     ` Paolo Bonzini
2014-12-22 11:17                       ` Wu, Feng
2014-12-22 11:23                         ` Paolo Bonzini
2014-12-22 14:13                           ` Yong Wang
2015-01-09 14:54   ` Radim Krčmář
2015-01-09 14:56     ` Paolo Bonzini
2015-01-09 15:12       ` Radim Krčmář
2015-01-09 15:18         ` Paolo Bonzini
2015-01-09 15:47           ` Radim Krčmář
2015-01-13  0:27       ` Wu, Feng
2015-01-13 16:17         ` Radim Kr?má?
2015-01-14  1:27           ` Wu, Feng
2015-01-14 13:02             ` Paolo Bonzini
2015-01-14 16:59             ` Radim Kr?má?
2015-01-20 21:04               ` Nadav Amit
2015-01-21 21:16                 ` Radim Kr?má?
2014-12-12 15:14 ` [v3 14/26] KVM: Get Posted-Interrupts descriptor address from struct kvm_vcpu Feng Wu
2014-12-12 15:14 ` [v3 15/26] KVM: add interfaces to control PI outside vmx Feng Wu
2014-12-12 15:14 ` [v3 16/26] KVM: Make struct kvm_irq_routing_table accessible Feng Wu
2014-12-17 16:17   ` Paolo Bonzini
2014-12-19  2:19     ` Wu, Feng
2014-12-19 11:59       ` Paolo Bonzini
2014-12-19 23:39         ` Wu, Feng
2014-12-12 15:14 ` [v3 17/26] KVM: make kvm_set_msi_irq() public Feng Wu
2014-12-17 17:32   ` Paolo Bonzini
2014-12-12 15:14 ` [v3 18/26] KVM: kvm-vfio: User API for VT-d Posted-Interrupts Feng Wu
2014-12-12 15:14 ` [v3 19/26] KVM: kvm-vfio: implement the VFIO skeleton " Feng Wu
2014-12-12 15:14 ` [v3 20/26] KVM: x86: kvm-vfio: VT-d posted-interrupts setup Feng Wu
2014-12-12 15:14 ` [v3 21/26] x86, irq: Define a global vector for VT-d Posted-Interrupts Feng Wu
2014-12-18 14:54   ` Zhang, Yang Z
2014-12-19  0:52     ` Wu, Feng
2015-01-30 18:18   ` H. Peter Anvin
2015-02-02  1:06     ` Wu, Feng
2015-02-23 22:04   ` Marcelo Tosatti
2014-12-12 15:14 ` [v3 22/26] KVM: Define a wakeup worker thread for vCPU Feng Wu
2014-12-12 15:14 ` [v3 23/26] KVM: Update Posted-Interrupts Descriptor when vCPU is preempted Feng Wu
2014-12-17 17:11   ` Paolo Bonzini
2014-12-18  3:15     ` Wu, Feng
2014-12-18  8:32       ` Paolo Bonzini
2014-12-19  2:09         ` Wu, Feng
2015-02-23 22:21   ` Marcelo Tosatti
2015-03-02  9:12     ` Wu, Feng
2014-12-12 15:14 ` [v3 24/26] KVM: Update Posted-Interrupts Descriptor when vCPU is blocked Feng Wu
2014-12-17 17:09   ` Paolo Bonzini
2014-12-18  3:16     ` Wu, Feng
2014-12-18  8:37       ` Paolo Bonzini
2014-12-19  2:51         ` Wu, Feng
2015-02-25 21:50   ` Marcelo Tosatti
2015-02-26  8:08     ` Wu, Feng
2015-02-26 23:41       ` Marcelo Tosatti
2015-02-26 23:40   ` Marcelo Tosatti
2015-03-02 13:36     ` Wu, Feng
2015-03-04 12:06       ` Marcelo Tosatti
2015-03-06  6:51         ` Wu, Feng
2015-03-12  1:15           ` Marcelo Tosatti
2015-03-16 11:42             ` Wu, Feng
2015-03-25 23:17               ` Marcelo Tosatti
2015-03-27  6:34                 ` Wu, Feng
2015-03-27 19:30                   ` Marcelo Tosatti
2015-03-30  4:46                     ` Wu, Feng
2015-03-30 23:55                       ` Marcelo Tosatti
2015-03-31  1:13                         ` Wu, Feng
2015-04-14  7:37                         ` Wu, Feng
2015-06-05 21:59                           ` Marcelo Tosatti
2015-06-08  1:43                             ` Wu, Feng
2014-12-12 15:14 ` [v3 25/26] KVM: Suppress posted-interrupt when 'SN' is set Feng Wu
2014-12-17 17:42   ` Paolo Bonzini
2014-12-18  3:14     ` Wu, Feng
2014-12-18  8:38       ` Paolo Bonzini
2014-12-18 15:09         ` Zhang, Yang Z
2014-12-19  2:58           ` Wu, Feng
2014-12-19  3:32             ` Zhang, Yang Z
2014-12-19  4:34               ` Wu, Feng
2014-12-19  4:44                 ` Zhang, Yang Z
2014-12-19  4:49                   ` Wu, Feng
2014-12-19  5:25                     ` Zhang, Yang Z
2014-12-19  5:46                       ` Wu, Feng
2014-12-19  7:04                         ` Zhang, Yang Z
2014-12-19 12:00                       ` Paolo Bonzini
2014-12-19 23:34                         ` Wu, Feng
2014-12-12 15:15 ` [v3 26/26] iommu/vt-d: Add a command line parameter for VT-d posted-interrupts Feng Wu
2015-01-28 15:39   ` David Woodhouse
2014-12-16  9:04 ` [v3 00/26] Add VT-d Posted-Interrupts support Wu, Feng
2015-01-06  1:10 ` Wu, Feng
2015-01-09 12:46   ` joro
2015-01-09 13:58     ` Wu, Feng
2015-01-21  2:25 ` Wu, Feng
2015-01-28  3:01   ` Wu, Feng
2015-01-28  3:44     ` Alex Williamson [this message]
2015-01-28  4:44       ` 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=1422416668.22865.91.camel@redhat.com \
    --to=alex.williamson@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=eric.auger@linaro.org \
    --cc=feng.wu@intel.com \
    --cc=gleb@kernel.org \
    --cc=hpa@zytor.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jiang.liu@linux.intel.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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).