From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GjFlV-0002es-NY for qemu-devel@nongnu.org; Sun, 12 Nov 2006 08:52:53 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GjFlU-0002bu-3W for qemu-devel@nongnu.org; Sun, 12 Nov 2006 08:52:53 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GjFlT-0002bj-VZ for qemu-devel@nongnu.org; Sun, 12 Nov 2006 08:52:51 -0500 Received: from [193.7.176.60] (helo=mail.bawue.net) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1GjFlT-0004pU-Lz for qemu-devel@nongnu.org; Sun, 12 Nov 2006 08:52:51 -0500 Received: from lagash (88-106-179-150.dynamic.dsl.as9105.com [88.106.179.150]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.bawue.net (Postfix) with ESMTP id 73F40BAD73 for ; Sun, 12 Nov 2006 14:53:42 +0100 (CET) Received: from ths by lagash with local (Exim 4.63) (envelope-from ) id 1GjFlZ-0005Vy-Iq for qemu-devel@nongnu.org; Sun, 12 Nov 2006 13:52:57 +0000 Date: Sun, 12 Nov 2006 13:52:57 +0000 Subject: Re: [Qemu-devel] [PATCH] Huge TLB performance improvement Message-ID: <20061112135257.GB4040@networkno.de> References: <20060306145929.GD27785@networkno.de> <20061105153820.GB22548@nevyn.them.org> <20061112011035.GB21771@nevyn.them.org> <45570A32.3030608@wanadoo.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <45570A32.3030608@wanadoo.fr> From: Thiemo Seufer Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Laurent Desnogues wrote: > Daniel Jacobowitz a =E9crit : > > > >Straight qemu with my previously posted MIPS patches takes 6:13 to > >start and reboot a MIPS userspace (through init, so lots of fork/exec). > > > >Thiemo's patch, which flushes the whole jump buffer, cuts it to 1:40. > > > >A patch which finds the entries which need to be flushed more > >efficiently cuts it to 1:21. > > > >A patch which flushes up to 1/32nd of the jump buffer indiscriminately > >cuts it to 1:11-1:13. >=20 > Warning: I don't know anything about the Qemu MMU implementation > so this question is perhaps stupid :) >=20 > Did you try to benchmark some user space applications with the > various implementations you propose? A "benchmark" I did was compiling lmbench, which became more than twice as fast. I didn't bother to do real measurements. > The boot of a Linux kernel > is quite heavy on various kinds of flushes and so is very > different from "standard" applications. At least the MIPS kernel is indeed different in that it uses non-trivial TLB mappings nearly excusively for modules and userland. IOW, the kernel-side MMU overhead at boot time is neglectable. My patch made no significant difference for that case. Thiemo