summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.c
diff options
context:
space:
mode:
authorDexuan Cui <decui@microsoft.com>2017-11-01 20:30:53 +0000
committerBjorn Helgaas <bhelgaas@google.com>2017-11-07 18:06:39 -0600
commit79aa801e899417a56863d6713f76c4e108856000 (patch)
tree81d0d0c303ed08d1c7976e943e94f3de55c35824 /drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.c
parent9e66317d3c92ddaab330c125dfe9d06eee268aff (diff)
PCI: hv: Use effective affinity mask
The effective_affinity_mask is always set when an interrupt is assigned in __assign_irq_vector() -> apic->cpu_mask_to_apicid(), e.g. for struct apic apic_physflat: -> default_cpu_mask_to_apicid() -> irq_data_update_effective_affinity(), but it looks d->common->affinity remains all-1's before the user space or the kernel changes it later. In the early allocation/initialization phase of an IRQ, we should use the effective_affinity_mask, otherwise Hyper-V may not deliver the interrupt to the expected CPU. Without the patch, if we assign 7 Mellanox ConnectX-3 VFs to a 32-vCPU VM, one of the VFs may fail to receive interrupts. Tested-by: Adrian Suhov <v-adsuho@microsoft.com> Signed-off-by: Dexuan Cui <decui@microsoft.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Jake Oshins <jakeo@microsoft.com> Cc: stable@vger.kernel.org Cc: Jork Loeser <jloeser@microsoft.com> Cc: Stephen Hemminger <sthemmin@microsoft.com> Cc: K. Y. Srinivasan <kys@microsoft.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.c')
0 files changed, 0 insertions, 0 deletions