From: ruben.guerra.marin@axon•tv (Ruben Guerra Marin)
To: linux-arm-kernel@lists•infradead.org
Subject: Performance issues writing to PCIe in a Zynq
Date: Fri, 3 Nov 2017 07:10:09 +0000 [thread overview]
Message-ID: <1509693009315.39595@axon.tv> (raw)
?
Hi,
I have the a Zynq board running petalinux, and it is connected through PCIe to a Virtex Ultrascale board. I configured the Ultrascale for Tandem PCIe, which the second stage bitstream is being programmed from the Zynq board (I crossed compiled the mcap application that Xilinx provides).
This works perfectly, but takes around ~12 seconds to program the second stage bitstream (compressed is ~12 MB), which is quite slow. We also tried debugging the mcap application and pciutils. We found out the operation that takes long to execute: In pciutils, the instruction to actually call the write to the driver (pwrite) takes approximately 6uS, so if you add up this for 12 MB then you can see why it takes so long. Why is this so slow? Is this maybe a problem with the driver?
For testing, I added an ILA to the AXI bus in between the Zynq GP1 and the PCIe IP control registers port. I triggered halfway the programming of the bitstream using the mcap program provided by Xilinx. I can see that it is writing to address x358, which according to the *datasheet* (https://www.xilinx.com/Attachment/Xilinx_Answer_64761__UltraScale_Devices.pdf) is the Write Data Register, which is correct (and again, I know the whole bitstream gets programmed correctly).
But what I also see is that a "awvalid" being asserted to the next one it takes 245 cycles, and I can imagine this is why it takes 12 seconds to program a 12MB bitstream.
?
Thanks a lot,
Ruben Guerra Marin
ruben.guerra.marin at axon.tv
next reply other threads:[~2017-11-03 7:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-03 7:10 Ruben Guerra Marin [this message]
[not found] <1509636637116.27702@axon.tv>
2017-11-03 8:12 ` Performance issues writing to PCIe in a Zynq Michal Simek
2017-11-03 13:54 ` Bjorn Helgaas
2017-11-06 8:51 ` Ruben Guerra Marin
2017-11-06 17:35 ` Bjorn Helgaas
2017-11-07 9:04 ` Ruben Guerra Marin
2017-11-07 12:19 ` David Laight
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1509693009315.39595@axon.tv \
--to=ruben.guerra.marin@axon$(echo .)tv \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox