From: khilman@linaro.org (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3] ARM: add support for context tracking subsystem
Date: Thu, 28 Mar 2013 14:58:32 -0700 [thread overview]
Message-ID: <871uaz425z.fsf@linaro.org> (raw)
In-Reply-To: <1364502344-12189-1-git-send-email-khilman@linaro.org> (Kevin Hilman's message of "Thu, 28 Mar 2013 13:25:44 -0700")
Kevin Hilman <khilman@linaro.org> writes:
> commit 91d1aa43 (context_tracking: New context tracking susbsystem)
> generalized parts of the RCU userspace extended quiescent state into
> the context tracking subsystem. Context tracking is then used
> to implement adaptive tickless (a.k.a extended nohz)
>
> To support the new context tracking subsystem on ARM, the user/kernel
> boundary transtions need to be instrumented.
>
> For exceptions and IRQs in usermode, the existing usr_entry macro is
> used to instrument the user->kernel transition. For the return to
> usermode path, the ret_to_user* path is instrumented. Using the
> usr_entry macro, this covers interrupts in userspace, data abort and
> prefetch abort exceptions in userspace as well as undefined exceptions
> in userspace (which is where FP emulation and VFP are handled.)
>
> For syscalls, the slow return path is covered by instrumenting the
> ret_to_user path. In addition, the syscall entry point is
> instrumented which covers the user->kernel transition for both fast
> and slow syscalls, and an additional instrumentation point is added
> for the fast syscall return path (ret_fast_syscall).
>
> Cc: Mats Liljegren <mats.liljegren@enea.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Signed-off-by: Kevin Hilman <khilman@linaro.org>
This version has been submitted to Russell's patch tracker as patch
7688[1] after making the minor change below.
[...]
> diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
> index 0f82098..3449d30 100644
> --- a/arch/arm/kernel/entry-armv.S
> +++ b/arch/arm/kernel/entry-armv.S
> @@ -396,6 +396,7 @@ ENDPROC(__pabt_svc)
> #ifdef CONFIG_IRQSOFF_TRACER
> bl trace_hardirqs_off
> #endif
> + ct_user_exit, save = 0
> .endm
Removed the ',' after the macro here an elsewhere.
It's harmless, but not needed and removing it makes this look like other
macro usage throughout.
Kevin
[1] http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7688/1
WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@linaro.org>
To: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org,
Paul McKenney <paulmck@linux.vnet.ibm.com>,
linux-kernel@vger.kernel.org, linaro-kernel@lists.linaro.org,
Mats Liljegren <mats.liljegren@enea.com>,
Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: [PATCH v3] ARM: add support for context tracking subsystem
Date: Thu, 28 Mar 2013 14:58:32 -0700 [thread overview]
Message-ID: <871uaz425z.fsf@linaro.org> (raw)
In-Reply-To: <1364502344-12189-1-git-send-email-khilman@linaro.org> (Kevin Hilman's message of "Thu, 28 Mar 2013 13:25:44 -0700")
Kevin Hilman <khilman@linaro.org> writes:
> commit 91d1aa43 (context_tracking: New context tracking susbsystem)
> generalized parts of the RCU userspace extended quiescent state into
> the context tracking subsystem. Context tracking is then used
> to implement adaptive tickless (a.k.a extended nohz)
>
> To support the new context tracking subsystem on ARM, the user/kernel
> boundary transtions need to be instrumented.
>
> For exceptions and IRQs in usermode, the existing usr_entry macro is
> used to instrument the user->kernel transition. For the return to
> usermode path, the ret_to_user* path is instrumented. Using the
> usr_entry macro, this covers interrupts in userspace, data abort and
> prefetch abort exceptions in userspace as well as undefined exceptions
> in userspace (which is where FP emulation and VFP are handled.)
>
> For syscalls, the slow return path is covered by instrumenting the
> ret_to_user path. In addition, the syscall entry point is
> instrumented which covers the user->kernel transition for both fast
> and slow syscalls, and an additional instrumentation point is added
> for the fast syscall return path (ret_fast_syscall).
>
> Cc: Mats Liljegren <mats.liljegren@enea.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Signed-off-by: Kevin Hilman <khilman@linaro.org>
This version has been submitted to Russell's patch tracker as patch
7688[1] after making the minor change below.
[...]
> diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
> index 0f82098..3449d30 100644
> --- a/arch/arm/kernel/entry-armv.S
> +++ b/arch/arm/kernel/entry-armv.S
> @@ -396,6 +396,7 @@ ENDPROC(__pabt_svc)
> #ifdef CONFIG_IRQSOFF_TRACER
> bl trace_hardirqs_off
> #endif
> + ct_user_exit, save = 0
> .endm
Removed the ',' after the macro here an elsewhere.
It's harmless, but not needed and removing it makes this look like other
macro usage throughout.
Kevin
[1] http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7688/1
next prev parent reply other threads:[~2013-03-28 21:58 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-28 20:25 [PATCH v3] ARM: add support for context tracking subsystem Kevin Hilman
2013-03-28 20:25 ` Kevin Hilman
2013-03-28 21:58 ` Kevin Hilman [this message]
2013-03-28 21:58 ` Kevin Hilman
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=871uaz425z.fsf@linaro.org \
--to=khilman@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.