From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33655) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W615v-0001aQ-I9 for qemu-devel@nongnu.org; Wed, 22 Jan 2014 11:56:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W615q-0001gO-JD for qemu-devel@nongnu.org; Wed, 22 Jan 2014 11:56:03 -0500 Received: from mail-la0-f50.google.com ([209.85.215.50]:61601) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W615q-0001gI-Bz for qemu-devel@nongnu.org; Wed, 22 Jan 2014 11:55:58 -0500 Received: by mail-la0-f50.google.com with SMTP id ec20so530842lab.37 for ; Wed, 22 Jan 2014 08:55:57 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <5296A674.2080406@twiddle.net> From: Peter Maydell Date: Wed, 22 Jan 2014 16:55:37 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] outlined TLB lookup on x86 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Xin Tong Cc: QEMU Developers , Richard Henderson On 22 January 2014 15:28, Xin Tong wrote: > On Wed, Nov 27, 2013 at 8:12 PM, Richard Henderson wrote: >> I'd be interested to experiment with different TLB sizes, to see what effect >> that has on performance. But I suspect that lack of TLB contexts mean that we >> wind up flushing the TLB more often than real hardware does, and therefore a >> larger TLB merely takes longer to flush. > I've done some experiments on increasing the size of the tlb. > increasing the size of the tlb from 256 entries to 4096 entries gives > significant performance improvement on the specint2006 benchmarks on > qemu-system-x86_64 running on a x86_64 linux machine . i am in the > process of exploring more tlb sizes and will post the data after i am > done. Of course a single big benchmark program is probably the best case for "not having lots of TLB flushing". It would probably also be instructive to benchmark other cases, like OS bootup, running multiple different programs simultaneously and system call heavy workloads. Has anybody ever looked at implementing proper TLB contexts? thanks -- PMM