From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Theurer Subject: [PATCH] turn off writable page tables Date: Tue, 25 Jul 2006 17:14:27 -0500 Message-ID: <44C697C3.3090607@us.ibm.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030304030800080707070201" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------030304030800080707070201 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit At OLS I gave a talk on some of the Xen scalability inhibitors, and one of these was writable page tables. We went over why the feature does not scale, but just as important, we found that the uniprocessor case does not provide any advantage either. These tests were done on x86_64, so I wanted to run the 1-way test on 32 bit to show the same problem. So, I have run with writable PTs and with emulation forced on for several benchmarks: on Xeon MP processor, uniprocessor dom0 kernel, pae=y: benchmark c/s 10729 force_emulate ------------------------ --------- ------------- lmbench fork+exit: 469.5833 470.3913 usec, lower is better lmbench fork+execve: 1241.0000 1225.7778 usec, lower is better lmbench fork+/sbin/bash: 12190.000 12119.000 usec, lower is better dbench 3.03 186.354 191.278 MB/sec reaim_aim9 1890.01 2055.97 jobs/min reaim_compute 2538.75 2522.90 jobs/min reaim_dbase 3852.14 3739.38 jobs/min reaim_fserver 4437.93 4389.71 jobs/min reaim_shared 2365.85 2362.97 jobs/min SPEC SDET 4315.91 4312.02 scripts/hr These are all within the noise level (some slightly better, some slightly worse for emulate). There really isn't much of difference here. I'd like to propose turning on the emulate path all the time in xen. -Andrew Theurer Applies to c/s 10729 Signed-off-by: Andrew Theurer --------------030304030800080707070201 Content-Type: text/x-patch; name="force-emulate.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="force-emulate.patch" diff -Naurp xen-unstable.hg-10729/xen/arch/x86/mm.c xen-unstable.hg-10729-emulate/xen/arch/x86/mm.c --- xen-unstable.hg-10729/xen/arch/x86/mm.c 2006-07-25 17:05:33.000000000 -0500 +++ xen-unstable.hg-10729-emulate/xen/arch/x86/mm.c 2006-07-25 17:03:40.000000000 -0500 @@ -3582,7 +3582,7 @@ int ptwr_do_page_fault(struct domain *d, return 0; } -#if 0 /* Leave this in as useful for debugging */ +#if 1 /* Leave this in as useful for debugging */ goto emulate; #endif --------------030304030800080707070201 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------030304030800080707070201--