Re: [dpdk-dev] [PATCH v7 2/2] bus/pci: support MMIO in PCI ioport accessors
From: David Marchand <hidden>
Date: 2021-02-25 09:52:20
On Thu, Feb 25, 2021 at 5:00 AM 谢华伟(此时此刻) [off-list ref] wrote:
quoted
quoted
quoted
Is the 'outb_p' to 'outb' conversion intentional? And if so why? Same of the all 'outb_p', 'outw_p', 'outl_p'.There is no need to delay for virtio device, as we can see in virtio legacy driver. IMO, the delay is for ugly old device. The device itself should assure the previous IO completes when the subsequent IO instruction arrives.Can there be any virtio legacy device needing this?The pause version delays sometime by writing to 0x80 debug port. virtio doesn't need this. virtio legacy PMD driver doens't use this. Any device relying on this i think is buggy. How could the device rely on some uncertain cpu cycles to behave correct?quoted
What is the downside of using "pause until the I/O completes" versions?The downside in virtio PMD is a small performance penalty when we use it to notify backend. CPU executes unnecessary serializing IO instruction. I check kernel code, io wrapper for in/out doesn't use p version.
This change is a fix/optimisation. This is a separate topic from adding MMIO support with x86 ioport. I would split as a separate patch. -- David Marchand