All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -tip v5 0/8] Kprobes/x86: Batch optimization support
@ 2010-12-03  9:53 Masami Hiramatsu
  2010-12-03  9:53 ` [PATCH -tip v5 1/8] [CLEANUP] kprobes: Rename old_p to more appropriate name Masami Hiramatsu
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Masami Hiramatsu @ 2010-12-03  9:53 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Rusty Russell, Frederic Weisbecker, Ananth N Mavinakayanahalli,
	Jason Baron, Mathieu Desnoyers, linux-kernel, 2nddept-manager

Hi,

Here is batch (un)optimizing patch series version 5.
Ingo, I've splitted the biggest patch into 6 patches.

Since current kprobes jump optimization calls stop_machine() for each
probe, it can make a lot of latency noises 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() will also help Jump label to reduce
its delay coming from text_poke_smp().

Changes in v5:
- Split delayed unregistering patch into 3 cleanup patches
  and 3 feature-adding patches.
- Add comments to explain code.
- Fix missing of text_mutex locks.

Changes in v4:
- Update to the latest tip tree.

Changes in v3:
- Set kp.addr = NULL according to Ananth's comment.

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 (8):
      kprobes: Use text_poke_smp_batch for unoptimizing
      kprobes: Use text_poke_smp_batch for optimizing
      x86: Introduce text_poke_smp_batch() for batch-code modifying
      kprobes: Reuse unused kprobe
      kprobes: Support delayed unoptimizing
      [CLEANUP]kprobes: Separate kprobe optimizing code from optimizer
      [CLEANUP]kprobes: Cleanup disabling and unregistering path
      [CLEANUP] kprobes: Rename old_p to more appropriate name


 arch/x86/include/asm/alternative.h |    7 
 arch/x86/kernel/alternative.c      |   49 +++
 arch/x86/kernel/kprobes.c          |  113 +++++++
 include/linux/kprobes.h            |    4 
 kernel/kprobes.c                   |  565 ++++++++++++++++++++++++------------
 5 files changed, 539 insertions(+), 199 deletions(-)

-- 
Masami HIRAMATSU
2nd Dept. Linux Technology Center
Hitachi, Ltd., Systems Development Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2011-02-14  1:25 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-03  9:53 [PATCH -tip v5 0/8] Kprobes/x86: Batch optimization support Masami Hiramatsu
2010-12-03  9:53 ` [PATCH -tip v5 1/8] [CLEANUP] kprobes: Rename old_p to more appropriate name Masami Hiramatsu
2010-12-06 18:15   ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2010-12-03  9:53 ` [PATCH -tip v5 2/8] [CLEANUP]kprobes: Cleanup disabling and unregistering path Masami Hiramatsu
2010-12-06 18:16   ` [tip:perf/core] kprobes: " tip-bot for Masami Hiramatsu
2010-12-03  9:54 ` [PATCH -tip v5 3/8] [CLEANUP]kprobes: Separate kprobe optimizing code from optimizer Masami Hiramatsu
2010-12-06 18:16   ` [tip:perf/core] kprobes: " tip-bot for Masami Hiramatsu
2010-12-03  9:54 ` [PATCH -tip v5 4/8] kprobes: Support delayed unoptimizing Masami Hiramatsu
2010-12-06 18:16   ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2010-12-03  9:54 ` [PATCH -tip v5 5/8] kprobes: Reuse unused kprobe Masami Hiramatsu
2010-12-06 18:17   ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2010-12-03  9:54 ` [PATCH -tip v5 6/8] x86: Introduce text_poke_smp_batch() for batch-code modifying Masami Hiramatsu
2010-12-03 14:44   ` Steven Rostedt
2010-12-06 18:17   ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2011-02-11 21:07     ` Peter Zijlstra
2011-02-12  1:36       ` [tip:perf/urgent] x86: Fix text_poke_smp_batch() deadlock tip-bot for Peter Zijlstra
2011-02-14  1:25       ` [tip:perf/core] x86: Introduce text_poke_smp_batch() for batch-code modifying Masami Hiramatsu
2010-12-03  9:54 ` [PATCH -tip v5 7/8] kprobes: Use text_poke_smp_batch for optimizing Masami Hiramatsu
2010-12-06 18:17   ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2010-12-03  9:54 ` [PATCH -tip v5 8/8] kprobes: Use text_poke_smp_batch for unoptimizing Masami Hiramatsu
2010-12-06 18:18   ` [tip:perf/core] " tip-bot for Masami Hiramatsu

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.