From: Masami Hiramatsu <mhiramat@redhat.com>
To: Ingo Molnar <mingo@elte.hu>, lkml <linux-kernel@vger.kernel.org>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Ingo Molnar <mingo@elte.hu>, Jim Keniston <jkenisto@us.ibm.com>,
Jason Baron <jbaron@redhat.com>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
systemtap <systemtap@sources.redhat.com>,
DLE <dle-develop@lists.sourceforge.net>
Subject: [PATCH -tip v2 0/5] kprobes: batch (un)optimization support
Date: Tue, 18 May 2010 16:12:44 -0400 [thread overview]
Message-ID: <20100518201244.6058.73083.stgit@localhost6.localdomain6> (raw)
Hi,
Here is the 2nd version of batch optimizing patch series.
Since current kprobes jump optimization calls stop_machine() for each
probe, it can make a lot latency noise when (un)registering a lot of
probes (~1000) at once. For example, on 4 core Xeon, 256 probes
optimization takes 770us in average (max 3.3ms).
This patch series introduces batch (un)optimization which modifies
code with just one stop_machine(), and it improves optimization time
to 90us in average (max 330us).
- Introduce text_poke_smp_batch() which modifies multiple
codes with one stop_machine().
- Limit how many probes can be (un)optimized at once.
- Introduce delayed unoptimization for batch processing.
text_poke_smp_batch() also helps Jason's Jump label to reduce
its overhead coming from text_poke_smp().
Changes in v2:
- Add kprobes selftest bugfix patch.
- Add some comments about locks according to Mathieu's comment.
- Allocate working buffers when initializing kprobes, instead of
using static arraies.
- Merge max optimization limit patch into batch optimizing patch.
Thank you,
---
Masami Hiramatsu (5):
kprobes: Support delayed unoptimization
kprobes/x86: Use text_poke_smp_batch
x86: Introduce text_poke_smp_batch() for batch-code modifying
[CLEANUP] kprobes: Remove redundant text_mutex lock in optimize
[BUGFIX] kprobes: Fix selftest to clear flags field for reusing probes
arch/x86/include/asm/alternative.h | 7 +
arch/x86/include/asm/kprobes.h | 4
arch/x86/kernel/alternative.c | 49 +++-
arch/x86/kernel/kprobes.c | 114 +++++++++
include/linux/kprobes.h | 4
kernel/kprobes.c | 442 ++++++++++++++++++++++++------------
kernel/test_kprobes.c | 12 +
7 files changed, 464 insertions(+), 168 deletions(-)
--
Masami Hiramatsu
e-mail: mhiramat@redhat.com
next reply other threads:[~2010-05-18 20:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-18 20:12 Masami Hiramatsu [this message]
2010-05-18 20:12 ` [PATCH -tip v2 1/5] [BUGFIX] kprobes: Fix selftest to clear flags field for reusing probes Masami Hiramatsu
2010-05-19 5:02 ` Ananth N Mavinakayanahalli
2010-05-19 16:42 ` Masami Hiramatsu
2010-05-18 20:12 ` [PATCH -tip v2 2/5] [CLEANUP] kprobes: Remove redundant text_mutex lock in optimize Masami Hiramatsu
2010-05-18 20:13 ` [PATCH -tip v2 3/5] x86: Introduce text_poke_smp_batch() for batch-code modifying Masami Hiramatsu
2010-05-18 20:13 ` [PATCH -tip v2 4/5] kprobes/x86: Use text_poke_smp_batch Masami Hiramatsu
2010-05-18 20:13 ` [PATCH -tip v2 5/5] kprobes: Support delayed unoptimization Masami Hiramatsu
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=20100518201244.6058.73083.stgit@localhost6.localdomain6 \
--to=mhiramat@redhat.com \
--cc=ananth@in.ibm.com \
--cc=dle-develop@lists.sourceforge.net \
--cc=jbaron@redhat.com \
--cc=jkenisto@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@elte.hu \
--cc=systemtap@sources.redhat.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 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.