What's the memory order in this situation:
- ARM CPU connected to a PCIe NIC(Network Interface Card)
- The NIC write data and descriptor to ARM CPU memory, data and descriptor are normal memory.
- ARM CPU first poll descriptor to know their 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 specify the situation to ARM architecture, because X86 is strong order, so I think NIC write to X86 is strong order too. is this right?