[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5e859f76-96a2-634e-c26e-17421af7022a@redhat.com>
Date: Tue, 24 Dec 2019 14:34:45 +0800
From: Jason Wang <jasowang@...hat.com>
To: Peter Xu <peterx@...hat.com>, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: "Dr . David Alan Gilbert" <dgilbert@...hat.com>,
Christophe de Dinechin <dinechin@...hat.com>,
Sean Christopherson <sean.j.christopherson@...el.com>,
Paolo Bonzini <pbonzini@...hat.com>,
"Michael S . Tsirkin" <mst@...hat.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>
Subject: Re: [PATCH RESEND v2 00/17] KVM: Dirty ring interface
On 2019/12/21 上午9:49, Peter Xu wrote:
> * Why not virtio?
>
> There's already some discussion during v1 patchset on whether it's
> good to use virtio for the data path of delivering dirty pages [1].
> I'd confess the only thing that we might consider to use is the vring
> layout (because virtqueue is tightly bound to devices, while we don't
> have a device contet here), however it's a pity that even we only use
> the most low-level vring api it'll be at least iov based which is
> already an overkill for dirty ring (which is literally an array of
> addresses). So I just kept things easy.
If iov is the only reason, we can simple extend vringh helper to access
the descriptor directly.
For split ring, it has some redundant stuffs.
- dirty ring has simple assumption used_idx = last_avail_idx (which is
fetch_index), so no need for having two rings
- descriptor is self contained (dirty_gfns), no need to another
indirection (but we can reuse vring descriptors for sure)
For packed ring, it looks not, but I'm not sure it's worthwhile to try.
Thanks
Powered by blists - more mailing lists