On Thu, 28 Apr 2016 11:45:41 +0200 Pradeep Kiruvale <pradeepkiruv...@gmail.com> wrote:
> On 27 April 2016 at 19:12, Greg Kurz <gk...@linux.vnet.ibm.com> wrote: > > > On Wed, 27 Apr 2016 16:39:58 +0200 > > Pradeep Kiruvale <pradeepkiruv...@gmail.com> wrote: > > > > > On 27 April 2016 at 10:38, Alberto Garcia <be...@igalia.com> wrote: > > > > > > > On Wed, Apr 27, 2016 at 09:29:02AM +0200, Pradeep Kiruvale wrote: > > > > > > > > > Thanks for the reply. I am still in the early phase, I will let you > > > > > know if any changes are needed for the APIs. > > > > > > > > > > We might also have to implement throttle-group.c for 9p devices, if > > > > > we want to apply throttle for group of devices. > > > > > > > > Fair enough, but again please note that: > > > > > > > > - throttle-group.c is not meant to be generic, but it's tied to > > > > BlockDriverState / BlockBackend. > > > > - it is currently being rewritten: > > > > https://lists.gnu.org/archive/html/qemu-block/2016-04/msg00645.html > > > > > > > > If you can explain your use case with a bit more detail we can try to > > > > see what can be done about it. > > > > > > > > > > > We want to use virtio-9p for block io instead of virtio-blk-pci. But in > > > case of > > > > 9p is mostly aimed at sharing files... why would you want to use it for > > block io instead of a true block device ? And how would you do that ? > > > > *Yes, we want to share the files itself. So we are using the virtio-9p.* You want to pass a disk image to the guest as a plain file on a 9p mount ? And then, what do you do in the guest ? Attach it to a loop device ? > *We want to have QoS on these files access for every VM.* > You won't be able to have QoS on selected files, but it may be possible to introduce limits at the fsdev level: control all write accesses to all files and all read accesses to all files for a 9p device. > > > > > > virtio-9p we can just use fsdev devices, so we want to apply throttling > > > (QoS) > > > on these devices and as of now the io throttling only possible with the > > > -drive option. > > > > > > > Indeed. > > > > > As a work around we are doing the throttling using cgroup. It has its own > > > costs. > > > > Can you elaborate ? > > > > *We saw that we need to create cgroups and set it and also we observed lot > of iowaits * > *compared to implementing the throttling inside the qemu.* > *This we did observe by using the virtio-blk-pci devices. (Using cgroups Vs > qemu throttling)* > Just to be sure I get it right. You tried both: 1) run QEMU with -device virtio-blk-pci and -drive throttling.* 2) run QEMU with -device virtio-blk-pci in its own cgroup And 1) has better performance and is easier to use than 2) ? And what do you expect with 9p compared to 1) ? > > Thanks, > Pradeep