Re: svn commit: r244445 - in head/sys: kern sys tools

2012-12-27 Thread Oleksandr Tymoshenko

On 12/19/2012 12:10 PM, Jeff Roberson wrote:

Author: jeff
Date: Wed Dec 19 20:10:00 2012
New Revision: 25
URL: http://svnweb.freebsd.org/changeset/base/25

Log:
- Add new machine parsable KTR macros for timing events.
- Use this new format to automatically handle syscalls and VOPs.  This
  changes the earlier format but is still human readable.
   
   Sponsored by:	EMC / Isilon Storage Division


Jeff,

please fix tinderbox breakage caused by this commit

ARM kernel build with KTR option is still broken as of today:

http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-arm-arm.brief

In file included from /src/sys/arm/arm/trap.c:900:
/src/sys/arm/arm/../../kern/subr_syscall.c: In function 'syscallenter':
/src/sys/arm/arm/../../kern/subr_syscall.c:80: warning: cast from pointer to 
integer of different size [-Wpointer-to-int-cast]
/src/sys/arm/arm/../../kern/subr_syscall.c:154: warning: cast from pointer to 
integer of different size [-Wpointer-to-int-cast]
*** [trap.o] Error code 1


Thank you

___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r244445 - in head/sys: kern sys tools

2012-12-27 Thread Konstantin Belousov
On Thu, Dec 27, 2012 at 06:03:26PM -0800, Oleksandr Tymoshenko wrote:
 On 12/19/2012 12:10 PM, Jeff Roberson wrote:
  Author: jeff
  Date: Wed Dec 19 20:10:00 2012
  New Revision: 25
  URL: http://svnweb.freebsd.org/changeset/base/25
 
  Log:
  - Add new machine parsable KTR macros for timing events.
  - Use this new format to automatically handle syscalls and VOPs.  This
changes the earlier format but is still human readable.
 
 Sponsored by:EMC / Isilon Storage Division
 
 Jeff,
 
 please fix tinderbox breakage caused by this commit
 
 ARM kernel build with KTR option is still broken as of today:
 
 http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-arm-arm.brief
 
 In file included from /src/sys/arm/arm/trap.c:900:
 /src/sys/arm/arm/../../kern/subr_syscall.c: In function 'syscallenter':
 /src/sys/arm/arm/../../kern/subr_syscall.c:80: warning: cast from pointer to 
 integer of different size [-Wpointer-to-int-cast]
 /src/sys/arm/arm/../../kern/subr_syscall.c:154: warning: cast from pointer to 
 integer of different size [-Wpointer-to-int-cast]
 *** [trap.o] Error code 1
 
 
 Thank you

I am running a fix through the make universe right now.
If you can compile just ARM and confirm that gcc is silenced by this,
I will commit it before make universe finishes.

diff --git a/sys/kern/subr_syscall.c b/sys/kern/subr_syscall.c
index 3dcfcf5..349b410 100644
--- a/sys/kern/subr_syscall.c
+++ b/sys/kern/subr_syscall.c
@@ -77,7 +77,7 @@ syscallenter(struct thread *td, struct syscall_args *sa)
if (KTRPOINT(td, KTR_SYSCALL))
ktrsyscall(sa-code, sa-narg, sa-args);
 #endif
-   KTR_START4(KTR_SYSC, syscall, syscallname(p, sa-code),
+   KTR_START4(KTR_SYSC, syscall, (uintptr_t)syscallname(p, sa-code),
td, pid:%d, td-td_proc-p_pid, arg0:%p, sa-args[0],
arg1:%p, sa-args[1], arg2:%p, sa-args[2]);
 
@@ -151,7 +151,7 @@ syscallenter(struct thread *td, struct syscall_args *sa)
syscall_thread_exit(td, sa-callp);
}
  retval:
-   KTR_STOP4(KTR_SYSC, syscall, syscallname(p, sa-code),
+   KTR_STOP4(KTR_SYSC, syscall, (uintptr_t)syscallname(p, sa-code),
td, pid:%d, td-td_proc-p_pid, error:%d, error,
retval0:%#lx, td-td_retval[0], retval1:%#lx,
td-td_retval[1]);


pgpIMbTAWbAIo.pgp
Description: PGP signature


Re: svn commit: r244445 - in head/sys: kern sys tools

2012-12-27 Thread Oleksandr Tymoshenko

On 12/27/2012 6:14 PM, Konstantin Belousov wrote:

On Thu, Dec 27, 2012 at 06:03:26PM -0800, Oleksandr Tymoshenko wrote:

On 12/19/2012 12:10 PM, Jeff Roberson wrote:

Author: jeff
Date: Wed Dec 19 20:10:00 2012
New Revision: 25
URL: http://svnweb.freebsd.org/changeset/base/25

Log:
 - Add new machine parsable KTR macros for timing events.
 - Use this new format to automatically handle syscalls and VOPs.  This
   changes the earlier format but is still human readable.

Sponsored by:	EMC / Isilon Storage Division

Jeff,

please fix tinderbox breakage caused by this commit

ARM kernel build with KTR option is still broken as of today:

http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-arm-arm.brief

In file included from /src/sys/arm/arm/trap.c:900:
/src/sys/arm/arm/../../kern/subr_syscall.c: In function 'syscallenter':
/src/sys/arm/arm/../../kern/subr_syscall.c:80: warning: cast from pointer to 
integer of different size [-Wpointer-to-int-cast]
/src/sys/arm/arm/../../kern/subr_syscall.c:154: warning: cast from pointer to 
integer of different size [-Wpointer-to-int-cast]
*** [trap.o] Error code 1


Thank you

I am running a fix through the make universe right now.
If you can compile just ARM and confirm that gcc is silenced by this,
I will commit it before make universe finishes.

diff --git a/sys/kern/subr_syscall.c b/sys/kern/subr_syscall.c
index 3dcfcf5..349b410 100644
--- a/sys/kern/subr_syscall.c
+++ b/sys/kern/subr_syscall.c
@@ -77,7 +77,7 @@ syscallenter(struct thread *td, struct syscall_args *sa)
if (KTRPOINT(td, KTR_SYSCALL))
ktrsyscall(sa-code, sa-narg, sa-args);
  #endif
-   KTR_START4(KTR_SYSC, syscall, syscallname(p, sa-code),
+   KTR_START4(KTR_SYSC, syscall, (uintptr_t)syscallname(p, sa-code),
td, pid:%d, td-td_proc-p_pid, arg0:%p, sa-args[0],
arg1:%p, sa-args[1], arg2:%p, sa-args[2]);
  
@@ -151,7 +151,7 @@ syscallenter(struct thread *td, struct syscall_args *sa)

syscall_thread_exit(td, sa-callp);
}
   retval:
-   KTR_STOP4(KTR_SYSC, syscall, syscallname(p, sa-code),
+   KTR_STOP4(KTR_SYSC, syscall, (uintptr_t)syscallname(p, sa-code),
td, pid:%d, td-td_proc-p_pid, error:%d, error,
retval0:%#lx, td-td_retval[0], retval1:%#lx,
td-td_retval[1]);


Didn't help. It's td, not sysclalname result that gcc complains about:

http://people.freebsd.org/~gonzo/patches/ktr-syscall-fix.diff
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r244445 - in head/sys: kern sys tools

2012-12-27 Thread Konstantin Belousov
On Thu, Dec 27, 2012 at 06:25:34PM -0800, Oleksandr Tymoshenko wrote:
 On 12/27/2012 6:14 PM, Konstantin Belousov wrote:
  On Thu, Dec 27, 2012 at 06:03:26PM -0800, Oleksandr Tymoshenko wrote:
  On 12/19/2012 12:10 PM, Jeff Roberson wrote:
  Author: jeff
  Date: Wed Dec 19 20:10:00 2012
  New Revision: 25
  URL: http://svnweb.freebsd.org/changeset/base/25
 
  Log:
   - Add new machine parsable KTR macros for timing events.
   - Use this new format to automatically handle syscalls and VOPs.  
  This
 changes the earlier format but is still human readable.
  
  Sponsored by: EMC / Isilon Storage Division
  Jeff,
 
  please fix tinderbox breakage caused by this commit
 
  ARM kernel build with KTR option is still broken as of today:
 
  http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-arm-arm.brief
 
  In file included from /src/sys/arm/arm/trap.c:900:
  /src/sys/arm/arm/../../kern/subr_syscall.c: In function 'syscallenter':
  /src/sys/arm/arm/../../kern/subr_syscall.c:80: warning: cast from pointer 
  to integer of different size [-Wpointer-to-int-cast]
  /src/sys/arm/arm/../../kern/subr_syscall.c:154: warning: cast from pointer 
  to integer of different size [-Wpointer-to-int-cast]
  *** [trap.o] Error code 1
 
 
  Thank you
  I am running a fix through the make universe right now.
  If you can compile just ARM and confirm that gcc is silenced by this,
  I will commit it before make universe finishes.
 
  diff --git a/sys/kern/subr_syscall.c b/sys/kern/subr_syscall.c
  index 3dcfcf5..349b410 100644
  --- a/sys/kern/subr_syscall.c
  +++ b/sys/kern/subr_syscall.c
  @@ -77,7 +77,7 @@ syscallenter(struct thread *td, struct syscall_args *sa)
  if (KTRPOINT(td, KTR_SYSCALL))
  ktrsyscall(sa-code, sa-narg, sa-args);
#endif
  -   KTR_START4(KTR_SYSC, syscall, syscallname(p, sa-code),
  +   KTR_START4(KTR_SYSC, syscall, (uintptr_t)syscallname(p, sa-code),
  td, pid:%d, td-td_proc-p_pid, arg0:%p, sa-args[0],
  arg1:%p, sa-args[1], arg2:%p, sa-args[2]);

  @@ -151,7 +151,7 @@ syscallenter(struct thread *td, struct syscall_args *sa)
  syscall_thread_exit(td, sa-callp);
  }
 retval:
  -   KTR_STOP4(KTR_SYSC, syscall, syscallname(p, sa-code),
  +   KTR_STOP4(KTR_SYSC, syscall, (uintptr_t)syscallname(p, sa-code),
  td, pid:%d, td-td_proc-p_pid, error:%d, error,
  retval0:%#lx, td-td_retval[0], retval1:%#lx,
  td-td_retval[1]);
 
 Didn't help. It's td, not sysclalname result that gcc complains about:
 
 http://people.freebsd.org/~gonzo/patches/ktr-syscall-fix.diff
Ok, commit ? Assuming it compiles.


pgpJAz0CGSzWG.pgp
Description: PGP signature


Re: svn commit: r244445 - in head/sys: kern sys tools

2012-12-27 Thread Oleksandr Tymoshenko

On 12/27/2012 6:29 PM, Konstantin Belousov wrote:

On Thu, Dec 27, 2012 at 06:25:34PM -0800, Oleksandr Tymoshenko wrote:

On 12/27/2012 6:14 PM, Konstantin Belousov wrote:

On Thu, Dec 27, 2012 at 06:03:26PM -0800, Oleksandr Tymoshenko wrote:

On 12/19/2012 12:10 PM, Jeff Roberson wrote:

Author: jeff
Date: Wed Dec 19 20:10:00 2012
New Revision: 25
URL: http://svnweb.freebsd.org/changeset/base/25

Log:
  - Add new machine parsable KTR macros for timing events.
  - Use this new format to automatically handle syscalls and VOPs.  This
changes the earlier format but is still human readable.
 
 Sponsored by:	EMC / Isilon Storage Division

Jeff,

please fix tinderbox breakage caused by this commit

ARM kernel build with KTR option is still broken as of today:

http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-arm-arm.brief

In file included from /src/sys/arm/arm/trap.c:900:
/src/sys/arm/arm/../../kern/subr_syscall.c: In function 'syscallenter':
/src/sys/arm/arm/../../kern/subr_syscall.c:80: warning: cast from pointer to 
integer of different size [-Wpointer-to-int-cast]
/src/sys/arm/arm/../../kern/subr_syscall.c:154: warning: cast from pointer to 
integer of different size [-Wpointer-to-int-cast]
*** [trap.o] Error code 1


Thank you

I am running a fix through the make universe right now.
If you can compile just ARM and confirm that gcc is silenced by this,
I will commit it before make universe finishes.

diff --git a/sys/kern/subr_syscall.c b/sys/kern/subr_syscall.c
index 3dcfcf5..349b410 100644
--- a/sys/kern/subr_syscall.c
+++ b/sys/kern/subr_syscall.c
@@ -77,7 +77,7 @@ syscallenter(struct thread *td, struct syscall_args *sa)
if (KTRPOINT(td, KTR_SYSCALL))
ktrsyscall(sa-code, sa-narg, sa-args);
   #endif
-   KTR_START4(KTR_SYSC, syscall, syscallname(p, sa-code),
+   KTR_START4(KTR_SYSC, syscall, (uintptr_t)syscallname(p, sa-code),
td, pid:%d, td-td_proc-p_pid, arg0:%p, sa-args[0],
arg1:%p, sa-args[1], arg2:%p, sa-args[2]);
   
@@ -151,7 +151,7 @@ syscallenter(struct thread *td, struct syscall_args *sa)

syscall_thread_exit(td, sa-callp);
}
retval:
-   KTR_STOP4(KTR_SYSC, syscall, syscallname(p, sa-code),
+   KTR_STOP4(KTR_SYSC, syscall, (uintptr_t)syscallname(p, sa-code),
td, pid:%d, td-td_proc-p_pid, error:%d, error,
retval0:%#lx, td-td_retval[0], retval1:%#lx,
td-td_retval[1]);

Didn't help. It's td, not sysclalname result that gcc complains about:

http://people.freebsd.org/~gonzo/patches/ktr-syscall-fix.diff

Ok, commit ? Assuming it compiles.


Let me check it with make universe
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


Re: svn commit: r244445 - in head/sys: kern sys tools

2012-12-22 Thread Ryan Stone
This appears to have broken the build on arm.  I see the following build
failure building an arm LINT kernel:

cc1: warnings being treated as errors
In file included from
/usr/home/rstone/freebsd/head_2/sys/arn/arm/trap.c:900:
/usr/home/rstone/freebsd/head_2/sys/arm/arm/../../kern/subr_syscall.c: In
function 'syscallenter':
/usr/home/rstone/freebsd/head_2/sys/arm/arm/../../kern/subr_syscall.c:80:
warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
/usr/home/rstone/freebsd/head_2/sys/arm/arm/../../kern/subr_syscall.c:154:
warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org


svn commit: r244445 - in head/sys: kern sys tools

2012-12-19 Thread Jeff Roberson
Author: jeff
Date: Wed Dec 19 20:10:00 2012
New Revision: 25
URL: http://svnweb.freebsd.org/changeset/base/25

Log:
   - Add new machine parsable KTR macros for timing events.
   - Use this new format to automatically handle syscalls and VOPs.  This
 changes the earlier format but is still human readable.
  
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/sys/kern/subr_syscall.c
  head/sys/sys/ktr.h
  head/sys/tools/vnode_if.awk

Modified: head/sys/kern/subr_syscall.c
==
--- head/sys/kern/subr_syscall.cWed Dec 19 20:08:06 2012
(r24)
+++ head/sys/kern/subr_syscall.cWed Dec 19 20:10:00 2012
(r25)
@@ -77,13 +77,12 @@ syscallenter(struct thread *td, struct s
if (KTRPOINT(td, KTR_SYSCALL))
ktrsyscall(sa-code, sa-narg, sa-args);
 #endif
-
-   CTR6(KTR_SYSC,
-syscall: td=%p pid %d %s (%#lx, %#lx, %#lx),
-   td, td-td_proc-p_pid, syscallname(p, sa-code),
-   sa-args[0], sa-args[1], sa-args[2]);
+   KTR_START4(KTR_SYSC, syscall, syscallname(p, sa-code),
+   td, pid:%d, td-td_proc-p_pid, arg0:%p, sa-args[0],
+   arg1:%p, sa-args[1], arg2:%p, sa-args[2]);
 
if (error == 0) {
+
STOPEVENT(p, S_SCE, sa-narg);
if (p-p_flag  P_TRACED  p-p_stops  S_PT_SCE) {
PROC_LOCK(p);
@@ -150,10 +149,12 @@ syscallenter(struct thread *td, struct s
sa-callp, NULL, (error) ? -1 : td-td_retval[0]);
 #endif
syscall_thread_exit(td, sa-callp);
-   CTR4(KTR_SYSC, syscall: p=%p error=%d return %#lx %#lx,
-   p, error, td-td_retval[0], td-td_retval[1]);
}
  retval:
+   KTR_STOP4(KTR_SYSC, syscall, syscallname(p, sa-code),
+   td, pid:%d, td-td_proc-p_pid, error:%d, error,
+   retval0:%#lx, td-td_retval[0], retval1:%#lx,
+   td-td_retval[1]);
if (traced) {
PROC_LOCK(p);
td-td_dbgflags = ~TDB_SCE;
@@ -176,9 +177,6 @@ syscallret(struct thread *td, int error,
 */
userret(td, td-td_frame);
 
-   CTR4(KTR_SYSC, syscall %s exit thread %p pid %d proc %s,
-   syscallname(p, sa-code), td, td-td_proc-p_pid, td-td_name);
-
 #ifdef KTRACE
if (KTRPOINT(td, KTR_SYSRET)) {
ktrsysret(sa-code, (td-td_pflags  TDP_NERRNO) == 0 ?

Modified: head/sys/sys/ktr.h
==
--- head/sys/sys/ktr.h  Wed Dec 19 20:08:06 2012(r24)
+++ head/sys/sys/ktr.h  Wed Dec 19 20:10:00 2012(r25)
@@ -244,6 +244,50 @@ void   ktr_tracepoint(u_int mask, const ch
point, a0, (v0), a1, (v1), a2, (v2), a3, (v3))
 
 /*
+ * Start functions denote the start of a region of code or operation
+ * and should be paired with stop functions for timing of nested
+ * sequences.
+ *
+ * Specifying extra attributes with the name key will result in
+ * multi-part keys.  For example a block device and offset pair
+ * might be used to describe a buf undergoing I/O.
+ */
+#defineKTR_START0(m, egroup, ident, key)   
\
+   KTR_EVENT0(m, egroup, ident, start:0x%jX, (uintmax_t)key)
+#defineKTR_START1(m, egroup, ident, key, a0, v0)   
\
+   KTR_EVENT1(m, egroup, ident, start:0x%jX, (uintmax_t)key, a0, (v0))
+#defineKTR_START2(m, egroup, ident, key, a0, v0, a1, v1)   
\
+   KTR_EVENT2(m, egroup, ident, start:0x%jX, (uintmax_t)key, \
+   a0, (v0), a1, (v1))
+#defineKTR_START3(m, egroup, ident, key, a0, v0, a1, v1, a2, v2)\
+   KTR_EVENT3(m, egroup, ident, start:0x%jX, (uintmax_t)key, \
+   a0, (v0), a1, (v1), a2, (v2))
+#defineKTR_START4(m, egroup, ident, key,   
\
+   a0, v0, a1, v1, a2, v2, a3, v3) \
+   KTR_EVENT4(m, egroup, ident, start:0x%jX, (uintmax_t)key, \
+   a0, (v0), a1, (v1), a2, (v2), a3, (v3))
+
+/*
+ * Stop functions denote the end of a region of code or operation
+ * and should be paired with start functions for timing of nested
+ * sequences.
+ */
+#defineKTR_STOP0(m, egroup, ident, key)
\
+   KTR_EVENT0(m, egroup, ident, stop:0x%jX, (uintmax_t)key)
+#defineKTR_STOP1(m, egroup, ident, key, a0, v0)
\
+   KTR_EVENT1(m, egroup, ident, stop:0x%jX, (uintmax_t)key, a0, (v0))
+#defineKTR_STOP2(m, egroup, ident, key, a0, v0, a1, v1)
\
+   KTR_EVENT2(m, egroup, ident, stop:0x%jX, (uintmax_t)key,  \
+   a0, (v0), a1, (v1))
+#defineKTR_STOP3(m, egroup, ident, key, a0, v0, a1, v1, a2, v2)\
+   KTR_EVENT3(m, egroup, ident, stop:0x%jX, (uintmax_t)key,  \
+   a0, (v0), a1, (v1), a2, (v2))