[Xenomai-git] Jan Kiszka : kernel/cobalt: Add reason to gorelax trace point

2015-08-15 Thread git repository hosting
Module: xenomai-3
Branch: master
Commit: fab0540aa99966719e36b1b2b6715371d0dcf4f9
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fab0540aa99966719e36b1b2b6715371d0dcf4f9

Author: Jan Kiszka jan.kis...@siemens.com
Date:   Wed Jul 29 17:30:47 2015 +0200

kernel/cobalt: Add reason to gorelax trace point

Trace and print the name of the relaxation reason whenever available.

Signed-off-by: Jan Kiszka jan.kis...@siemens.com

---

 kernel/cobalt/thread.c|2 +-
 kernel/cobalt/trace/cobalt-core.h |   26 +++---
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
index 4cec6e7..2d1f840 100644
--- a/kernel/cobalt/thread.c
+++ b/kernel/cobalt/thread.c
@@ -1997,7 +1997,7 @@ void xnthread_relax(int notify, int reason)
 * domain to the Linux domain.  This will cause the Linux task
 * to resume using the register state of the shadow thread.
 */
-   trace_cobalt_shadow_gorelax(thread);
+   trace_cobalt_shadow_gorelax(thread, reason);
 
/*
 * If you intend to change the following interrupt-free
diff --git a/kernel/cobalt/trace/cobalt-core.h 
b/kernel/cobalt/trace/cobalt-core.h
index ee20b7c..d2b1c7e 100644
--- a/kernel/cobalt/trace/cobalt-core.h
+++ b/kernel/cobalt/trace/cobalt-core.h
@@ -357,9 +357,29 @@ DEFINE_EVENT(thread_event, cobalt_shadow_hardened,
TP_ARGS(thread)
 );
 
-DEFINE_EVENT(thread_event, cobalt_shadow_gorelax,
-   TP_PROTO(struct xnthread *thread),
-   TP_ARGS(thread)
+#define cobalt_print_relax_reason(reason)  \
+   __print_symbolic(reason,\
+{ SIGDEBUG_UNDEFINED,  undefined },  \
+{ SIGDEBUG_MIGRATE_SIGNAL, signal }, \
+{ SIGDEBUG_MIGRATE_SYSCALL,syscall },\
+{ SIGDEBUG_MIGRATE_FAULT,  fault })
+
+TRACE_EVENT(cobalt_shadow_gorelax,
+   TP_PROTO(struct xnthread *thread, int reason),
+   TP_ARGS(thread, reason),
+
+   TP_STRUCT__entry(
+   __field(struct xnthread *, thread)
+   __field(int, reason)
+   ),
+
+   TP_fast_assign(
+   __entry-thread = thread;
+   __entry-reason = reason;
+   ),
+
+   TP_printk(thread=%p reason=%s,
+ __entry-thread, cobalt_print_relax_reason(__entry-reason))
 );
 
 DEFINE_EVENT(thread_event, cobalt_shadow_relaxed,


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Jan Kiszka : kernel/cobalt: Add reason to gorelax trace point

2015-08-06 Thread git repository hosting
Module: xenomai-3
Branch: next
Commit: cf2ff9f099a5ffa9689e200bd3685bd30b65d1a4
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=cf2ff9f099a5ffa9689e200bd3685bd30b65d1a4

Author: Jan Kiszka jan.kis...@siemens.com
Date:   Wed Jul 29 17:30:47 2015 +0200

kernel/cobalt: Add reason to gorelax trace point

Trace and print the name of the relaxation reason whenever available.

Signed-off-by: Jan Kiszka jan.kis...@siemens.com

---

 kernel/cobalt/thread.c|2 +-
 kernel/cobalt/trace/cobalt-core.h |   26 +++---
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
index 4cec6e7..2d1f840 100644
--- a/kernel/cobalt/thread.c
+++ b/kernel/cobalt/thread.c
@@ -1997,7 +1997,7 @@ void xnthread_relax(int notify, int reason)
 * domain to the Linux domain.  This will cause the Linux task
 * to resume using the register state of the shadow thread.
 */
-   trace_cobalt_shadow_gorelax(thread);
+   trace_cobalt_shadow_gorelax(thread, reason);
 
/*
 * If you intend to change the following interrupt-free
diff --git a/kernel/cobalt/trace/cobalt-core.h 
b/kernel/cobalt/trace/cobalt-core.h
index ee20b7c..d2b1c7e 100644
--- a/kernel/cobalt/trace/cobalt-core.h
+++ b/kernel/cobalt/trace/cobalt-core.h
@@ -357,9 +357,29 @@ DEFINE_EVENT(thread_event, cobalt_shadow_hardened,
TP_ARGS(thread)
 );
 
-DEFINE_EVENT(thread_event, cobalt_shadow_gorelax,
-   TP_PROTO(struct xnthread *thread),
-   TP_ARGS(thread)
+#define cobalt_print_relax_reason(reason)  \
+   __print_symbolic(reason,\
+{ SIGDEBUG_UNDEFINED,  undefined },  \
+{ SIGDEBUG_MIGRATE_SIGNAL, signal }, \
+{ SIGDEBUG_MIGRATE_SYSCALL,syscall },\
+{ SIGDEBUG_MIGRATE_FAULT,  fault })
+
+TRACE_EVENT(cobalt_shadow_gorelax,
+   TP_PROTO(struct xnthread *thread, int reason),
+   TP_ARGS(thread, reason),
+
+   TP_STRUCT__entry(
+   __field(struct xnthread *, thread)
+   __field(int, reason)
+   ),
+
+   TP_fast_assign(
+   __entry-thread = thread;
+   __entry-reason = reason;
+   ),
+
+   TP_printk(thread=%p reason=%s,
+ __entry-thread, cobalt_print_relax_reason(__entry-reason))
 );
 
 DEFINE_EVENT(thread_event, cobalt_shadow_relaxed,


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Jan Kiszka : kernel/cobalt: Add reason to gorelax trace point

2015-08-04 Thread git repository hosting
Module: xenomai-jki
Branch: for-forge
Commit: 2f31985139fcec026e178abd13c688cf6d3dea47
URL:
http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=2f31985139fcec026e178abd13c688cf6d3dea47

Author: Jan Kiszka jan.kis...@siemens.com
Date:   Wed Jul 29 17:30:47 2015 +0200

kernel/cobalt: Add reason to gorelax trace point

Trace and print the name of the relaxation reason whenever available.

Signed-off-by: Jan Kiszka jan.kis...@siemens.com

---

 kernel/cobalt/thread.c|2 +-
 kernel/cobalt/trace/cobalt-core.h |   26 +++---
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
index 4cec6e7..2d1f840 100644
--- a/kernel/cobalt/thread.c
+++ b/kernel/cobalt/thread.c
@@ -1997,7 +1997,7 @@ void xnthread_relax(int notify, int reason)
 * domain to the Linux domain.  This will cause the Linux task
 * to resume using the register state of the shadow thread.
 */
-   trace_cobalt_shadow_gorelax(thread);
+   trace_cobalt_shadow_gorelax(thread, reason);
 
/*
 * If you intend to change the following interrupt-free
diff --git a/kernel/cobalt/trace/cobalt-core.h 
b/kernel/cobalt/trace/cobalt-core.h
index ee20b7c..d2b1c7e 100644
--- a/kernel/cobalt/trace/cobalt-core.h
+++ b/kernel/cobalt/trace/cobalt-core.h
@@ -357,9 +357,29 @@ DEFINE_EVENT(thread_event, cobalt_shadow_hardened,
TP_ARGS(thread)
 );
 
-DEFINE_EVENT(thread_event, cobalt_shadow_gorelax,
-   TP_PROTO(struct xnthread *thread),
-   TP_ARGS(thread)
+#define cobalt_print_relax_reason(reason)  \
+   __print_symbolic(reason,\
+{ SIGDEBUG_UNDEFINED,  undefined },  \
+{ SIGDEBUG_MIGRATE_SIGNAL, signal }, \
+{ SIGDEBUG_MIGRATE_SYSCALL,syscall },\
+{ SIGDEBUG_MIGRATE_FAULT,  fault })
+
+TRACE_EVENT(cobalt_shadow_gorelax,
+   TP_PROTO(struct xnthread *thread, int reason),
+   TP_ARGS(thread, reason),
+
+   TP_STRUCT__entry(
+   __field(struct xnthread *, thread)
+   __field(int, reason)
+   ),
+
+   TP_fast_assign(
+   __entry-thread = thread;
+   __entry-reason = reason;
+   ),
+
+   TP_printk(thread=%p reason=%s,
+ __entry-thread, cobalt_print_relax_reason(__entry-reason))
 );
 
 DEFINE_EVENT(thread_event, cobalt_shadow_relaxed,


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Jan Kiszka : kernel/cobalt: Add reason to gorelax trace point

2015-07-31 Thread git repository hosting
Module: xenomai-jki
Branch: for-forge
Commit: 30a6227e3c734a0bd3381a603edba383841b0ca6
URL:
http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=30a6227e3c734a0bd3381a603edba383841b0ca6

Author: Jan Kiszka jan.kis...@siemens.com
Date:   Wed Jul 29 17:30:47 2015 +0200

kernel/cobalt: Add reason to gorelax trace point

Trace and print the name of the relaxation reason whenever available.

Signed-off-by: Jan Kiszka jan.kis...@siemens.com

---

 kernel/cobalt/thread.c|2 +-
 kernel/cobalt/trace/cobalt-core.h |   26 +++---
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
index 4cec6e7..2d1f840 100644
--- a/kernel/cobalt/thread.c
+++ b/kernel/cobalt/thread.c
@@ -1997,7 +1997,7 @@ void xnthread_relax(int notify, int reason)
 * domain to the Linux domain.  This will cause the Linux task
 * to resume using the register state of the shadow thread.
 */
-   trace_cobalt_shadow_gorelax(thread);
+   trace_cobalt_shadow_gorelax(thread, reason);
 
/*
 * If you intend to change the following interrupt-free
diff --git a/kernel/cobalt/trace/cobalt-core.h 
b/kernel/cobalt/trace/cobalt-core.h
index ee20b7c..d2b1c7e 100644
--- a/kernel/cobalt/trace/cobalt-core.h
+++ b/kernel/cobalt/trace/cobalt-core.h
@@ -357,9 +357,29 @@ DEFINE_EVENT(thread_event, cobalt_shadow_hardened,
TP_ARGS(thread)
 );
 
-DEFINE_EVENT(thread_event, cobalt_shadow_gorelax,
-   TP_PROTO(struct xnthread *thread),
-   TP_ARGS(thread)
+#define cobalt_print_relax_reason(reason)  \
+   __print_symbolic(reason,\
+{ SIGDEBUG_UNDEFINED,  undefined },  \
+{ SIGDEBUG_MIGRATE_SIGNAL, signal }, \
+{ SIGDEBUG_MIGRATE_SYSCALL,syscall },\
+{ SIGDEBUG_MIGRATE_FAULT,  fault })
+
+TRACE_EVENT(cobalt_shadow_gorelax,
+   TP_PROTO(struct xnthread *thread, int reason),
+   TP_ARGS(thread, reason),
+
+   TP_STRUCT__entry(
+   __field(struct xnthread *, thread)
+   __field(int, reason)
+   ),
+
+   TP_fast_assign(
+   __entry-thread = thread;
+   __entry-reason = reason;
+   ),
+
+   TP_printk(thread=%p reason=%s,
+ __entry-thread, cobalt_print_relax_reason(__entry-reason))
 );
 
 DEFINE_EVENT(thread_event, cobalt_shadow_relaxed,


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git