From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Network performance regression between kvm-29 and kvm-31 Date: Sat, 21 Jul 2007 09:22:08 +0300 Message-ID: <46A1A610.2050603@qumranet.com> References: <20070720222545.GB22656@hall.aurel32.net> <20070720225813.GA24368@hall.aurel32.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: Aurelien Jarno Return-path: In-Reply-To: <20070720225813.GA24368-OqXK5JiLQY5aJl8KAwiEcA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org Aurelien Jarno wrote: > On Sat, Jul 21, 2007 at 12:25:45AM +0200, Aurelien Jarno wrote: > >> Hi, >> >> I have just noticed that there is a huge performance regression in >> network transfers between kvm-29 and kvm-31. Using the RTL8139 emulated >> card, I have seen the network speed has been divided by 27!!! I haven't >> made precise speed measurements with other emulated card, but the >> network speed has been reduced by the same order. >> >> Those tests have been done on a Core 2 CPU. >> >> After some tests I have seen that the problem lies in the user part. I >> will do a git bisect tomorrow to find the patch that has caused the >> problem, unless somebody already find it. >> > > I finally didn't resist to run git bisect before going to bed... > > The patch that causes the regression is: > > commit 7d2e674835492040c9baddf0989a95abea9a8d0f > Author: Avi Kivity > Date: Sun Jul 15 15:08:23 2007 +0300 > > kvm: qemu: synchronous signal handling > > in order to ensure that signals are handled with the global lock held, we > block them, and dequeue them with sigtimedwait(). we can then call the > handlers directly. > > this ensures that the device model and internal qemu data structures are not > corrupted by cpu 0 thread handling a signal while cpu 1 is servicing a pio > or mmio request. > > Is this with -net user or -net tap? -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/