What's the memory order about pcie write?

刘立超 liulichao09679 at gmail.com
Sun Nov 23 03:30:14 PST 2025


What's the memory order in this situation:

ARM CPU connects a PCIe NIC(Network Interface Card)
The NIC writes data and descriptor to ARM CPU memory, data and
descriptor are normal memory.
ARM CPU first poll descriptor to know there is a pkt received, then
read the data.

My question:
ARM CPU is weak order, The write of the CPU might be out of order, but
what about the write of the NIC?NIC's write order is:write data, then
write descriptor, but if the actual write order become:write
descriptor then write data, it will cause mistake.
I specified the situation to ARM architecture, because X86 is strong
order, so I think NIC writes to X86 is strong order too. Is this
right?

Thanks.



More information about the linux-arm-kernel mailing list