public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug translator/5673] New: tewak kprobe config arrays
@ 2008-01-25 18:44 fche at redhat dot com
  2008-01-26  3:16 ` [Bug translator/5673] tweak " fche at redhat dot com
  2008-01-26 16:57 ` fche at redhat dot com
  0 siblings, 2 replies; 3+ messages in thread
From: fche at redhat dot com @ 2008-01-25 18:44 UTC (permalink / raw)
  To: systemtap

Martin points out that .ko's for big wildcard scripts are pretty
big.  probe kernel.function("*") {}  results in a multi-megabyte
.ko whose bulk is the kprobe configuration array.  Let's see if
this can be shrunk.

-- 
           Summary: tewak kprobe config arrays
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
        AssignedTo: systemtap at sources dot redhat dot com
        ReportedBy: fche at redhat dot com


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.

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

* [Bug translator/5673] tweak kprobe config arrays
  2008-01-25 18:44 [Bug translator/5673] New: tewak kprobe config arrays fche at redhat dot com
@ 2008-01-26  3:16 ` fche at redhat dot com
  2008-01-26 16:57 ` fche at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: fche at redhat dot com @ 2008-01-26  3:16 UTC (permalink / raw)
  To: systemtap


------- 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.

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

* [Bug translator/5673] tweak kprobe config arrays
  2008-01-25 18:44 [Bug translator/5673] New: tewak kprobe config arrays fche at redhat dot com
  2008-01-26  3:16 ` [Bug translator/5673] tweak " fche at redhat dot com
@ 2008-01-26 16:57 ` fche at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: fche at redhat dot com @ 2008-01-26 16:57 UTC (permalink / raw)
  To: systemtap



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|systemtap at sources dot    |fche at redhat dot com
                   |redhat dot com              |
             Status|NEW                         |ASSIGNED


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.

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

end of thread, other threads:[~2008-01-26 16:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-25 18:44 [Bug translator/5673] New: tewak kprobe config arrays fche at redhat dot com
2008-01-26  3:16 ` [Bug translator/5673] tweak " fche at redhat dot com
2008-01-26 16:57 ` fche at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).