Re: Re: [PATCH -tip v7 24/26] kprobes: Enlarge hash table to 4096 entries
> 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? :) 4KB should be fine. Thanks for evaluating. -Andi -- a...@linux.intel.com -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Re: [PATCH -tip v7 24/26] kprobes: Enlarge hash table to 4096 entries
(2014/02/28 7:22), Masami Hiramatsu wrote: > (2014/02/28 6:45), Andi Kleen wrote: >> Masami Hiramatsu 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: SizeCycles% 2^6 95.58% 2^7 85.83% 2^8 68.43% 2^9 48.61% 2^1046.95% 2^1148.46% 2^1256.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...@hitachi.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Re: [PATCH -tip v7 24/26] kprobes: Enlarge hash table to 4096 entries
(2014/02/28 7:22), Masami Hiramatsu wrote: (2014/02/28 6:45), Andi Kleen wrote: Masami Hiramatsu masami.hiramatsu...@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: SizeCycles% 2^6 95.58% 2^7 85.83% 2^8 68.43% 2^9 48.61% 2^1046.95% 2^1148.46% 2^1256.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...@hitachi.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Re: [PATCH -tip v7 24/26] kprobes: Enlarge hash table to 4096 entries
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? :) 4KB should be fine. Thanks for evaluating. -Andi -- a...@linux.intel.com -- Speaking for myself only. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/