[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC 0/6] Slotted channels for sync vm_events

On Wed, Dec 19, 2018 at 11:52 AM Petre Pircalabu
<ppircalabu@xxxxxxxxxxxxxxx> wrote:
> This patchset is a rework of the "multi-page ring buffer" for vm_events
> patch based on Andrew Cooper's comments.
> For synchronous vm_events the ring waitqueue logic was unnecessary as the
> vcpu sending the request was blocked until a response was received.
> To simplify the request/response mechanism, an array of slotted channels
> was created, one per vcpu. Each vcpu puts the request in the
> corresponding slot and blocks until the response is received.
> I'm sending this patch as a RFC because, while I'm still working on way to
> measure the overall performance improvement, your feedback would be a great
> assistance.

Generally speaking this approach is OK, but I'm concerned that we will
eventually run into the same problem that brought up the idea of using
multi-page rings: vm_event structures that are larger then a page.
Right now this series adds a ring for each vCPU, which does mitigate
some of the bottleneck, but it does not really address the root cause.
It also adds significant complexity as the userspace side now has to
map in multiple rings, each with its own event channel and polling


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.