aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/dev/profile
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2015-04-25 15:43:12 +0000
committerRobert Watson <rwatson@FreeBSD.org>2015-04-25 15:43:12 +0000
commita12df97ed28e5bd5d4bf03c02f0a4848aaf6c94b (patch)
tree58c2ec14c866a74ab8f633d95a534e588921b663 /sys/cddl/dev/profile
parentcad3cc1310cdc692c4261e36f5978bbbbcefd16b (diff)
downloadsrc-a12df97ed28e5bd5d4bf03c02f0a4848aaf6c94b.tar.gz
src-a12df97ed28e5bd5d4bf03c02f0a4848aaf6c94b.zip
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
Notes
Notes: svn path=/head/; revision=281983
Diffstat (limited to 'sys/cddl/dev/profile')
-rw-r--r--sys/cddl/dev/profile/profile.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/cddl/dev/profile/profile.c b/sys/cddl/dev/profile/profile.c
index 338a95843913..d31d5c81077e 100644
--- a/sys/cddl/dev/profile/profile.c
+++ b/sys/cddl/dev/profile/profile.c
@@ -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 {