All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	Sandeepa Prabhu <sandeepa.prabhu@linaro.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	x86@kernel.org, Steven Rostedt <rostedt@goodmis.org>,
	fche@redhat.com, mingo@redhat.com, systemtap@sourceware.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: Re: [PATCH -tip v7 24/26] kprobes: Enlarge hash table to 4096 entries
Date: Mon, 03 Mar 2014 18:31:45 +0900	[thread overview]
Message-ID: <53144C01.60106@hitachi.com> (raw)
In-Reply-To: <530FBA99.3050504@hitachi.com>

(2014/02/28 7:22), Masami Hiramatsu wrote:
> (2014/02/28 6:45), Andi Kleen wrote:
>> Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> writes:
>>
>>> Currently, since the kprobes expects to be used
>>> with less than 100 probe points, its hash table
>>> just has 64 entries. This is too little to handle
>>> several thousands of probes.
>>> Enlarge this to 4096 entires which just consumes
>>> 32KB (on 64bit arch) for better scalability.
>>
>> 32K for a debug feature that most systems never use seems
>> too large to me.
>>
>> First can you check if smaller hash tables work too
>> (perhaps with a better hash, like jhash) 
> 
> I doubt jhash helps it, but yes, at least the various size
> should be tested.

Here, I tested the hash table performance with 2^6 to 2^12.

Cycles% of get_kprobe with 10k probes:
Size	Cycles%
2^6	95.58%	
2^7	85.83%
2^8	68.43%
2^9	48.61%
2^10	46.95%
2^11	48.46%
2^12	56.95%

So, we can see the hash table larger than 2^9 (512 entries,
which consumes 4KB) has no performance improvement.
Would you think 4kB is still big for kprobes? :)

Thank you,

-- 
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com



  reply	other threads:[~2014-03-03  9:31 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-27  7:33 [PATCH -tip v7 00/26] kprobes: introduce NOKPROBE_SYMBOL, bugfixes and scalbility efforts Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 01/26] [BUGFIX]kprobes/x86: Fix page-fault handling logic Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 02/26] kprobes/x86: Allow to handle reentered kprobe on singlestepping Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 03/26] kprobes: Prohibit probing on .entry.text code Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 04/26] kprobes: Introduce NOKPROBE_SYMBOL() macro for blacklist Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 05/26] [BUGFIX] kprobes/x86: Prohibit probing on debug_stack_* Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 06/26] [BUGFIX] x86: Prohibit probing on native_set_debugreg/load_idt Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 07/26] [BUGFIX] x86: Prohibit probing on thunk functions and restore Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 08/26] kprobes/x86: Call exception handlers directly from do_int3/do_debug Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 09/26] x86: Call exception_enter after kprobes handled Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 10/26] kprobes/x86: Allow probe on some kprobe preparation functions Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 11/26] kprobes: Allow probe on some kprobe functions Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 12/26] ftrace/*probes: Allow probing on some functions Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 13/26] x86: Allow kprobes on text_poke/hw_breakpoint Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 14/26] x86: Use NOKPROBE_SYMBOL() instead of __kprobes annotation Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 15/26] kprobes: Use NOKPROBE_SYMBOL macro instead of __kprobes Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 16/26] ftrace/kprobes: Use NOKPROBE_SYMBOL macro in ftrace Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 17/26] notifier: Use NOKPROBE_SYMBOL macro in notifier Masami Hiramatsu
2014-02-27  7:33 ` [PATCH -tip v7 18/26] sched: Use NOKPROBE_SYMBOL macro in sched Masami Hiramatsu
2014-02-27  7:34 ` [PATCH -tip v7 19/26] kprobes: Show blacklist entries via debugfs Masami Hiramatsu
2014-02-27  7:34 ` [PATCH -tip v7 20/26] kprobes: Support blacklist functions in module Masami Hiramatsu
2014-02-27  7:34 ` [PATCH -tip v7 21/26] kprobes: Use NOKPROBE_SYMBOL() in sample modules Masami Hiramatsu
2014-02-27  7:34 ` [PATCH -tip v7 22/26] kprobes/x86: Use kprobe_blacklist for .kprobes.text and .entry.text Masami Hiramatsu
2014-02-27  7:34 ` [PATCH -tip v7 23/26] kprobes/x86: Remove unneeded preempt_disable/enable in interrupt handlers Masami Hiramatsu
2014-02-27  7:34 ` [PATCH -tip v7 24/26] kprobes: Enlarge hash table to 4096 entries Masami Hiramatsu
2014-02-27 21:45   ` Andi Kleen
2014-02-27 22:22     ` Masami Hiramatsu
2014-03-03  9:31       ` Masami Hiramatsu [this message]
2014-03-03 17:20         ` Andi Kleen
2014-03-04  1:54           ` Masami Hiramatsu
2014-02-27  7:34 ` [PATCH -tip v7 25/26] kprobes: Introduce kprobe cache to reduce cache misshits Masami Hiramatsu
2014-02-27  7:34 ` [PATCH -tip v7 26/26] ftrace: Introduce FTRACE_OPS_FL_SELF_FILTER for ftrace-kprobe 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=53144C01.60106@hitachi.com \
    --to=masami.hiramatsu.pt@hitachi.com \
    --cc=ananth@in.ibm.com \
    --cc=andi@firstfloor.org \
    --cc=fche@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=sandeepa.prabhu@linaro.org \
    --cc=systemtap@sourceware.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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.