From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10028 invoked by alias); 26 Jan 2008 03:16:39 -0000 Received: (qmail 9894 invoked by uid 48); 26 Jan 2008 03:15:57 -0000 Date: Sat, 26 Jan 2008 03:16:00 -0000 Message-ID: <20080126031557.9893.qmail@sourceware.org> From: "fche at redhat dot com" To: systemtap@sources.redhat.com In-Reply-To: <20080125184406.5673.fche@redhat.com> References: <20080125184406.5673.fche@redhat.com> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug translator/5673] tweak kprobe config arrays X-Bugzilla-Reason: AssignedTo Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2008-q1/txt/msg00151.txt.bz2 ------- Additional Comments From fche at redhat dot com 2008-01-26 03:15 ------- Some initial findings on the 'probe kernel.function("*") {}' .ko: Of the .ko space, 90%+ of the data is the stap_dwarf_probe[] array. On x86-64, each entry is 200 bytes long, of which an embedded blank "struct kprobe" is 120, and the union "struct kretprobe" is 152. These latter structs need some independent runtime existence but they don't have to live in initialized data ==> dynamically allocate them during module_init. Next, the probe point string, averages ~30 bytes per probe, is stored in .rodata.str but is not directly compressible. Perhaps it is worthwhile breaking up this string field so that link-time duplicate elimination can work. Substrings like `kernel.function("' or `@file/foo.c' could be merged. (This would mean making the stap_dwarf_probe struct contain a small array of char*'s instead of just one.) Doing these two things should reduce the unnecessary bloat in the .ko file considerably. It should no longer be 93%-compressible by gzip. -- What |Removed |Added ---------------------------------------------------------------------------- Summary|tewak kprobe config arrays |tweak kprobe config arrays http://sourceware.org/bugzilla/show_bug.cgi?id=5673 ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.