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]

Re: automated way to find functions that we might want to blacklist


On Sun, Jan 15, 2012 at 11:44:02PM +0200, Sami Liedes wrote:
> After more exhaustive testing and modifying the script to handle
> occasional crashes much better, here's an updated list. Should I just
> send a patch adding these to the blacklist against the git HEAD of
> systemtap?

Here's a tentative patch against git HEAD. I also took the liberty to
move a couple of entries to make the previously almost-sorted list
sorted again.

	Sami

------------------------------------------------------------
commit dc5e6ca380d76de702113caa9cc8dbbb1fc5e785
Author: Sami Liedes <sami.liedes@iki.fi>
Date:   Mon Jan 16 00:11:00 2012 +0200

    Blacklist some functions that crash 3.1.x or 3.2.0.

diff --git a/dwflpp.cxx b/dwflpp.cxx
index 4d78187..fe89cf7 100644
--- a/dwflpp.cxx
+++ b/dwflpp.cxx
@@ -3159,7 +3159,11 @@ dwflpp::build_blacklist()
   // also allows detection of problems at translate- rather than
   // run-time.
 
-  blfn += "atomic_notifier_call_chain"; // first blfn; no "|"
+  blfn += "arch_local_irq_enable"; // first blfn; no "|"
+  blfn += "|arch_local_irq_restore";
+  blfn += "|atomic_notifier_call_chain";
+  blfn += "|clts";
+  blfn += "|cpu_relax";
   blfn += "|default_do_nmi";
   blfn += "|__die";
   blfn += "|die_nmi";
@@ -3171,19 +3175,35 @@ dwflpp::build_blacklist()
   blfn += "|do_sparc64_fault";
   blfn += "|do_trap";
   blfn += "|dummy_nmi_callback";
+  blfn += "|__find_general_cachep";
   blfn += "|flush_icache_range";
+  blfn += "|hash_64";
+  blfn += "|hash_ptr";
   blfn += "|ia64_bad_break";
   blfn += "|ia64_do_page_fault";
   blfn += "|ia64_fault";
+  blfn += "|inat_get_opcode_attribute";
   blfn += "|io_check_error";
+  blfn += "|kmem_find_general_cachep";
   blfn += "|mem_parity_error";
+  blfn += "|native_safe_halt";
+  blfn += "|native_set_debugreg";
+  blfn += "|native_set_fixmap";
+  blfn += "|native_write_cr0";
   blfn += "|nmi_watchdog_tick";
   blfn += "|notifier_call_chain";
   blfn += "|oops_begin";
   blfn += "|oops_end";
+  blfn += "|outw";
   blfn += "|program_check_exception";
+  blfn += "|readl";
+  blfn += "|rep_nop";
   blfn += "|single_step_exception";
   blfn += "|sync_regs";
+  blfn += "|system_call_after_swapgs";
+  blfn += "|test_tsk_thread_flag";
+  blfn += "|test_tsk_need_resched";
+  blfn += "|test_ti_thread_flag.*";
   blfn += "|unhandled_fault";
   blfn += "|unknown_nmi_error";
   blfn += "|xen_[gs]et_debugreg";
@@ -3193,9 +3213,6 @@ dwflpp::build_blacklist()
   blfn += "|xen_adjust_exception_frame";
   blfn += "|xen_iret.*";
   blfn += "|xen_sysret64.*";
-  blfn += "|test_ti_thread_flag.*";
-  blfn += "|inat_get_opcode_attribute";
-  blfn += "|system_call_after_swapgs";
 
   // Lots of locks
   blfn += "|.*raw_.*_lock.*";
------------------------------------------------------------

Attachment: signature.asc
Description: Digital signature


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