forked from mirrors/linux
		
	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: Bin Lai <robinlai@tencent.com> Signed-off-by: Jiang Biao <benbjiang@tencent.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
		
							parent
							
								
									d24e124577
								
							
						
					
					
						commit
						2ce02a864a
					
				
					 1 changed files with 1 additions and 0 deletions
				
			
		| 
						 | 
					@ -708,6 +708,7 @@ static ssize_t pci_read_config(struct file *filp, struct kobject *kobj,
 | 
				
			||||||
		data[off - init_off + 3] = (val >> 24) & 0xff;
 | 
							data[off - init_off + 3] = (val >> 24) & 0xff;
 | 
				
			||||||
		off += 4;
 | 
							off += 4;
 | 
				
			||||||
		size -= 4;
 | 
							size -= 4;
 | 
				
			||||||
 | 
							cond_resched();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (size >= 2) {
 | 
						if (size >= 2) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue