public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Mundt <lethal@linux-sh.org>
To: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: akpm@linux-foundation.org, Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org,
	"Frank Ch. Eigler" <fche@redhat.com>,
	Jason Baron <jbaron@redhat.com>, Tom Zanussi <tzanussi@gmail.com>,
	fweisbec@gmail.com, laijs@cn.fujitsu.com, rostedt@goodmis.org,
	peterz@infradead.org, jiayingz@google.com, roland@redhat.com,
	mbligh@google.com
Subject: Re: [RFC patch 15/20] LTTng Kernel Trace Thread Flag SH
Date: Sun, 10 May 2009 02:15:51 +0900	[thread overview]
Message-ID: <20090509171551.GA24725@linux-sh.org> (raw)
In-Reply-To: <20090509162350.632906649@polymtl.ca>

On Sat, May 09, 2009 at 12:22:24PM -0400, Mathieu Desnoyers wrote:
> Index: linux-2.6-lttng/arch/sh/include/asm/thread_info.h
> ===================================================================
> --- linux-2.6-lttng.orig/arch/sh/include/asm/thread_info.h	2009-03-15 15:57:04.000000000 -0400
> +++ linux-2.6-lttng/arch/sh/include/asm/thread_info.h	2009-03-15 15:57:17.000000000 -0400
> @@ -116,6 +116,7 @@ extern void free_thread_info(struct thre
>  #define TIF_SYSCALL_AUDIT	5	/* syscall auditing active */
>  #define TIF_SECCOMP		6	/* secure computing */
>  #define TIF_NOTIFY_RESUME	7	/* callback before returning to user */
> +#define TIF_KERNEL_TRACE	8	/* kernel trace active */
>  #define TIF_USEDFPU		16	/* FPU was used by this task this quantum (SMP) */
>  #define TIF_POLLING_NRFLAG	17	/* true if poll_idle() is polling TIF_NEED_RESCHED */
>  #define TIF_MEMDIE		18
> @@ -129,6 +130,7 @@ extern void free_thread_info(struct thre
>  #define _TIF_SYSCALL_AUDIT	(1 << TIF_SYSCALL_AUDIT)
>  #define _TIF_SECCOMP		(1 << TIF_SECCOMP)
>  #define _TIF_NOTIFY_RESUME	(1 << TIF_NOTIFY_RESUME)
> +#define _TIF_KERNEL_TRACE	(1 << TIF_KERNEL_TRACE)
>  #define _TIF_USEDFPU		(1 << TIF_USEDFPU)
>  #define _TIF_POLLING_NRFLAG	(1 << TIF_POLLING_NRFLAG)
>  #define _TIF_FREEZE		(1 << TIF_FREEZE)
> @@ -141,17 +143,19 @@ extern void free_thread_info(struct thre
>  
>  /* work to do in syscall trace */
>  #define _TIF_WORK_SYSCALL_MASK	(_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP | \
> -				 _TIF_SYSCALL_AUDIT | _TIF_SECCOMP)
> +				 _TIF_SYSCALL_AUDIT | _TIF_SECCOMP | \
> +				 _TIF_KERNEL_TRACE)
>  
>  /* work to do on any return to u-space */
>  #define _TIF_ALLWORK_MASK	(_TIF_SYSCALL_TRACE | _TIF_SIGPENDING      | \
>  				 _TIF_NEED_RESCHED  | _TIF_SYSCALL_AUDIT   | \
>  				 _TIF_SINGLESTEP    | _TIF_RESTORE_SIGMASK | \
> -				 _TIF_NOTIFY_RESUME)
> +				 _TIF_NOTIFY_RESUME | _TIF_KERNEL_TRACE)
>  
>  /* work to do on interrupt/exception return */
>  #define _TIF_WORK_MASK		(_TIF_ALLWORK_MASK & ~(_TIF_SYSCALL_TRACE | \
> -				 _TIF_SYSCALL_AUDIT | _TIF_SINGLESTEP))
> +				 _TIF_SYSCALL_AUDIT | _TIF_SINGLESTEP | \
> +				 _TIF_KERNEL_TRACE))
>  
>  #endif /* __KERNEL__ */
>  
I think you missed the comment above this hunk in the code..

This will blow up immediately, _TIF_ALLWORK_MASK must presently fit
within a byte, as it just happens to right now. If this can take the
place of _TIF_SYSCALL_TRACE in the future, then that bit position can be
used instead, otherwise the assembly code will have to be rewritten to
load a larger value, which means we lose the ability to load the mask as
an immediate without resorting to shifting and masking :-(

Other platforms have similar constraints, have you verified that this is
not a problem on any of the other platforms?

I'll of course rewrite the assembly if we can't avoid it.

  reply	other threads:[~2009-05-09 17:21 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-09 16:22 [RFC patch 00/20] Kernel tracing thread flag Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 01/20] LTTng Kernel Trace Thread Flag Alpha Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 02/20] LTTng Kernel Trace Thread Flag ARM Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 03/20] LTTng Kernel Trace Thread Flag AVR32 Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 04/20] LTTng Kernel Trace Thread Flag Blackfin Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 05/20] LTTng Kernel Trace Thread Flag Cris Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 06/20] LTTng Kernel Trace Thread Flag Frv Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 07/20] LTTng Kernel Trace Thread Flag H8300 Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 08/20] LTTng Kernel Trace Thread Flag ia64 Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 09/20] LTTng Kernel Trace Thread Flag m32r Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 10/20] LTTng Kernel Trace Thread Flag m68k Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 11/20] LTTng Kernel Trace Thread Flag MIPS Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 12/20] LTTng Kernel Trace Thread Flag parisc Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 13/20] LTTng Kernel Trace Thread Flag powerpc Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 14/20] LTTng Kernel Trace Thread Flag s390 Mathieu Desnoyers
2009-05-11  8:25   ` Heiko Carstens
2009-05-09 16:22 ` [RFC patch 15/20] LTTng Kernel Trace Thread Flag SH Mathieu Desnoyers
2009-05-09 17:15   ` Paul Mundt [this message]
2009-05-09 16:22 ` [RFC patch 16/20] LTTng Kernel Trace Thread Flag sparc Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 17/20] LTTng Kernel Trace Thread Flag UML Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 18/20] LTTng Linux Kernel Trace Thread Flag x86 Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 19/20] LTTng Kernel Trace Thread Flag xtensa Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 20/20] LTTng Kernel Trace Thread Flag API Mathieu Desnoyers
2009-05-10 23:04 ` [RFC patch 00/20] Kernel tracing thread flag Roland McGrath
  -- strict thread matches above, loose matches on Subject: below --
2009-03-15 20:01 [RFC patch 00/20] LTTng Kernel Trace Thread Flag v2 Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 15/20] LTTng Kernel Trace Thread Flag SH Mathieu Desnoyers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090509171551.GA24725@linux-sh.org \
    --to=lethal@linux-sh.org \
    --cc=akpm@linux-foundation.org \
    --cc=fche@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=jbaron@redhat.com \
    --cc=jiayingz@google.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mbligh@google.com \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=roland@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=tzanussi@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox