kern/159612: [dtrace] walltimestamp and timestamp functions
incomplete
Fabian Keil
fk at fabiankeil.de
Sun Jun 24 13:40:10 UTC 2012
The following reply was made to PR kern/159612; it has been noted by GNATS.
From: Fabian Keil <fk at fabiankeil.de>
To: bug-followup at FreeBSD.org
Cc: ashley.wil at gmail.com, Andriy Gapon <avg at FreeBSD.org>
Subject: Re: kern/159612: [dtrace] walltimestamp and timestamp functions
incomplete
Date: Sun, 24 Jun 2012 15:34:21 +0200
--Sig_/XTu3iD5adcBI3uKvVE.eD/i
Content-Type: multipart/mixed; boundary="MP_/IIPfuo+xn64ZrhajrzOaxRo"
--MP_/IIPfuo+xn64ZrhajrzOaxRo
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
The attached patch adds support for walltimestamp on amd64 and
i386 by copying the code from mips. I only tested it on amd64.
The problem perceived with timestamp was the result of a
misunderstanding as confirmed in:
http://lists.freebsd.org/pipermail/freebsd-current/2011-August/026733.html
Fabian
--MP_/IIPfuo+xn64ZrhajrzOaxRo
Content-Type: text/x-patch
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename=0001-dtrace-Add-support-for-walltimestamp-on-amd64-and-i3.patch
=46rom ac8877b5b0417d6177e59df7e63744a3c69497cc Mon Sep 17 00:00:00 2001
From: Fabian Keil <fk at fabiankeil.de>
Date: Sun, 24 Jun 2012 15:19:46 +0200
Subject: [PATCH] dtrace: Add support for walltimestamp on amd64 and i386
Code copied from mips.
---
sys/cddl/dev/dtrace/amd64/dtrace_subr.c | 7 +++++--
sys/cddl/dev/dtrace/i386/dtrace_subr.c | 7 +++++--
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/sys/cddl/dev/dtrace/amd64/dtrace_subr.c b/sys/cddl/dev/dtrace/=
amd64/dtrace_subr.c
index 9960fa9..2d42ce2 100644
--- a/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
+++ b/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
@@ -461,8 +461,11 @@ dtrace_gethrtime()
uint64_t
dtrace_gethrestime(void)
{
- printf("%s(%d): XXX\n",__func__,__LINE__);
- return (0);
+ struct timespec curtime;
+
+ getnanotime(&curtime);
+
+ return (curtime.tv_sec * 1000000000UL + curtime.tv_nsec);
}
=20
/* Function to handle DTrace traps during probes. See amd64/amd64/trap.c */
diff --git a/sys/cddl/dev/dtrace/i386/dtrace_subr.c b/sys/cddl/dev/dtrace/i=
386/dtrace_subr.c
index cef6914..3a1677a 100644
--- a/sys/cddl/dev/dtrace/i386/dtrace_subr.c
+++ b/sys/cddl/dev/dtrace/i386/dtrace_subr.c
@@ -462,8 +462,11 @@ dtrace_gethrtime()
uint64_t
dtrace_gethrestime(void)
{
- printf("%s(%d): XXX\n",__func__,__LINE__);
- return (0);
+ struct timespec curtime;
+
+ getnanotime(&curtime);
+
+ return (curtime.tv_sec * 1000000000UL + curtime.tv_nsec);
}
=20
/* Function to handle DTrace traps during probes. See i386/i386/trap.c */
--=20
1.7.10.3
--MP_/IIPfuo+xn64ZrhajrzOaxRo--
--Sig_/XTu3iD5adcBI3uKvVE.eD/i
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)
iEYEARECAAYFAk/nF2UACgkQSMVSH78upWOi4gCfR0/f1VxhprZAQAh48SJKAKda
unUAn1RTccEMuHwYAshlKlFRy7OwiM50
=e5Ai
-----END PGP SIGNATURE-----
--Sig_/XTu3iD5adcBI3uKvVE.eD/i--
More information about the freebsd-bugs
mailing list