Skip to content

Commit 4a98be8

Browse files
committed
Merge tag 'perf-core-for-mingo-5.1-20190311' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/core improvements and fixes from Arnaldo: kernel: Stephane Eranian : - Restore mmap record type correctly when handling PERF_RECORD_MMAP2 events, as the same template is used for all the threads interested in mmap events, some may want just PERF_RECORD_MMAP, while some may want the extra info in MMAP2 records. perf probe: Adrian Hunter: - Fix getting the kernel map, because since changes related to x86 PTI entry trampolines handling, there are more than one kernel map. perf script: Andi Kleen: - Support insn output for normal samples, i.e.: perf script -F ip,sym,insn --xed Will fetch the sample IP from the thread address space and feed it to Intel's XED disassembler, producing lines such as: ffffffffa4068804 native_write_msr wrmsr ffffffffa415b95e __hrtimer_next_event_base movq 0x18(%rax), %rdx That match 'perf annotate's output. - Make the --cpu filter apply to PERF_RECORD_COMM/FORK/... events, in addition to PERF_RECORD_SAMPLE. perf report: - Add a new --samples option to save a small random number of samples per hist entry, using a reservoir technique to select a representative number of samples. Then allow browsing the samples using 'perf script' as part of the hist entry context menu. This automatically adds the right filters, so only the thread or CPU of the sample is displayed. Then we use less' search functionality to directly jump to the time stamp of the selected sample. It uses different menus for assembler and source display. Assembler needs xed installed and source needs debuginfo. - Fix the UI browser scripts pop up menu when there are many scripts available. perf report: Andi Kleen: - Add 'time' sort option. E.g.: % perf report --sort time,overhead,symbol --time-quantum 1ms --stdio ... 0.67% 277061.87300 [.] _dl_start 0.50% 277061.87300 [.] f1 0.50% 277061.87300 [.] f2 0.33% 277061.87300 [.] main 0.29% 277061.87300 [.] _dl_lookup_symbol_x 0.29% 277061.87300 [.] dl_main 0.29% 277061.87300 [.] do_lookup_x 0.17% 277061.87300 [.] _dl_debug_initialize 0.17% 277061.87300 [.] _dl_init_paths 0.08% 277061.87300 [.] check_match 0.04% 277061.87300 [.] _dl_count_modids 1.33% 277061.87400 [.] f1 1.33% 277061.87400 [.] f2 1.33% 277061.87400 [.] main 1.17% 277061.87500 [.] main 1.08% 277061.87500 [.] f1 1.08% 277061.87500 [.] f2 1.00% 277061.87600 [.] main 0.83% 277061.87600 [.] f1 0.83% 277061.87600 [.] f2 1.00% 277061.87700 [.] main tools headers: Arnaldo Carvalho de Melo: - Update x86's syscall_64.tbl, no change in tools/perf behaviour. - Sync copies asm-generic/unistd.h and linux/in with the kernel sources. perf data: Jiri Olsa: - Prep work to support having perf.data stored as a directory, with one file per CPU, that ultimately will allow having one ring buffer reading thread per CPU. Vendor events: Martin Liška: - perf PMU events for AMD Family 17h. perf script python: Tony Jones: - Add python3 support for the remaining Intel PT related scripts, with these we should have a clean build of perf with python3 while still supporting the build with python2. libbpf: Arnaldo Carvalho de Melo: - Fix the build on uCLibc, adding the missing stdarg.h since we use va_list in one typedef. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2 parents c634dc6 + dfcbc2f commit 4a98be8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1931
-287
lines changed

kernel/events/core.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7189,6 +7189,7 @@ static void perf_event_mmap_output(struct perf_event *event,
71897189
struct perf_output_handle handle;
71907190
struct perf_sample_data sample;
71917191
int size = mmap_event->event_id.header.size;
7192+
u32 type = mmap_event->event_id.header.type;
71927193
int ret;
71937194

71947195
if (!perf_event_mmap_match(event, data))
@@ -7232,6 +7233,7 @@ static void perf_event_mmap_output(struct perf_event *event,
72327233
perf_output_end(&handle);
72337234
out:
72347235
mmap_event->event_id.header.size = size;
7236+
mmap_event->event_id.header.type = type;
72357237
}
72367238

72377239
static void perf_event_mmap_event(struct perf_mmap_event *mmap_event)

tools/arch/arm64/include/uapi/asm/unistd.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,7 @@
1717

1818
#define __ARCH_WANT_RENAMEAT
1919
#define __ARCH_WANT_NEW_STAT
20+
#define __ARCH_WANT_SET_GET_RLIMIT
21+
#define __ARCH_WANT_TIME32_SYSCALLS
2022

2123
#include <asm-generic/unistd.h>

tools/include/uapi/asm-generic/unistd.h

Lines changed: 116 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ __SYSCALL(__NR_io_destroy, sys_io_destroy)
3838
__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
3939
#define __NR_io_cancel 3
4040
__SYSCALL(__NR_io_cancel, sys_io_cancel)
41+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
4142
#define __NR_io_getevents 4
42-
__SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents)
43+
__SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents)
44+
#endif
4345

4446
/* fs/xattr.c */
4547
#define __NR_setxattr 5
@@ -179,7 +181,7 @@ __SYSCALL(__NR_fchownat, sys_fchownat)
179181
#define __NR_fchown 55
180182
__SYSCALL(__NR_fchown, sys_fchown)
181183
#define __NR_openat 56
182-
__SC_COMP(__NR_openat, sys_openat, compat_sys_openat)
184+
__SYSCALL(__NR_openat, sys_openat)
183185
#define __NR_close 57
184186
__SYSCALL(__NR_close, sys_close)
185187
#define __NR_vhangup 58
@@ -222,10 +224,12 @@ __SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev)
222224
__SYSCALL(__NR3264_sendfile, sys_sendfile64)
223225

224226
/* fs/select.c */
227+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
225228
#define __NR_pselect6 72
226-
__SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6)
229+
__SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32)
227230
#define __NR_ppoll 73
228-
__SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll)
231+
__SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32)
232+
#endif
229233

230234
/* fs/signalfd.c */
231235
#define __NR_signalfd4 74
@@ -269,16 +273,20 @@ __SC_COMP(__NR_sync_file_range, sys_sync_file_range, \
269273
/* fs/timerfd.c */
270274
#define __NR_timerfd_create 85
271275
__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
276+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
272277
#define __NR_timerfd_settime 86
273-
__SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \
274-
compat_sys_timerfd_settime)
278+
__SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \
279+
sys_timerfd_settime)
275280
#define __NR_timerfd_gettime 87
276-
__SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \
277-
compat_sys_timerfd_gettime)
281+
__SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \
282+
sys_timerfd_gettime)
283+
#endif
278284

279285
/* fs/utimes.c */
286+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
280287
#define __NR_utimensat 88
281-
__SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat)
288+
__SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat)
289+
#endif
282290

283291
/* kernel/acct.c */
284292
#define __NR_acct 89
@@ -309,8 +317,10 @@ __SYSCALL(__NR_set_tid_address, sys_set_tid_address)
309317
__SYSCALL(__NR_unshare, sys_unshare)
310318

311319
/* kernel/futex.c */
320+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
312321
#define __NR_futex 98
313-
__SC_COMP(__NR_futex, sys_futex, compat_sys_futex)
322+
__SC_3264(__NR_futex, sys_futex_time32, sys_futex)
323+
#endif
314324
#define __NR_set_robust_list 99
315325
__SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
316326
compat_sys_set_robust_list)
@@ -319,8 +329,10 @@ __SC_COMP(__NR_get_robust_list, sys_get_robust_list, \
319329
compat_sys_get_robust_list)
320330

321331
/* kernel/hrtimer.c */
332+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
322333
#define __NR_nanosleep 101
323-
__SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep)
334+
__SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep)
335+
#endif
324336

325337
/* kernel/itimer.c */
326338
#define __NR_getitimer 102
@@ -341,23 +353,29 @@ __SYSCALL(__NR_delete_module, sys_delete_module)
341353
/* kernel/posix-timers.c */
342354
#define __NR_timer_create 107
343355
__SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
356+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
344357
#define __NR_timer_gettime 108
345-
__SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime)
358+
__SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime)
359+
#endif
346360
#define __NR_timer_getoverrun 109
347361
__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
362+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
348363
#define __NR_timer_settime 110
349-
__SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime)
364+
__SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime)
365+
#endif
350366
#define __NR_timer_delete 111
351367
__SYSCALL(__NR_timer_delete, sys_timer_delete)
368+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
352369
#define __NR_clock_settime 112
353-
__SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime)
370+
__SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime)
354371
#define __NR_clock_gettime 113
355-
__SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime)
372+
__SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime)
356373
#define __NR_clock_getres 114
357-
__SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres)
374+
__SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres)
358375
#define __NR_clock_nanosleep 115
359-
__SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \
360-
compat_sys_clock_nanosleep)
376+
__SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \
377+
sys_clock_nanosleep)
378+
#endif
361379

362380
/* kernel/printk.c */
363381
#define __NR_syslog 116
@@ -388,9 +406,11 @@ __SYSCALL(__NR_sched_yield, sys_sched_yield)
388406
__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
389407
#define __NR_sched_get_priority_min 126
390408
__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
409+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
391410
#define __NR_sched_rr_get_interval 127
392-
__SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \
393-
compat_sys_sched_rr_get_interval)
411+
__SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \
412+
sys_sched_rr_get_interval)
413+
#endif
394414

395415
/* kernel/signal.c */
396416
#define __NR_restart_syscall 128
@@ -411,9 +431,11 @@ __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction)
411431
__SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)
412432
#define __NR_rt_sigpending 136
413433
__SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
434+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
414435
#define __NR_rt_sigtimedwait 137
415-
__SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \
416-
compat_sys_rt_sigtimedwait)
436+
__SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \
437+
sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32)
438+
#endif
417439
#define __NR_rt_sigqueueinfo 138
418440
__SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
419441
compat_sys_rt_sigqueueinfo)
@@ -467,10 +489,15 @@ __SYSCALL(__NR_uname, sys_newuname)
467489
__SYSCALL(__NR_sethostname, sys_sethostname)
468490
#define __NR_setdomainname 162
469491
__SYSCALL(__NR_setdomainname, sys_setdomainname)
492+
493+
#ifdef __ARCH_WANT_SET_GET_RLIMIT
494+
/* getrlimit and setrlimit are superseded with prlimit64 */
470495
#define __NR_getrlimit 163
471496
__SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)
472497
#define __NR_setrlimit 164
473498
__SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)
499+
#endif
500+
474501
#define __NR_getrusage 165
475502
__SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)
476503
#define __NR_umask 166
@@ -481,12 +508,14 @@ __SYSCALL(__NR_prctl, sys_prctl)
481508
__SYSCALL(__NR_getcpu, sys_getcpu)
482509

483510
/* kernel/time.c */
511+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
484512
#define __NR_gettimeofday 169
485513
__SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)
486514
#define __NR_settimeofday 170
487515
__SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
488516
#define __NR_adjtimex 171
489-
__SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex)
517+
__SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex)
518+
#endif
490519

491520
/* kernel/timer.c */
492521
#define __NR_getpid 172
@@ -511,11 +540,13 @@ __SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo)
511540
__SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)
512541
#define __NR_mq_unlink 181
513542
__SYSCALL(__NR_mq_unlink, sys_mq_unlink)
543+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
514544
#define __NR_mq_timedsend 182
515-
__SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend)
545+
__SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend)
516546
#define __NR_mq_timedreceive 183
517-
__SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \
518-
compat_sys_mq_timedreceive)
547+
__SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \
548+
sys_mq_timedreceive)
549+
#endif
519550
#define __NR_mq_notify 184
520551
__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
521552
#define __NR_mq_getsetattr 185
@@ -536,8 +567,10 @@ __SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd)
536567
__SYSCALL(__NR_semget, sys_semget)
537568
#define __NR_semctl 191
538569
__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
570+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
539571
#define __NR_semtimedop 192
540-
__SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop)
572+
__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32)
573+
#endif
541574
#define __NR_semop 193
542575
__SYSCALL(__NR_semop, sys_semop)
543576

@@ -658,17 +691,21 @@ __SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \
658691
__SYSCALL(__NR_perf_event_open, sys_perf_event_open)
659692
#define __NR_accept4 242
660693
__SYSCALL(__NR_accept4, sys_accept4)
694+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
661695
#define __NR_recvmmsg 243
662-
__SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
696+
__SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32)
697+
#endif
663698

664699
/*
665700
* Architectures may provide up to 16 syscalls of their own
666701
* starting with this value.
667702
*/
668703
#define __NR_arch_specific_syscall 244
669704

705+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
670706
#define __NR_wait4 260
671707
__SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)
708+
#endif
672709
#define __NR_prlimit64 261
673710
__SYSCALL(__NR_prlimit64, sys_prlimit64)
674711
#define __NR_fanotify_init 262
@@ -678,10 +715,11 @@ __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark)
678715
#define __NR_name_to_handle_at 264
679716
__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
680717
#define __NR_open_by_handle_at 265
681-
__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \
682-
compat_sys_open_by_handle_at)
718+
__SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at)
719+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
683720
#define __NR_clock_adjtime 266
684-
__SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime)
721+
__SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime)
722+
#endif
685723
#define __NR_syncfs 267
686724
__SYSCALL(__NR_syncfs, sys_syncfs)
687725
#define __NR_setns 268
@@ -734,15 +772,60 @@ __SYSCALL(__NR_pkey_alloc, sys_pkey_alloc)
734772
__SYSCALL(__NR_pkey_free, sys_pkey_free)
735773
#define __NR_statx 291
736774
__SYSCALL(__NR_statx, sys_statx)
775+
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
737776
#define __NR_io_pgetevents 292
738-
__SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents)
777+
__SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents)
778+
#endif
739779
#define __NR_rseq 293
740780
__SYSCALL(__NR_rseq, sys_rseq)
741781
#define __NR_kexec_file_load 294
742782
__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load)
783+
/* 295 through 402 are unassigned to sync up with generic numbers, don't use */
784+
#if __BITS_PER_LONG == 32
785+
#define __NR_clock_gettime64 403
786+
__SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
787+
#define __NR_clock_settime64 404
788+
__SYSCALL(__NR_clock_settime64, sys_clock_settime)
789+
#define __NR_clock_adjtime64 405
790+
__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime)
791+
#define __NR_clock_getres_time64 406
792+
__SYSCALL(__NR_clock_getres_time64, sys_clock_getres)
793+
#define __NR_clock_nanosleep_time64 407
794+
__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep)
795+
#define __NR_timer_gettime64 408
796+
__SYSCALL(__NR_timer_gettime64, sys_timer_gettime)
797+
#define __NR_timer_settime64 409
798+
__SYSCALL(__NR_timer_settime64, sys_timer_settime)
799+
#define __NR_timerfd_gettime64 410
800+
__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime)
801+
#define __NR_timerfd_settime64 411
802+
__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime)
803+
#define __NR_utimensat_time64 412
804+
__SYSCALL(__NR_utimensat_time64, sys_utimensat)
805+
#define __NR_pselect6_time64 413
806+
__SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64)
807+
#define __NR_ppoll_time64 414
808+
__SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64)
809+
#define __NR_io_pgetevents_time64 416
810+
__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
811+
#define __NR_recvmmsg_time64 417
812+
__SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64)
813+
#define __NR_mq_timedsend_time64 418
814+
__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend)
815+
#define __NR_mq_timedreceive_time64 419
816+
__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive)
817+
#define __NR_semtimedop_time64 420
818+
__SYSCALL(__NR_semtimedop_time64, sys_semtimedop)
819+
#define __NR_rt_sigtimedwait_time64 421
820+
__SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64)
821+
#define __NR_futex_time64 422
822+
__SYSCALL(__NR_futex_time64, sys_futex)
823+
#define __NR_sched_rr_get_interval_time64 423
824+
__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
825+
#endif
743826

744827
#undef __NR_syscalls
745-
#define __NR_syscalls 295
828+
#define __NR_syscalls 424
746829

747830
/*
748831
* 32 bit systems traditionally used different

tools/include/uapi/linux/in.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -292,10 +292,11 @@ struct sockaddr_in {
292292
#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000)
293293

294294
/* Defines for Multicast INADDR */
295-
#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
296-
#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
297-
#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
298-
#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
295+
#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
296+
#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
297+
#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
298+
#define INADDR_ALLSNOOPERS_GROUP 0xe000006aU /* 224.0.0.106 */
299+
#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
299300
#endif
300301

301302
/* <asm/byteorder.h> contains the htonl type stuff.. */

tools/lib/bpf/libbpf.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#ifndef __LIBBPF_LIBBPF_H
1111
#define __LIBBPF_LIBBPF_H
1212

13+
#include <stdarg.h>
1314
#include <stdio.h>
1415
#include <stdint.h>
1516
#include <stdbool.h>

tools/perf/Documentation/perf-config.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,20 @@ llvm.*::
584584
llvm.opts::
585585
Options passed to llc.
586586

587+
samples.*::
588+
589+
samples.context::
590+
Define how many ns worth of time to show
591+
around samples in perf report sample context browser.
592+
593+
scripts.*::
594+
595+
Any option defines a script that is added to the scripts menu
596+
in the interactive perf browser and whose output is displayed.
597+
The name of the option is the name, the value is a script command line.
598+
The script gets the same options passed as a full perf script,
599+
in particular -i perfdata file, --cpu, --tid
600+
587601
SEE ALSO
588602
--------
589603
linkperf:perf[1]

0 commit comments

Comments
 (0)