This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/16719] systemtap runs hold vmlinux file descriptor open


https://sourceware.org/bugzilla/show_bug.cgi?id=16719

Jonathan Lebon <jlebon at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #7 from Jonathan Lebon <jlebon at redhat dot com> ---
(In reply to Frank Ch. Eigler from comment #6)
> Perhaps we could simply experiment with reverting
> commit 68983551, and measure the impact.

Reverted in commit ccf2c92:

    This patch is mostly a revert of commit 68983551.

    The 'kernel_dwfl' and 'user_dwfl' references kept for caching purposes
    in setupdwfl.cxx were causing the Dwfl object to never actually be
    released, which in turn resulted in multiple files remaining open beyond
    pass-3.

File handles should no longer be kept in pass-4 and beyond.

Before:

$ stap --poison-cache -ve 'probe vfs.read { next }'
Pass 1: parsed user script and 101 library script(s) using
212036virt/29184res/2948shr/26956data kb, in 90usr/0sys/97real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 3 embed(s), 0 global(s)
using 504868virt/163624res/7840shr/155388data kb, in 1130usr/120sys/1251real
ms.
Pass 3: translated to C into
"/tmp/stapWIjCOB/stap_b776860cb323d1a9b9f26cb39841546d_1467_src.c" using
497132virt/161336res/6564shr/155388data kb, in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_b776860cb323d1a9b9f26cb39841546d_1467.ko" in
3940usr/570sys/4657real ms.
Pass 5: starting run.
^Z
[1]+  Stopped                 stap --poison-cache -ve 'probe vfs.read { next }'
$ bg
[1]+ stap --poison-cache -ve 'probe vfs.read { next }' &
$ lsof -p $! | grep vmlinux
stap    7209 jlebon  mem    REG  253,1 160421398  2114776
/usr/lib/debug/lib/modules/3.13.6-100.fc19.x86_64/vmlinux
stap    7209 jlebon    6r   REG  253,1 160421398  2114776
/usr/lib/debug/lib/modules/3.13.6-100.fc19.x86_64/vmlinux
$

Now:

$ stap --poison-cache -ve 'probe vfs.read { next }'
Pass 1: parsed user script and 101 library script(s) using
212028virt/29180res/2932shr/26956data kb, in 90usr/10sys/96real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 3 embed(s), 0 global(s)
using 340460virt/158680res/3896shr/155388data kb, in 1140usr/100sys/1254real
ms.
Pass 3: translated to C into
"/tmp/staplx1y4R/stap_ac2e5551f4b4ea2432683c2aeb641232_1467_src.c" using
340460virt/158992res/4208shr/155388data kb, in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_ac2e5551f4b4ea2432683c2aeb641232_1467.ko" in
3990usr/530sys/4661real ms.
Pass 5: starting run.
^Z
[1]+  Stopped                 stap --poison-cache -ve 'probe vfs.read { next }'
$ bg
[1]+ stap --poison-cache -ve 'probe vfs.read { next }' &
$ lsof -p $! | grep vmlinux
$

-- 
You are receiving this mail because:
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]