From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50440) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhHUv-0006Cc-4H for qemu-devel@nongnu.org; Tue, 06 Sep 2016 10:37:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bhHUq-00008n-0v for qemu-devel@nongnu.org; Tue, 06 Sep 2016 10:37:13 -0400 Date: Tue, 6 Sep 2016 15:37:03 +0100 From: "Daniel P. Berrange" Message-ID: <20160906143703.GM10095@redhat.com> Reply-To: "Daniel P. Berrange" References: <20160905083355.GA9598@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [Qemu-discuss] Throttle in virtio-net List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Pradeep Kiruvale Cc: Alberto Garcia , qemu-devel@nongnu.org, "qemu-discuss@nongnu.org" On Mon, Sep 05, 2016 at 10:52:40AM +0200, Pradeep Kiruvale wrote: > Hi Alberto, > > Thanks for your reply. > > > > > > I am planning to implement throttling functionality for virtio-net > > > driver using the throttling APIs that exist inside qemu. > > > > Hi Pradeep, > > > > the problem with implementing throttling for the network is that > > it's useless if you use the vhost_net kernel accelerator, because it > > bypasses QEMU entirely: > > > > https://access.redhat.com/documentation/en-US/Red_Hat_ > > Enterprise_Linux/7/html/Virtualization_Tuning_and_Optimization_Guide/sect- > > Virtualization_Tuning_Optimization_Guide-Networking- > > Virtio_and_vhostnet.html > > > Thanks for this very valuable information. What if someone wants to just > use virtio-net without the vhost acceleration? > Any idea how it will be done in this case? It still uses cgroup or some > other mechanism to do throttling? > > > > > libvirt implements this using tc: > > > > https://libvirt.org/formatdomain.html#elementDomain > > http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm#ceiling > > > Here it uses the cgroup inside the libvirt dirver to control the packet > rate right? No, cgroups is not involved. Libvirt attaches a tc filter directly to the host TAP device associated with the virtual NIC. Cgroups tc support would only be relevant if you're trying to filter non-NIC related network traffic QEMU generates. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|