Re: [RFC][PATCH] linux-2.6.2-rc2_vsyscall-gtod_B1.patch

From: john stultz (johnstul_at_us.ibm.com)
Date: 01/31/04

  • Next message: backblue: "2.6.1 Speaker"
    To: "Eric W. Biederman" <ebiederm@xmission.com>
    Date:	Fri, 30 Jan 2004 18:20:32 -0800
    
    

    On Fri, 2004-01-30 at 16:17, Eric W. Biederman wrote:
    > john stultz <johnstul@us.ibm.com> writes:
    >
    > > All,
    > > This is my port of the x86-64 vsyscall gettimeofday code to
    > > i386. This patch moves gettimeofday into userspace, so it can be called
    > > without the syscall overhead, greatly improving performance. This is
    > > important for any application, like a database, which heavily uses
    > > gettimeofday for timestamping. It supports both the TSC and IBM x44X
    > > cyclone time source.
    >
    > >
    > > Example performance gain: (vs. int80)
    > > Normal gettimeofday
    > > gettimeofday ( 1665576us / 1000000runs ) = 1.665574us
    > > vsyscall LD_PRELOAD gettimeofday
    > > gettimeofday ( 868378us / 1000000runs ) = 0.868377us
    >
    > And what is the performance gain over using the kernel sysenter
    > implementation?

    Sorry, I hadn't gotten around to upgrading the glibc on my dev box.

    Here's the sysenter comparison:

    Normal gettimeofday
    gettimeofday ( 1239215us / 1000000runs ) = 1.239214us
    vsyscall LD_PRELOAD gettimeofday
    gettimeofday ( 805117us / 1000000runs ) = 0.805116us

    It should be noted that all the numbers I've posted so far are using the
    cyclone timesource. Here's the test running using the TSC timesource
    (sysenter as well):

    Normal gettimeofday
    gettimeofday ( 586046us / 1000000runs ) = 0.586045us
    vsyscall LD_PRELOAD gettimeofday
    gettimeofday ( 179972us / 1000000runs ) = 0.179972us

    thanks
    -john

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: backblue: "2.6.1 Speaker"