Hello,
I'm evaluating the performance of the PCIe interface of the AM65xx processor. In particular I'm using
the AM65x/DRA80xM Industrial Development Kit with the AM6548. Via it's PCIe adapter card I'm
attaching a M.2 PCIe SSD via an according adapter.
As Linux I'm running the SDK "ti-processor-sdk-linux-am65xx-evm-08_00_00_04" out of the box.
I'm carrying out performance tests with dd while I'm writing either from /dev/zero to the SSD or
from a tmpfs RAMDisk. The commands are either
dd if=/dev/zero of=/dev/nvme0n1 bs=16M count=512M iflag=count_bytes
or
dd if=/mnt/ramdisk/random.img of=/dev/nvme0n1 bs=16M
For the latter one there has been created an according file with random content which is
512MiB in size. So both tests write a total amount of 512MiB resp. half a gigabyte.
With the particular SSD I'm using I get the following performance:
Source /dev/zero => 260-270MB/s with 2 PCIe Lanes, 210-220MB/s with 1 PCIe Lane
Source RAMDisk => 220-230MB/s with 2 PCIe Lanes, 200-205MB/s with 1 PCIe Lane
So the second PCIe Lane is bringing in not much of an advantage here.
I did test this with the identical SSD on a (though somewhat aged) regular PC. For a
single PCIe Lane test I'm seeing a performance of 320-330MB/s for both tests. For two
PCIe Lanes I'm seeing 410-420MB/s. So the SSD does not seem to be the limiting
factor for the AM65xx setup.
So the questions are:
- Is the bandwidth I'm seeing on the AM65xx setup ok/normal? Though, this is not the pure PCIe
performance since it does also include additional overhead.
- Where can be additional bottlenecks? I did also make an additional test by moving
the large file from one tmpfs RAMDisk to another. I'm seeing a performance of 340-350MB/s
here. If we assume that the memory bandwidth is twice of that (we have to read and write),
we would end up with a total memory bandwidth of around 700MB/s here.
- Are there any posssibilities to tweak the performance at various places?
I did also study the performance guide
as well as this document:
https://www.ti.com/lit/an/spraci6/spraci6.pdf
but I did not find answers there.
Thanks a lot for any input on that matter!
Greetings,
Mario