[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1551319643.git.m.maya.nakamura@gmail.com>
Date: Thu, 28 Feb 2019 02:32:00 +0000
From: Maya Nakamura <m.maya.nakamura@...il.com>
To: lorenzo.pieralisi@....com, bhelgaas@...gle.com,
linux-pci@...r.kernel.org, kys@...rosoft.com,
sthemmin@...rosoft.com, olaf@...fle.de, apw@...onical.com,
jasowang@...hat.com, mikelley@...rosoft.com,
Alexander.Levin@...rosoft.com
Cc: linux-kernel@...r.kernel.org, haiyangz@...rosoft.com,
vkuznets@...hat.com, marcelo.cerri@...onical.com,
linux-hyperv@...r.kernel.org
Subject: [PATCH v4 0/2] PCI: hv: Refactor hv_irq_unmask() to use hv_vpset and
cpumask_to_vpset()
This patchset removes a duplicate definition of VP set (hv_vp_set) and
uses the common definition (hv_vpset) that is used in other places. It
changes the order of the members in struct hv_pcibus_device due to
flexible array in hv_vpset.
It also removes the duplicate implementation of cpumask_to_vpset(), uses
the shared implementation, and exports hv_max_vp_index, which is
required by cpumask_to_vpset().
Based on Vitaly's findings, two changes were applied: replace GFP_KERNEL
with GFP_ATOMIC for alloc_cpumask_var() because hv_irq_unmask() runs
while a spinlock is held, and add __aligned(8) to struct
retarget_msi_interrupt because Hyper-V requires that hypercall arguments
be aligned on an 8 byte boundary.
Vitaly, thank you for finding the issues, and Lorenzo and Michael, thank
you for your guidance and support!
Maya Nakamura (2):
PCI: hv: Replace hv_vp_set with hv_vpset
PCI: hv: Refactor hv_irq_unmask() to use cpumask_to_vpset()
arch/x86/hyperv/hv_init.c | 1 +
drivers/pci/controller/pci-hyperv.c | 61 +++++++++++++----------------
2 files changed, 29 insertions(+), 33 deletions(-)
--
2.17.1
Powered by blists - more mailing lists