On Mon, Jan 25, 2016 at 08:33:48AM +0000, Wang Nan wrote: > This is the v3 of this series. Compare with v2, tailsize method is > removed, ioctl command PERF_EVENT_IOC_PAUSE_OUTPUT is changed to > _IOW('$', 9, __u32) since it has an input value, commit message > is slightly adjusted. > > New test result on ARM64 is below (x86_64 result is copied from previous > email, test method is described in previous version [1]): > > x86_64 | ARM64 > -----------------------+--------------------- > MEAN STDVAR | MEAN STDVAR > BASE : 879870.81 11913.13 | 808302.67 6951.47 > RAWPERF : 2603854.70 706658.40 | 3461675.12 54075.69 > WRTBKWRD : 2313301.22 6727.96 | 3350177.98 23125.48 > TAILSIZE : 2383051.86 5248.06 | 3556496.56 24802.17 > RAWOVWRT : 2315273.18 5221.03 | 3458767.49 41560.32 > RAWOVWRT*: 2323970.45 5103.39 | 3438967.06 34095.83 > > ARM64 platform is a smartphone with 8 Hisilicon arm64 cores > (big/little). > > Benckmarking result on both architechure support removing tailsize > method because its performance penalty is higher than WRTBKWRD. Also, it > seems we don't need to consider tailheader method (putting whole header > at the end of records, kernel write to the ring buffer from beginning to > end), because the above result shows WRTBKWRD and RAWOVWRT are similar, > and tailheader is impossible to outperform RAWOVWRT in theory.
looks ok to me.