This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Re: [PATCH -tip v7 24/26] kprobes: Enlarge hash table to 4096 entries
- From: Masami Hiramatsu <masami dot hiramatsu dot pt at hitachi dot com>
- To: Andi Kleen <andi at firstfloor dot org>
- Cc: linux-kernel at vger dot kernel dot org, Ingo Molnar <mingo at kernel dot org>, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, Sandeepa Prabhu <sandeepa dot prabhu at linaro dot org>, Frederic Weisbecker <fweisbec at gmail dot com>, x86 at kernel dot org, Steven Rostedt <rostedt at goodmis dot org>, fche at redhat dot com, mingo at redhat dot com, systemtap at sourceware dot org, "H. Peter Anvin" <hpa at zytor dot com>, Thomas Gleixner <tglx at linutronix dot de>
- Date: Mon, 03 Mar 2014 18:31:45 +0900
- Subject: Re: Re: [PATCH -tip v7 24/26] kprobes: Enlarge hash table to 4096 entries
- Authentication-results: sourceware.org; auth=none
- References: <20140227073315 dot 20992 dot 6174 dot stgit at ltc230 dot yrl dot intra dot hitachi dot co dot jp> <20140227073414 dot 20992 dot 16882 dot stgit at ltc230 dot yrl dot intra dot hitachi dot co dot jp> <87y50wut4j dot fsf at tassilo dot jf dot intel dot com> <530FBA99 dot 3050504 at hitachi dot 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