Date: Thu, 17 Jul 2003 09:50:55 +0300 From: "Petri Helenius" <pete@he.iki.fi> To: "Jin Guojun [DSD]" <j_guojun@lbl.gov> Cc: Steven Hartland <killing@barrysworld.com> Subject: Re: timer counter chip access mystery] Message-ID: <007501c34c2f$d20913d0$812a40c1@PETEX31> References: <3F15C584.38848DCE@lbl.gov> <071401c34be3$71a03510$812a40c1@PETEX31> <00b501c34be5$351a83f0$b3db87d4@vader> <075101c34be5$db5e4c10$812a40c1@PETEX31> <3F15DE52.130D8FA9@lbl.gov>
next in thread | previous in thread | raw e-mail | index | archive | help
I thought you have to use ACPI-safe if you have broken hardware and othervise youŽll have ACPI-fast. (which my boxes default to) Pete ----- Original Message ----- From: "Jin Guojun [DSD]" <j_guojun@lbl.gov> To: "Petri Helenius" <pete@he.iki.fi> Cc: "Steven Hartland" <killing@barrysworld.com>; <freebsd-performance@freebsd.org> Sent: Thursday, July 17, 2003 2:22 AM Subject: Re: timer counter chip access mystery] > 5.1 defaults to use ACPI-safe, which calls read_counter() at least > three times. The total cost is 3098 ns. So, it meas that read_count() > cost is about 1000 ns, which is close to what the Linux does. > > The rest question is how much error will be if not to use > ACPI-safe? i.e., sysctl kern.timecounter.hardware=ACPI? > > -Jin > > /* > * Fetch current time value from reliable hardware. > */ > static unsigned > acpi_timer_get_timecount(struct timecounter *tc) > { > return (read_counter()); > } > > /* > * Fetch current time value from hardware that may not correctly > * latch the counter. > */ > static unsigned > acpi_timer_get_timecount_safe(struct timecounter *tc) > { > unsigned u1, u2, u3; > > u2 = read_counter(); > u3 = read_counter(); > do { > u1 = u2; > u2 = u3; > u3 = read_counter(); > } while (u1 > u2 || u2 > u3 || (u3 - u1) > 15); > return (u2); > } > > Petri Helenius wrote: > > > 5.x defaults to ACPI or TSC timers. So your wish has been transported > > by a timemachine into the past. > > > > With 4.x you have to set it manually. > > > > Pete > > > > ----- Original Message ----- > > From: "Steven Hartland" <killing@barrysworld.com> > > To: "Petri Helenius" <pete@he.iki.fi>; "Jin Guojun [DSD]" <j_guojun@lbl.gov>; <freebsd-performance@freebsd.org> > > Sent: Thursday, July 17, 2003 12:57 AM > > Subject: Re: timer counter chip access mystery] > > > > > If this could be changed / fixed it would have a marked performance increase > > > for all game server code which use this function heavily from what I've seen > > > and would explain the sometimes huge performance differential between > > > FreeBSD and Linux. > > > > > > Steve / K > > > ----- Original Message ----- > > > From: "Petri Helenius" <pete@he.iki.fi> > > > To: "Jin Guojun [DSD]" <j_guojun@lbl.gov>; <freebsd-performance@freebsd.org> > > > Sent: Wednesday, July 16, 2003 10:44 PM > > > Subject: Re: timer counter chip access mystery] > > > > > > > > > > > > > > This access happens over ISA bus and thus happens at the speed the bus > > > > operates at. Use TSC or ACPI for faster gettimeofday. > > > > > > > > Pete > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?007501c34c2f$d20913d0$812a40c1>