]> sourceware.org Git - systemtap.git/commitdiff
Fixed PR13745 by updating memory tracepoint examples.
authorDavid Smith <dsmith@redhat.com>
Thu, 12 Apr 2012 18:05:25 +0000 (13:05 -0500)
committerDavid Smith <dsmith@redhat.com>
Thu, 12 Apr 2012 18:05:25 +0000 (13:05 -0500)
* testsuite/systemtap.examples/memory/mmanonpage.stp: Updated tracepoints
  for RHEL6 and upstream kernels.
* testsuite/systemtap.examples/memory/mmanonpage.stp: Ditto.
* testsuite/systemtap.examples/memory/mmfilepage.stp: Ditto.
* testsuite/systemtap.examples/memory/mmwriteback.stp: Ditto.
* testsuite/systemtap.examples/memory/mmanonpage.meta: Updated script
  tracepoint dependencies in 'test_support' section.
* testsuite/systemtap.examples/memory/mmfilepage.meta: Ditto.
* testsuite/systemtap.examples/memory/mmwriteback.meta: Ditto.

testsuite/systemtap.examples/memory/mmanonpage.meta
testsuite/systemtap.examples/memory/mmanonpage.stp
testsuite/systemtap.examples/memory/mmfilepage.meta
testsuite/systemtap.examples/memory/mmfilepage.stp
testsuite/systemtap.examples/memory/mmwriteback.meta
testsuite/systemtap.examples/memory/mmwriteback.stp

index 5d7d6b3f4968d6f2020b90c313b95671da5c40c5..c85ed9378a0f33d1e71f65451b37267f35b6e0fe 100644 (file)
@@ -9,6 +9,6 @@ exit: user-controlled
 output: sorted-list
 scope: system-wide
 description: The mmanonpage.stp script uses the virtual memory tracepoints available in some kernels to track the number of faults, user space frees, page ins, copy on writes and unmaps for anonymous pages. When the script is terminated the counts are printed for each process that allocated pages while the script was running. This script displays the anonymous page statistics for each process that ran while the script is active.  It's useful in debugging leaks in the anonymous regions of a process.
-test_support: stap -l 'kernel.trace("mm_page_allocation")' && stap -l 'kernel.trace("mm_page_free")' && stap -l 'kernel.trace("mm_anon_fault")' && stap -l 'kernel.trace("mm_anon_pgin")' && stap -l 'kernel.trace("mm_anon_cow")' && stap -l 'kernel.trace("mm_anon_unmap")' && stap -l 'kernel.trace("mm_anon_userfree")'
+test_support: (stap -l 'kernel.trace("mm_page_alloc")' || stap -l 'kernel.trace("mm_page_allocation")') && (stap -l 'kernel.trace("mm_page_free")' || stap -l 'kernel.trace("mm_page_free_direct")') && stap -l 'kernel.trace("mm_anon_fault")' && stap -l 'kernel.trace("mm_anon_pgin")' && stap -l 'kernel.trace("mm_anon_cow")' && stap -l 'kernel.trace("mm_anon_unmap")' && stap -l 'kernel.trace("mm_anon_userfree")'
 test_check: stap -p4 mmanonpage.stp
 test_installcheck: stap mmanonpage.stp -c "sleep 0.2"
index 8a78633fc91024352622644c0d7c6ceafe9f52e9..7228f43e7c7147bcffa833282f60a6dce9f4f8e2 100755 (executable)
@@ -9,13 +9,13 @@ function log_event:long ()
   return (!traced_pid || traced_pid == pid())
 }
 
-probe kernel.trace("mm_page_allocation") {
+probe kernel.trace("mm_page_alloc")!, kernel.trace("mm_page_allocation") {
   if (!log_event()) next
   allocation[pid()] <<< 1
   command[pid()] = execname()
 }
 
-probe kernel.trace("mm_page_free") {
+probe kernel.trace("mm_page_free")!, kernel.trace("mm_page_free_direct") {
   if (!log_event()) next
   free[pid()] <<< 1
 }
index ab6e695ce74d14426a56fcabdc3b8c89b5ca2c51..fc32cce69689ae46d4cdb6a98e71a0d807eeaddd 100644 (file)
@@ -9,6 +9,6 @@ exit: user-controlled
 output: sorted-list
 scope: system-wide
 description: The mmfilepage.stp script uses the virtual memory tracepoints available in some kernels to track the number of faults, copy on writes mapping, and unmapping operations for file backed pages. When the script is terminated the counts are printed for each process that allocated pages while the script was running. The mmfilepage.stp script is useful in debugging leaks in the mapped file regions of a process.
-test_support: stap -l 'kernel.trace("mm_page_allocation")' && stap -l 'kernel.trace("mm_page_free")' && stap -l 'kernel.trace("mm_filemap_fault")' && stap -l 'kernel.trace("mm_filemap_cow")' && stap -l 'kernel.trace("mm_filemap_unmap")' && stap -l 'kernel.trace("mm_filemap_userunmap")'
+test_support: (stap -l 'kernel.trace("mm_page_alloc")' || stap -l 'kernel.trace("mm_page_allocation")') && (stap -l 'kernel.trace("mm_page_free")' || stap -l 'kernel.trace("mm_page_free_direct")') && stap -l 'kernel.trace("mm_filemap_fault")' && stap -l 'kernel.trace("mm_filemap_cow")' && stap -l 'kernel.trace("mm_filemap_unmap")' && stap -l 'kernel.trace("mm_filemap_userunmap")'
 test_check: stap -p4 mmfilepage.stp
 test_installcheck: stap mmfilepage.stp -c "sleep 0.2"
index 07017b45a19c55b50ed9e5652d8e2949b7d701a0..58f277c467630813e68da80294658502f0f13501 100755 (executable)
@@ -9,13 +9,13 @@ function log_event:long ()
   return (!traced_pid || traced_pid == pid())
 }
 
-probe kernel.trace("mm_page_allocation") {
+probe kernel.trace("mm_page_alloc")!, kernel.trace("mm_page_allocation") {
   if (!log_event()) next
   allocation[pid()] <<< 1
   command[pid()] = execname()
 }
 
-probe kernel.trace("mm_page_free") {
+probe kernel.trace("mm_page_free")!, kernel.trace("mm_page_free_direct") {
   if (!log_event()) next
   free[pid()] <<< 1
 }
index bef6c2aa9019bd08805a29452bd5eb25d00376f0..30117dff539e21fce430d921dab82971b326daad 100644 (file)
@@ -9,6 +9,6 @@ exit: user-controlled
 output: sorted-list
 scope: system-wide
 description: The mmwriteback.stp script uses the virtual memory tracepoints available in some kernels to report all of the file writebacks that occur form kupdate, pdflush and kjournald while the script is running.  It's useful in determining where writes are coming from on a supposedly idle system that is experiencing unexpected IO.
-test_support: stap -l 'kernel.trace("mm_pdflush_bgwriteout")' && stap -l 'kernel.trace("mm_pdflush_kupdate")' && stap -l 'kernel.trace("mm_pagereclaim_pgout")'
+test_support: (stap -l 'kernel.trace("balance_dirty_pages")' || stap -l 'kernel.trace("mm_balancedirty_writeout")' || stap -l 'kernel.trace("mm_pdflush_bgwriteout")') && (stap -l 'kernel.trace("writeback_pages_written")' || stap -l 'kernel.trace("mm_pdflush_kupdate")') && (stap -l 'kernel.trace("mm_vmscan_writepage")' || stap -l 'kernel.trace("mm_pagereclaim_pgout")')
 test_check: stap -p4 mmwriteback.stp
 test_installcheck: stap mmwriteback.stp -c "sleep 0.2"
index 8481543b894c4be95ace017b2f588d44756559cc..97aff9870f8d5900ef6853fe26b7d8348efe4e3d 100755 (executable)
@@ -8,19 +8,30 @@ function log_event:long ()
   return (!traced_pid || traced_pid == pid())
 }
 
-probe kernel.trace("mm_pdflush_bgwriteout") {
+probe kernel.trace("balance_dirty_pages") !,           # v3.2+
+      kernel.trace("mm_balancedirty_writeout") !,      # RHEL6(2.6.32)
+      kernel.trace("mm_pdflush_bgwriteout")            # RHEL5(2.6.18)
+{
   if (!log_event()) next
-  bgwriteout[pid()] <<< $count 
+  bgwriteout[pid()] <<< (@defined($dirtied) ? $dirtied
+                        : (@defined($written) ? $written : $count))
   command[pid()] = execname()
 }
 
-probe kernel.trace("mm_pdflush_kupdate") {
+probe kernel.trace("writeback_pages_written") !,       # v2.6.36+
+                                                       #   & RHEL6(2.6.32)
+      kernel.trace("mm_pdflush_kupdate")               # RHEL5(2.6.18)
+{
   if (!log_event()) next
-  kupdate[pid()] <<< $count
+  kupdate[pid()] <<< (@defined($pages_written) ? $pages_written : $count)
   command[pid()] = execname()
 }
 
-probe kernel.trace("mm_pagereclaim_pgout") {
+probe kernel.trace("mm_vmscan_writepage") !,           # v2.6.36+
+                                                       #   & RHEL6(2.6.32)
+      kernel.trace("mm_pagereclaim_pgout")             # RHEL5(2.6.18)
+                                                       #   & RHEL6(2.6.32)
+{
   if (!log_event()) next
   pgout[pid()] <<< 1
   command[pid()] = execname()
This page took 0.032226 seconds and 5 git commands to generate.