Performance issues writing to PCIe in a Zynq
David Laight
David.Laight at ACULAB.COM
Tue Nov 7 04:19:13 PST 2017
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
More information about the linux-arm-kernel
mailing list