[Top][All Lists]

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

[Qemu-devel] ELVIS/ELI I/O acceleration code / Re: KVM call agenda for 2

From: Abel Gordon
Subject: [Qemu-devel] ELVIS/ELI I/O acceleration code / Re: KVM call agenda for 2013-04-09
Date: Sat, 28 Sep 2013 16:57:21 +0200

Stefan Hajnoczi <address@hidden> wrote on 09/04/2013 06:13:47 PM:

> From: Stefan Hajnoczi <address@hidden>
> To: Juan Quintela <address@hidden>,
> Cc: qemu-devel qemu-devel <address@hidden>, KVM devel mailing
> list <address@hidden>
> Date: 09/04/2013 06:13 PM
> Subject: Re: [Qemu-devel] KVM call agenda for 2013-04-09
> Sent by: address@hidden
> Meeting notes on Abel's presentation:
> Aim: improve vhost scalability
> Shared vhost thread
> ==============
> Problem: Linux scheduler does not see state of virtqueues, cannot make
> good scheduling decisions
> Solution: Shared thread serves multiple VMs and therefore influences
> "I/O scheduling" instead of kernel thread per vhost device
> Exitless communication
> =================
>  * Polling on host to notice guest vring updates without guest pio
>    * Use CPU affinity to bind vcpus to separate cores and let polling
> run on dedicated cores
>  * Existless Interrupt (ELI) or future hardware APIC virtualization
> feature to inject virtual interrupts
> without vmexit and EOI
> See paper for performance results (impressive numbers):
> http://domino.research.ibm.com/library/cyberdig.nsf/papers/
> 479E3578ED05BFAC85257B4200427735/$File/h-0319.pdf
> Abel will publish rebased code on GitHub but does not have time to
> upstream them.
> The next step: QEMU/KVM community can digest the paper + patches and
> decide on ideas to upstream.

It has been a while since this KVM call but the code for ELVIS and
ELI is now available in github:

Source-code contributors (in alphabetical order):
  Nadav Amit address@hidden
  Muli Ben-Yehuda address@hidden
  Abel Gordon address@hidden
  Nadav Har'El address@hidden
  Alex Landau address@hidden

Each commit made in September 16th represents a separate and documented
patch. Note this work is under development and more effort is required to
it upstream-ready. You are all welcome to join the upstreaming effort :)

A short documentation can be found in the wiki page:

Please note this work will be presented and discussed in the upcoming KVM
(October 21-23, Edinburgh, UK)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]