From: Ruben Guerra Marin > Sent: 07 November 2017 09:04 > > Which PCI host bridge driver are you using? > Indeed I am using drivers/pci/host/pcie-xilinx.c > > > Can you do any profiling to figure out where the time is going? > So I did some profiling on the mcap application, and traced the bottleneck in a write call to > pciutils. I added some debug to pciutils and could trace it that the bottleneck is in a function > called pwrite, which pretty much does this: > > syscall(SYS_pwrite, fd, buf, size, where); > > until now this is the last part I could trace it to. Are you doing one pwrite() for each 32-bit word? If you are trying to write a large fpga image you'll need to use a single system call. I'd suspect that needs a special driver.... I'd also check that the driver size isn't doing single word copy_from_user(). That can be completely horrid in recent kernels because of userspace copy hardening. David