On 2020/4/10 上午5:06, Michael S. Tsirkin wrote:
On Tue, Apr 07, 2020 at 11:52:46AM +0200, Eugenio Perez Martin wrote:
Hi!
So, from the previous mails, it seems that monitoring the used ring
(and the packed descriptors) is a good first step in that direction,
as DPDK did. This way, the device does not need to worry about the
dirty page tracking using a bitmap and the PCI writes limitation, and
we can evaluate later the proposed alternatives:
* Alternate used descriptors in packed.
* vDPA interface for vDPA devices in a convenient format.
Any thoughts? Do you think that we should start with another way?
Thanks!
I am concerned that with software in data path, we'll hit RX queue
underruns, won't we?
Do you mean it will lose some performance? If yes, I think so.
Two ways to avoid underruns:
- dirty page tracking
- page faults
It looks to me this will lead even worse performance than software path?
There will be lots of page faults during RX.
Another direction is to track dirty pages via IOMMU. E.g recent Intel
IOMMU has EA and D bit which could be used for tracking pages wrote by
devices but not CPU.
I'm working on a proposal for page faults now.
I guess it's better to have a transport independent method.
If someone wants
to work on dirty tracking in addition, that's also an option.
I remember Rob mention some challenges of implementing dirty bitmap, I
wonder something like queue based interface would be better (similar to
Peter did for KVM)?
Thanks
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]