]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop vfio-type1-conditional-rescheduling-while-pinning.patch from 5.15
authorSasha Levin <sashal@kernel.org>
Sun, 17 Aug 2025 19:59:22 +0000 (15:59 -0400)
committerSasha Levin <sashal@kernel.org>
Sun, 17 Aug 2025 19:59:22 +0000 (15:59 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.15/series
queue-5.15/vfio-type1-conditional-rescheduling-while-pinning.patch [deleted file]

index 861bfa886856d974fc8ea075b7f8dab03be7bb43..d9bdb993d048e342ebcfe68842a9c4ec0296069d 100644 (file)
@@ -417,7 +417,6 @@ i3c-don-t-fail-if-gethdrcap-is-unsupported.patch
 dm-mpath-don-t-print-the-loaded-message-if-registeri.patch
 i2c-force-dll0945-touchpad-i2c-freq-to-100khz.patch
 kconfig-lxdialog-replace-strcpy-with-strncpy-in-inpu.patch
-vfio-type1-conditional-rescheduling-while-pinning.patch
 kconfig-nconf-ensure-null-termination-where-strncpy-.patch
 scsi-fix-sas_user_scan-to-handle-wildcard-and-multi-.patch
 scsi-target-core-generate-correct-identifiers-for-pr.patch
diff --git a/queue-5.15/vfio-type1-conditional-rescheduling-while-pinning.patch b/queue-5.15/vfio-type1-conditional-rescheduling-while-pinning.patch
deleted file mode 100644 (file)
index 3471c2e..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-From 5064002ccd542e4b0a1228293768b0afdbd1a979 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 15 Jul 2025 11:46:22 -0700
-Subject: vfio/type1: conditional rescheduling while pinning
-
-From: Keith Busch <kbusch@kernel.org>
-
-[ Upstream commit b1779e4f209c7ff7e32f3c79d69bca4e3a3a68b6 ]
-
-A large DMA mapping request can loop through dma address pinning for
-many pages. In cases where THP can not be used, the repeated vmf_insert_pfn can
-be costly, so let the task reschedule as need to prevent CPU stalls. Failure to
-do so has potential harmful side effects, like increased memory pressure
-as unrelated rcu tasks are unable to make their reclaim callbacks and
-result in OOM conditions.
-
- rcu: INFO: rcu_sched self-detected stall on CPU
- rcu:   36-....: (20999 ticks this GP) idle=b01c/1/0x4000000000000000 softirq=35839/35839 fqs=3538
- rcu:            hardirqs   softirqs   csw/system
- rcu:    number:        0        107            0
- rcu:   cputime:       50          0        10446   ==> 10556(ms)
- rcu:   (t=21075 jiffies g=377761 q=204059 ncpus=384)
-...
-  <TASK>
-  ? asm_sysvec_apic_timer_interrupt+0x16/0x20
-  ? walk_system_ram_range+0x63/0x120
-  ? walk_system_ram_range+0x46/0x120
-  ? pgprot_writethrough+0x20/0x20
-  lookup_memtype+0x67/0xf0
-  track_pfn_insert+0x20/0x40
-  vmf_insert_pfn_prot+0x88/0x140
-  vfio_pci_mmap_huge_fault+0xf9/0x1b0 [vfio_pci_core]
-  __do_fault+0x28/0x1b0
-  handle_mm_fault+0xef1/0x2560
-  fixup_user_fault+0xf5/0x270
-  vaddr_get_pfns+0x169/0x2f0 [vfio_iommu_type1]
-  vfio_pin_pages_remote+0x162/0x8e0 [vfio_iommu_type1]
-  vfio_iommu_type1_ioctl+0x1121/0x1810 [vfio_iommu_type1]
-  ? futex_wake+0x1c1/0x260
-  x64_sys_call+0x234/0x17a0
-  do_syscall_64+0x63/0x130
-  ? exc_page_fault+0x63/0x130
-  entry_SYSCALL_64_after_hwframe+0x4b/0x53
-
-Signed-off-by: Keith Busch <kbusch@kernel.org>
-Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
-Link: https://lore.kernel.org/r/20250715184622.3561598-1-kbusch@meta.com
-Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/vfio/vfio_iommu_type1.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
-index 6a89bbec738f..03f4274bdbb7 100644
---- a/drivers/vfio/vfio_iommu_type1.c
-+++ b/drivers/vfio/vfio_iommu_type1.c
-@@ -696,6 +696,13 @@ static long vfio_pin_pages_remote(struct vfio_dma *dma, unsigned long vaddr,
-       while (npage) {
-               if (!batch->size) {
-+                      /*
-+                       * Large mappings may take a while to repeatedly refill
-+                       * the batch, so conditionally relinquish the CPU when
-+                       * needed to avoid stalls.
-+                       */
-+                      cond_resched();
-+
-                       /* Empty batch, so refill it. */
-                       long req_pages = min_t(long, npage, batch->capacity);
--- 
-2.39.5
-