From owner-freebsd-current@FreeBSD.ORG Fri Jul 7 04:41:13 2006 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from [127.0.0.1] (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with ESMTP id 4322916A4E7 for ; Fri, 7 Jul 2006 04:41:12 +0000 (UTC) (envelope-from davidxu@freebsd.org) Message-ID: <44ADE5EB.1090300@freebsd.org> Date: Fri, 07 Jul 2006 12:41:15 +0800 From: David Xu User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060519 X-Accept-Language: en-us, en MIME-Version: 1.0 To: current@freebsd.org Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: Subject: sysenter syscall X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Jul 2006 04:41:13 -0000 Hi, Today I have tested sysenter sycall vs int0x80 syscall, I have done the work several monthes ago, now I have imported it into perforce, the branch name is davidxu_sysenter. Here are some benchmark results: 1. pure geteuid() syscall: x int80_syscall.txt + sysenter_syscall.txt +--------------------------------------------------------------------------+ | + | | x + | | xxx ++ | |x x xxxx + + ++++ | | |_A_| |___A_M_|| +--------------------------------------------------------------------------+ N Min Max Median Avg Stddev x 10 2390403 2562187 2525720 2508262.9 53926.058 + 10 3855570 4169162 4139662 4103079.4 95933.507 Difference at 95.0% confidence 1.59482e+06 +/- 73117.4 63.5825% +/- 2.91506% (Student's t, pooled s = 77817.9) 2. mysql super-smack: x mysql_int80.txt + mysql_sysenter.txt +--------------------------------------------------------------------------+ | x + | | x + + | | x xx + +++ | |x x xxxx x x x x + + +++++ +| | |______MA________| |___A___| | +--------------------------------------------------------------------------+ N Min Max Median Avg Stddev x 15 19212.09 19911.76 19417.23 19449.863 165.25167 + 15 20250.48 20603.26 20408.12 20411.395 76.260797 Difference at 95.0% confidence 961.531 +/- 96.2398 4.94364% +/- 0.494809% (Student's t, pooled s = 128.693) Hardware is dual-core Pentium-D. I thought sysenter is useless as I said on dragonflybsd mail list, but the fact is a little different here, so I was wrong. David Xu