Commit 2ce02a86 authored by Jiang Biao's avatar Jiang Biao Committed by Bjorn Helgaas
Browse files

PCI: Add schedule point in pci_read_config()

The PCI sysfs "config" file allows large reads, and the resulting PCI
config reads can take several milliseconds to complete.  Testing with the
cyclictest [1] benchmark showed 5ms+ latencies.

Add a schedule point in pci_read_config() to reduce the maximum latency.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git/

[bhelgaas: commit log]
Link: https://lore.kernel.org/r/20200824052025.48362-1-benbjiang@tencent.com


Reported-by: default avatarBin Lai <robinlai@tencent.com>
Signed-off-by: default avatarJiang Biao <benbjiang@tencent.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent d24e1245
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -708,6 +708,7 @@ static ssize_t pci_read_config(struct file *filp, struct kobject *kobj,
		data[off - init_off + 3] = (val >> 24) & 0xff;
		off += 4;
		size -= 4;
		cond_resched();
	}

	if (size >= 2) {