Bug 1547238

Summary: broken probe vfs.add_to_page_cache
Product: Red Hat Enterprise Linux 7 Reporter: Paulo Andrade <pandrade>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
Status: CLOSED ERRATA QA Contact: Martin Cermak <mcermak>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.4CC: cww, jistone, lberk, mcermak, mjw
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: systemtap-3.3-2.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-30 10:46:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1477664    

Description Paulo Andrade 2018-02-20 20:13:40 UTC
This might be reassigned to kernel, as it is broken since rhel7
kernel commit 06c42e3f5156a048a2e50ec013646bfdda916688 that does
some shortcuts, with the side effect of not triggering the probes.

  From my understanding of the semantics, the new patch should not
have the "!" operator, so, fixing this issue only on rhel7 would
require this patch:

"""
--- /usr/share/systemtap/tapset/linux/vfs.stp.orig
+++ /usr/share/systemtap/tapset/linux/vfs.stp
@@ -862,8 +862,8 @@
 }
 
 probe vfs.add_to_page_cache =
-	kernel.function("add_to_page_cache_locked") !,
-	kernel.function("add_to_page_cache")
+	kernel.function("add_to_page_cache_lru"),
+	kernel.function("add_to_page_cache_locked")
 {
 	dev = $mapping->host->i_sb->s_dev
 	devname = __find_bdevname(dev, $mapping->host->i_sb->s_bdev)
@@ -879,8 +879,8 @@
 }
 
 probe vfs.add_to_page_cache.return =
-	kernel.function("add_to_page_cache_locked").return !,
-	kernel.function("add_to_page_cache").return
+	kernel.function("add_to_page_cache_lru").return,
+	kernel.function("add_to_page_cache_locked").return
 {
 	name = "vfs.add_to_page_cache"
 	retstr = sprintf("%d", $return)
"""

quick and dirty test case is:

"""
#!/bin/stap

probe vfs.add_to_page_cache {
	printf("%s\n", probefunc());
}
"""

Comment 2 Frank Ch. Eigler 2018-06-12 23:02:51 UTC
Commit e40b26c5bbaa (based on your patch) should fix this.
 http://tinyurl.com/y7wo82km

Comment 7 errata-xmlrpc 2018-10-30 10:46:00 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:3168