All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Boqun Feng <boqun.feng@gmail.com>
Cc: "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Arnd Bergmann" <arnd@arndb.de>, "Marc Zyngier" <maz@kernel.org>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	"Haiyang Zhang" <haiyangz@microsoft.com>,
	"Stephen Hemminger" <sthemmin@microsoft.com>,
	"Wei Liu" <wei.liu@kernel.org>,
	"Dexuan Cui" <decui@microsoft.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-pci@vger.kernel.org,
	"Sunil Muthuswamy" <sunilmut@microsoft.com>,
	"Mike Rapoport" <rppt@kernel.org>
Subject: Re: [PATCH v6 0/8] PCI: hv: Support host bridge probing on ARM64
Date: Mon, 23 Aug 2021 11:10:00 +0100	[thread overview]
Message-ID: <20210823100959.GA3294@lpieralisi> (raw)
In-Reply-To: <YR59KJ+SenbQ58cw@boqun-archlinux>

On Thu, Aug 19, 2021 at 11:47:52PM +0800, Boqun Feng wrote:
> On Thu, Aug 19, 2021 at 03:17:58PM +0100, Lorenzo Pieralisi wrote:
> > On Tue, Jul 27, 2021 at 02:06:49AM +0800, Boqun Feng wrote:
> > > Hi,
> > > 
> > > This is the v6 for the preparation of virtual PCI support on Hyper-V
> > > ARM64, Previous versions:
> > > 
> > > v1:	https://lore.kernel.org/lkml/20210319161956.2838291-1-boqun.feng@gmail.com/
> > > v2:	https://lore.kernel.org/lkml/20210503144635.2297386-1-boqun.feng@gmail.com/
> > > v3:	https://lore.kernel.org/lkml/20210609163211.3467449-1-boqun.feng@gmail.com/
> > > v4:	https://lore.kernel.org/lkml/20210714102737.198432-1-boqun.feng@gmail.com/
> > > v5:	https://lore.kernel.org/lkml/20210720134429.511541-1-boqun.feng@gmail.com/
> > > 
> > > Changes since last version:
> > > 
> > > *	Rebase to 5.14-rc3
> > > 
> > > *	Comment fixes as suggested by Bjorn.
> > > 
> > > The basic problem we need to resolve is that ARM64 is an arch with
> > > PCI_DOMAINS_GENERIC=y, so the bus sysdata is pci_config_window. However,
> > > Hyper-V PCI provides a paravirtualized PCI interface, so there is no
> > > actual pci_config_window for a PCI host bridge, so no information can be
> > > retrieve from the pci_config_window of a Hyper-V virtual PCI bus. Also
> > > there is no corresponding ACPI device for the Hyper-V PCI root bridge,
> > > which introduces a special case when trying to find the ACPI device from
> > > the sysdata (see patch #3).
> > > 
> > > With this patchset, we could enable the virtual PCI on Hyper-V ARM64
> > > guest with other code under development.
> > > 
> > > Comments and suggestions are welcome.
> > > 
> > > Regards,
> > > Boqun
> > > 
> > > Arnd Bergmann (1):
> > >   PCI: hv: Generify PCI probing
> > > 
> > > Boqun Feng (7):
> > >   PCI: Introduce domain_nr in pci_host_bridge
> > >   PCI: Support populating MSI domains of root buses via bridges
> > >   arm64: PCI: Restructure pcibios_root_bridge_prepare()
> > >   arm64: PCI: Support root bridge preparation for Hyper-V
> > >   PCI: hv: Set ->domain_nr of pci_host_bridge at probing time
> > >   PCI: hv: Set up MSI domain at bridge probing time
> > >   PCI: hv: Turn on the host bridge probing on ARM64
> > > 
> > >  arch/arm64/kernel/pci.c             | 29 +++++++---
> > >  drivers/pci/controller/pci-hyperv.c | 86 +++++++++++++++++------------
> > >  drivers/pci/probe.c                 | 12 +++-
> > >  include/linux/pci.h                 | 11 ++++
> > >  4 files changed, 93 insertions(+), 45 deletions(-)
> > 
> > If we take this series via the PCI tree we'd need Catalin/Will ACKs on
> > patches 3-4.
> > 
> 
> Got it.
> 
> > I need some time to look into [1] (thanks for that).
> > 
> > Without [1] patch 8 is ugly, that's no news. The question is whether
> > it is worth waiting for a kernel cycle to integrate [1] into this series
> > or not.
> > 
> > Is it really a problem if we postpone this series for another kernel
> > cycle so that we can look into it ?
> > 
> 
> Well, it's definitely better for me that we can have it in 5.15-rc1 ;-),
> because it's a dependency for Hyper-V virtual PCI support on ARM64 and
> we plan to send the rest of work in 5.15 cycle. And I can just base on
> hyperv-next for the rest of the work if this is in 5.15-rc1. But yes,
> it's not really a problem, since this one still needs to work with other
> patches to support virtual PCI on ARM64 Hyper-V.
> 
> In fact, I personally don't think [1] is better than patch 8 (plus patch
> 3 & 4): playing with ->private seems dangerous and not very helpful on
> readiblity, but I agree that we should explore every potential solution,
> and that's why I send [1].

Pulled the current series - now let's work together to improve it, I
will have a look into [1] in the weeks to come and get back to you with
some feedback.

Thanks,
Lorenzo

> Regards,
> Boqun
> 
> > [1] https://lore.kernel.org/lkml/20210811153619.88922-1-boqun.feng@gmail.com/

WARNING: multiple messages have this Message-ID (diff)
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Boqun Feng <boqun.feng@gmail.com>
Cc: "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Arnd Bergmann" <arnd@arndb.de>, "Marc Zyngier" <maz@kernel.org>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	"Haiyang Zhang" <haiyangz@microsoft.com>,
	"Stephen Hemminger" <sthemmin@microsoft.com>,
	"Wei Liu" <wei.liu@kernel.org>,
	"Dexuan Cui" <decui@microsoft.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-pci@vger.kernel.org,
	"Sunil Muthuswamy" <sunilmut@microsoft.com>,
	"Mike Rapoport" <rppt@kernel.org>
Subject: Re: [PATCH v6 0/8] PCI: hv: Support host bridge probing on ARM64
Date: Mon, 23 Aug 2021 11:10:00 +0100	[thread overview]
Message-ID: <20210823100959.GA3294@lpieralisi> (raw)
In-Reply-To: <YR59KJ+SenbQ58cw@boqun-archlinux>

On Thu, Aug 19, 2021 at 11:47:52PM +0800, Boqun Feng wrote:
> On Thu, Aug 19, 2021 at 03:17:58PM +0100, Lorenzo Pieralisi wrote:
> > On Tue, Jul 27, 2021 at 02:06:49AM +0800, Boqun Feng wrote:
> > > Hi,
> > > 
> > > This is the v6 for the preparation of virtual PCI support on Hyper-V
> > > ARM64, Previous versions:
> > > 
> > > v1:	https://lore.kernel.org/lkml/20210319161956.2838291-1-boqun.feng@gmail.com/
> > > v2:	https://lore.kernel.org/lkml/20210503144635.2297386-1-boqun.feng@gmail.com/
> > > v3:	https://lore.kernel.org/lkml/20210609163211.3467449-1-boqun.feng@gmail.com/
> > > v4:	https://lore.kernel.org/lkml/20210714102737.198432-1-boqun.feng@gmail.com/
> > > v5:	https://lore.kernel.org/lkml/20210720134429.511541-1-boqun.feng@gmail.com/
> > > 
> > > Changes since last version:
> > > 
> > > *	Rebase to 5.14-rc3
> > > 
> > > *	Comment fixes as suggested by Bjorn.
> > > 
> > > The basic problem we need to resolve is that ARM64 is an arch with
> > > PCI_DOMAINS_GENERIC=y, so the bus sysdata is pci_config_window. However,
> > > Hyper-V PCI provides a paravirtualized PCI interface, so there is no
> > > actual pci_config_window for a PCI host bridge, so no information can be
> > > retrieve from the pci_config_window of a Hyper-V virtual PCI bus. Also
> > > there is no corresponding ACPI device for the Hyper-V PCI root bridge,
> > > which introduces a special case when trying to find the ACPI device from
> > > the sysdata (see patch #3).
> > > 
> > > With this patchset, we could enable the virtual PCI on Hyper-V ARM64
> > > guest with other code under development.
> > > 
> > > Comments and suggestions are welcome.
> > > 
> > > Regards,
> > > Boqun
> > > 
> > > Arnd Bergmann (1):
> > >   PCI: hv: Generify PCI probing
> > > 
> > > Boqun Feng (7):
> > >   PCI: Introduce domain_nr in pci_host_bridge
> > >   PCI: Support populating MSI domains of root buses via bridges
> > >   arm64: PCI: Restructure pcibios_root_bridge_prepare()
> > >   arm64: PCI: Support root bridge preparation for Hyper-V
> > >   PCI: hv: Set ->domain_nr of pci_host_bridge at probing time
> > >   PCI: hv: Set up MSI domain at bridge probing time
> > >   PCI: hv: Turn on the host bridge probing on ARM64
> > > 
> > >  arch/arm64/kernel/pci.c             | 29 +++++++---
> > >  drivers/pci/controller/pci-hyperv.c | 86 +++++++++++++++++------------
> > >  drivers/pci/probe.c                 | 12 +++-
> > >  include/linux/pci.h                 | 11 ++++
> > >  4 files changed, 93 insertions(+), 45 deletions(-)
> > 
> > If we take this series via the PCI tree we'd need Catalin/Will ACKs on
> > patches 3-4.
> > 
> 
> Got it.
> 
> > I need some time to look into [1] (thanks for that).
> > 
> > Without [1] patch 8 is ugly, that's no news. The question is whether
> > it is worth waiting for a kernel cycle to integrate [1] into this series
> > or not.
> > 
> > Is it really a problem if we postpone this series for another kernel
> > cycle so that we can look into it ?
> > 
> 
> Well, it's definitely better for me that we can have it in 5.15-rc1 ;-),
> because it's a dependency for Hyper-V virtual PCI support on ARM64 and
> we plan to send the rest of work in 5.15 cycle. And I can just base on
> hyperv-next for the rest of the work if this is in 5.15-rc1. But yes,
> it's not really a problem, since this one still needs to work with other
> patches to support virtual PCI on ARM64 Hyper-V.
> 
> In fact, I personally don't think [1] is better than patch 8 (plus patch
> 3 & 4): playing with ->private seems dangerous and not very helpful on
> readiblity, but I agree that we should explore every potential solution,
> and that's why I send [1].

Pulled the current series - now let's work together to improve it, I
will have a look into [1] in the weeks to come and get back to you with
some feedback.

Thanks,
Lorenzo

> Regards,
> Boqun
> 
> > [1] https://lore.kernel.org/lkml/20210811153619.88922-1-boqun.feng@gmail.com/

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-08-23 10:10 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-26 18:06 [PATCH v6 0/8] PCI: hv: Support host bridge probing on ARM64 Boqun Feng
2021-07-26 18:06 ` Boqun Feng
2021-07-26 18:06 ` [PATCH v6 1/8] PCI: Introduce domain_nr in pci_host_bridge Boqun Feng
2021-07-26 18:06   ` Boqun Feng
2021-07-26 18:06 ` [PATCH v6 2/8] PCI: Support populating MSI domains of root buses via bridges Boqun Feng
2021-07-26 18:06   ` Boqun Feng
2021-07-27 16:14   ` Bjorn Helgaas
2021-07-27 16:14     ` Bjorn Helgaas
2021-07-26 18:06 ` [PATCH v6 3/8] arm64: PCI: Restructure pcibios_root_bridge_prepare() Boqun Feng
2021-07-26 18:06   ` Boqun Feng
2021-08-23  9:43   ` Catalin Marinas
2021-08-23  9:43     ` Catalin Marinas
2021-07-26 18:06 ` [PATCH v6 4/8] arm64: PCI: Support root bridge preparation for Hyper-V Boqun Feng
2021-07-26 18:06   ` Boqun Feng
2021-08-19 16:13   ` Boqun Feng
2021-08-19 16:13     ` Boqun Feng
2021-08-20 17:49     ` Catalin Marinas
2021-08-20 17:49       ` Catalin Marinas
2021-08-23  9:12       ` Lorenzo Pieralisi
2021-08-23  9:12         ` Lorenzo Pieralisi
2021-08-23  9:43   ` Catalin Marinas
2021-08-23  9:43     ` Catalin Marinas
2021-07-26 18:06 ` [PATCH v6 5/8] PCI: hv: Generify PCI probing Boqun Feng
2021-07-26 18:06   ` Boqun Feng
2021-07-26 18:06 ` [PATCH v6 6/8] PCI: hv: Set ->domain_nr of pci_host_bridge at probing time Boqun Feng
2021-07-26 18:06   ` Boqun Feng
2021-07-26 18:06 ` [PATCH v6 7/8] PCI: hv: Set up MSI domain at bridge " Boqun Feng
2021-07-26 18:06   ` Boqun Feng
2021-07-26 18:06 ` [PATCH v6 8/8] PCI: hv: Turn on the host bridge probing on ARM64 Boqun Feng
2021-07-26 18:06   ` Boqun Feng
2021-08-03 17:14   ` Lorenzo Pieralisi
2021-08-03 17:14     ` Lorenzo Pieralisi
2021-08-09 14:38     ` Boqun Feng
2021-08-09 14:38       ` Boqun Feng
2021-08-09 15:53       ` Lorenzo Pieralisi
2021-08-09 15:53         ` Lorenzo Pieralisi
2021-08-19 12:19         ` Boqun Feng
2021-08-19 12:19           ` Boqun Feng
2021-07-27 16:12 ` [PATCH v6 0/8] PCI: hv: Support " Bjorn Helgaas
2021-07-27 16:12   ` Bjorn Helgaas
2021-08-02  8:13   ` Boqun Feng
2021-08-02  8:13     ` Boqun Feng
2021-08-02  8:15 ` Boqun Feng
2021-08-02  8:15   ` Boqun Feng
2021-08-02 23:05   ` Bjorn Helgaas
2021-08-02 23:05     ` Bjorn Helgaas
2021-08-19 14:17 ` Lorenzo Pieralisi
2021-08-19 14:17   ` Lorenzo Pieralisi
2021-08-19 15:47   ` Boqun Feng
2021-08-19 15:47     ` Boqun Feng
2021-08-23 10:10     ` Lorenzo Pieralisi [this message]
2021-08-23 10:10       ` Lorenzo Pieralisi
2021-08-23 12:49       ` Boqun Feng
2021-08-23 12:49         ` Boqun Feng
2021-08-23 10:02 ` Lorenzo Pieralisi
2021-08-23 10:02   ` Lorenzo Pieralisi

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=20210823100959.GA3294@lpieralisi \
    --to=lorenzo.pieralisi@arm.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=boqun.feng@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=decui@microsoft.com \
    --cc=haiyangz@microsoft.com \
    --cc=kw@linux.com \
    --cc=kys@microsoft.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=robh@kernel.org \
    --cc=rppt@kernel.org \
    --cc=sthemmin@microsoft.com \
    --cc=sunilmut@microsoft.com \
    --cc=wei.liu@kernel.org \
    --cc=will@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 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.