Re: Elvis upstreaming plan

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

 



"Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote on 24/11/2013 12:26:15 PM:

> From: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
> To: Razya Ladelsky/Haifa/IBM@IBMIL, 
> Cc: kvm@xxxxxxxxxxxxxxx, anthony@xxxxxxxxxxxxx, gleb@xxxxxxxxxx, 
> pbonzini@xxxxxxxxxx, asias@xxxxxxxxxx, jasowang@xxxxxxxxxx, 
> digitaleric@xxxxxxxxxx, abel.gordon@xxxxxxxxx, Abel Gordon/Haifa/
> IBM@IBMIL, Eran Raichstein/Haifa/IBM@IBMIL, Joel Nider/Haifa/IBM@IBMIL
> Date: 24/11/2013 12:22 PM
> Subject: Re: Elvis upstreaming plan
> 
> On Sun, Nov 24, 2013 at 11:22:17AM +0200, Razya Ladelsky wrote:
> > Hi all,
> > 
> > I am Razya Ladelsky, I work at IBM Haifa virtualization team, which 
> > developed Elvis, presented by Abel Gordon at the last KVM forum: 
> > ELVIS video:  https://www.youtube.com/watch?v=9EyweibHfEs 
> > ELVIS slides: 
https://drive.google.com/file/d/0BzyAwvVlQckeQmpnOHM5SnB5UVE 
> > 
> > 
> > According to the discussions that took place at the forum, upstreaming 

> > some of the Elvis approaches seems to be a good idea, which we would 
like 
> > to pursue.
> > 
> > Our plan for the first patches is the following: 
> > 
> > 1.Shared vhost thread between mutiple devices 
> > This patch creates a worker thread and worker queue shared across 
multiple 
> > virtio devices 
> > We would like to modify the patch posted in
> > https://github.com/abelg/virtual_io_acceleration/commit/
> 3dc6a3ce7bcbe87363c2df8a6b6fee0c14615766 
> > to limit a vhost thread to serve multiple devices only if they belong 
to 
> > the same VM as Paolo suggested to avoid isolation or cgroups concerns.
> > 
> > Another modification is related to the creation and removal of vhost 
> > threads, which will be discussed next.
> >
> > 2. Sysfs mechanism to add and remove vhost threads 
> > This patch allows us to add and remove vhost threads dynamically.
> > 
> > A simpler way to control the creation of vhost threads is statically 
> > determining the maximum number of virtio devices per worker via a 
kernel 
> > module parameter (which is the way the previously mentioned patch is 
> > currently implemented)
> > 
> > I'd like to ask for advice here about the more preferable way to go:
> > Although having the sysfs mechanism provides more flexibility, it may 
be a 
> > good idea to start with a simple static parameter, and have the first 
> > patches as simple as possible. What do you think?
> > 
> > 3.Add virtqueue polling mode to vhost 
> > Have the vhost thread poll the virtqueues with high I/O rate for new 
> > buffers , and avoid asking the guest to kick us.
> > https://github.com/abelg/virtual_io_acceleration/commit/
> 26616133fafb7855cc80fac070b0572fd1aaf5d0
> > 
> > 4. vhost statistics
> > This patch introduces a set of statistics to monitor different 
performance 
> > metrics of vhost and our polling and I/O scheduling mechanisms. The 
> > statistics are exposed using debugfs and can be easily displayed with 
a 
> > Python script (vhost_stat, based on the old kvm_stats)
> > https://github.com/abelg/virtual_io_acceleration/commit/
> ac14206ea56939ecc3608dc5f978b86fa322e7b0
> > 
> > 
> > 5. Add heuristics to improve I/O scheduling 
> > This patch enhances the round-robin mechanism with a set of heuristics 
to 
> > decide when to leave a virtqueue and proceed to the next.
> > https://github.com/abelg/virtual_io_acceleration/commit/
> f6a4f1a5d6b82dc754e8af8af327b8d0f043dc4d
> > 
> > This patch improves the handling of the requests by the vhost thread, 
but 
> > could perhaps be delayed to a 
> > later time , and not submitted as one of the first Elvis patches.
> > I'd love to hear some comments about whether this patch needs to be 
part 
> > of the first submission.
> > 
> > Any other feedback on this plan will be appreciated,
> > Thank you,
> > Razya
> 
> 
> How about we start with the stats patch?
> This will make it easier to evaluate the other patches.
> 

Hi Michael,
Thank you for your quick reply.
Our plan was to send all these patches that contain the Elvis code.
We can start with the stats patch, however, many of the statistics there 
are related to the features that the other patches provide...
B.T.W. If you a chance to look at the rest of the patches,
I'd really appreciate your comments,
Thank you very much,
Razya


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux