Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Sep 2011 21:43:47 +0800
From:      Paul Ambrose <ambrosehua@gmail.com>
To:        Alexander Best <arundel@freebsd.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: excessive use of gettimeofday(2) and other syscalls
Message-ID:  <CAMwoQQ46p8oDFVX==Unrf2k2Mh70vtU5HniV7PZYLY5tBujHjA@mail.gmail.com>
In-Reply-To: <20110907151543.GA63310@freebsd.org>
References:  <20110906220115.GA25048@freebsd.org> <CAHRgBhRe8n%2BV3nSzRn4_fctHB1nie2ACk7oRVOPJqqKaMUgKrg@mail.gmail.com> <CAF6rxg=kzHP4zr_=LGnJDUQu-xEwgpy6QN=Lk4jqXa6hs=epKg@mail.gmail.com> <CAHRgBhT%2BKi%2BYPiK%2Bhn=fJ91eA=31tOaTPe_5xLSHQawa=%2BFD0Q@mail.gmail.com> <CAHwLALMwOu8wc5W03dar5fhkWkjN6f7eDGAT4a1u%2BK4eHHSsng@mail.gmail.com> <20110907061741.GC96277@server.vk2pj.dyndns.org> <20110907151543.GA63310@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
what version of chromium are you using?
I use chromium-13.0.782.215 on amd64 8.2-stable, the gettimeofday call is
far less than 20000 per second, about 20 per second, but I notice old
version has this bug, but latest version has fixed it. Maybe you should
update your chromium and try again.

Firefox 5 and 6 has more gettimeofday call than 20000 per second on my
amd64-8.2-stable box.

2011/9/7 Alexander Best <arundel@freebsd.org>

> On Wed Sep  7 11, Peter Jeremy wrote:
> > On 2011-Sep-06 16:44:48 -0600, Manish Vachharajani <
> manishv@lineratesystems.com> wrote:
> > >Under 7.3 (haven't checked 8 or 9) this issue crops up because the
> > >time system call calls gettimeofday under the hood (see
> > >lib/libc/gen/time.c).  As a result, the kernel tries to get an
> > >accurate subsecond resolution time that simply gets chopped to the
> > >nearest second.
> >
> > Under 8.x and later, time(3) uses clock_gettime(CLOCK_SECOND,...)
> > rather than gettimeofday().  This is intended to be much cheaper
> > than gettimeofday().
> >
> > On 2011-Sep-06 21:15:55 -0400, Rayson Ho <raysonlogin@gmail.com> wrote:
> > >IMO, the time returned by gettimeofday does not need to be high
> > >precision. There are higher resolution time APIs on Linux and I
> > >believe the application programmers know when to use the slower but
> > >more accurate clock API.
> >
> > There are 3 standard APIs for returning time of day:
> > time(3) provides second precision
> > gettimeofday(2) provides microsecond precision
> > clock_gettime(2) provides nanosecond precision
> >
> > By default, FreeBSD attempts to provide resolution as close as
> > possible to the precision - which makes the 2 system calls fairly
> > expensive.  In order to reduce the cost where the resolution isn't
> > important, FreeBSD provides several non-standard clock types for
> > clock_gettime(2).  This approach differs from Linux - and it seems
> > that there is a non-trivial body of code that assumes that calling
> > gettimeofday() is very cheap.
> >
> > There is probably a good case for an API that provides a resolution
> > of the order of a tick but there is no standard for this.
>
> chromium is triggering ~20.000 gettimeofday(2) calls per second on my
> machine.
> i'm running CURRENT on amd64.
>
> cheers.
> alex
>
> >
> > --
> > Peter Jeremy
>
>
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMwoQQ46p8oDFVX==Unrf2k2Mh70vtU5HniV7PZYLY5tBujHjA>