• Frederic Weisbecker's avatar
    perf_events: Fix unincremented buffer base on partial copy · 74048f89
    Frederic Weisbecker authored
    If a sample size crosses to the next page boundary, the copy
    will be made in more than one step. However we forget to advance
    the source offset for the next copy, leading to unexpected double
    copies that completely mess up the traces.
    
    This fixes various kinds of bad traces that have irrelevant
    data inside, as an example:
    
    	geany-4979  [001]  5758.077775: sched_switch: prev_comm=! prev_pid=121
    		prev_prio=0 prev_state=S|D|Z|X|x ==> next_comm= next_pid=7497072
    		next_prio=0
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1274988898-5639-1-git-send-regression-fweisbec@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    74048f89
perf_event.c 133 KB