[PATCH] PCI: Allow scheduling to take place in proc_bus_pci_read()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



PCI configuration space reads from the /proc/bus/pci for a particular
device, depending on the underlying hardware, can often take several
milliseconds to complete.

Thus, add a schedule point in proc_bus_pci_read() to reduce the maximum
latency.

A similar change has already been completed in the past for the sysfs
counterpart in the commit 2ce02a864ac1 ("PCI: Add schedule point in
pci_read_config()").

Link: https://lore.kernel.org/r/20200824052025.48362-1-benbjiang@xxxxxxxxxxx
Signed-off-by: Krzysztof Wilczyński <kw@xxxxxxxxx>
---
 drivers/pci/proc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
index d32fbfc93ea9..cb18f8a13ab6 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -83,6 +83,7 @@ static ssize_t proc_bus_pci_read(struct file *file, char __user *buf,
 		buf += 4;
 		pos += 4;
 		cnt -= 4;
+		cond_resched();
 	}
 
 	if (cnt >= 2) {
-- 
2.32.0




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux