The perf_output_sample_ustack in kernel/events/core.c only writes a single 64 bit word if it can't dump the user registers. From the current version of the man page, I would have expected two 64 bit words (one for size, one for dyn_size). Change the man page to make this behavior explicit. This is my first man-pages patch, please let me know if I should do anything else. --- man2/perf_event_open.2 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2 index 0e42c50..6788154 100644 --- a/man2/perf_event_open.2 +++ b/man2/perf_event_open.2 @@ -1994,7 +1994,7 @@ struct { /* if PERF_SAMPLE_REGS_USER */ u64 size; /* if PERF_SAMPLE_STACK_USER */ char data[size]; /* if PERF_SAMPLE_STACK_USER */ - u64 dyn_size; /* if PERF_SAMPLE_STACK_USER */ + u64 dyn_size; /* if PERF_SAMPLE_STACK_USER && size != 0 */ u64 weight; /* if PERF_SAMPLE_WEIGHT */ u64 data_src; /* if PERF_SAMPLE_DATA_SRC */ u64 transaction;/* if PERF_SAMPLE_TRANSACTION */ @@ -2185,6 +2185,11 @@ stack pointer at the time of sampling). .I dyn_size is the amount of data actually dumped (can be less than .IR size ). +Note that +.I dyn_size +is omitted if +.I size +is 0. .TP .I weight If -- 2.6.4 -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html