Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Apr 2015 15:43:13 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r281983 - head/sys/cddl/dev/profile
Message-ID:  <201504251543.t3PFhDFZ081455@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rwatson
Date: Sat Apr 25 15:43:12 2015
New Revision: 281983
URL: https://svnweb.freebsd.org/changeset/base/281983

Log:
  Adjust PROF_ARTIFICIAL_FRAMES in the DTrace profile provider on ARM to
  skip 10, rather than 9, frames.  This appears to work quite well in
  practice on the BeagleBone Black, so remove a comment about the value
  being bogus and replace it with a slightly less negative one.  However,
  the number of frames to skip is quite sensitive to details of the timer
  and interrupt handling paths, so this is necessarily fragile -- but no
  more so than on x86.
  
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/cddl/dev/profile/profile.c

Modified: head/sys/cddl/dev/profile/profile.c
==============================================================================
--- head/sys/cddl/dev/profile/profile.c	Sat Apr 25 13:34:25 2015	(r281982)
+++ head/sys/cddl/dev/profile/profile.c	Sat Apr 25 15:43:12 2015	(r281983)
@@ -134,8 +134,10 @@ struct profile_probe_percpu;
 #endif
 
 #ifdef __arm__
-/* bogus */
-#define	PROF_ARTIFICIAL_FRAMES	9
+/*
+ * At least on ARMv7, this appears to work quite well.
+ */
+#define	PROF_ARTIFICIAL_FRAMES	10
 #endif
 
 typedef struct profile_probe {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504251543.t3PFhDFZ081455>