Date: Thu, 14 Apr 2011 14:06:09 -0400 From: Jung-uk Kim <jkim@FreeBSD.org> To: src-committers@FreeBSD.org Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r220632 - head/sys/x86/x86 Message-ID: <201104141406.12183.jkim@FreeBSD.org> In-Reply-To: <201104141708.p3EH8Nbt041472@svn.freebsd.org> References: <201104141708.p3EH8Nbt041472@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 14 April 2011 01:08 pm, Jung-uk Kim wrote: > Author: jkim > Date: Thu Apr 14 17:08:23 2011 > New Revision: 220632 > URL: http://svn.freebsd.org/changeset/base/220632 > > Log: > Use newly added rdtsc32() for the timecounter_get_t method. It only seems to make big difference in amd64, probably because rdtsc() is implemented differently in inline asm. tsc_get_timecount (before): pushq %rbp movq %rsp, %rbp rdtsc mov %eax, %eax salq $32, %rdx leave orq %rax, %rdx movl %edx, %eax ret tsc_get_timecount (after): pushq %rbp movq %rsp, %rbp rdtsc leave ret Similar problem was also observed when it is inlined. BTW, clang does not have this issue. :-) Jung-uk Kim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104141406.12183.jkim>