Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #ifndef __PERF_TESTS__HISTS_COMMON_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #define __PERF_TESTS__HISTS_COMMON_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) struct machine;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) struct machines;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) #define FAKE_PID_PERF1  100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #define FAKE_PID_PERF2  200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define FAKE_PID_BASH   300
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define FAKE_MAP_PERF    0x400000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define FAKE_MAP_BASH    0x400000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define FAKE_MAP_LIBC    0x500000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define FAKE_MAP_KERNEL  0xf00000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define FAKE_MAP_LENGTH  0x100000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define FAKE_SYM_OFFSET1  700
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define FAKE_SYM_OFFSET2  800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define FAKE_SYM_OFFSET3  900
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define FAKE_SYM_LENGTH   100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define FAKE_IP_PERF_MAIN  FAKE_MAP_PERF + FAKE_SYM_OFFSET1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define FAKE_IP_PERF_RUN_COMMAND  FAKE_MAP_PERF + FAKE_SYM_OFFSET2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define FAKE_IP_PERF_CMD_RECORD  FAKE_MAP_PERF + FAKE_SYM_OFFSET3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define FAKE_IP_BASH_MAIN  FAKE_MAP_BASH + FAKE_SYM_OFFSET1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define FAKE_IP_BASH_XMALLOC  FAKE_MAP_BASH + FAKE_SYM_OFFSET2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define FAKE_IP_BASH_XFREE  FAKE_MAP_BASH + FAKE_SYM_OFFSET3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #define FAKE_IP_LIBC_MALLOC  FAKE_MAP_LIBC + FAKE_SYM_OFFSET1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #define FAKE_IP_LIBC_FREE  FAKE_MAP_LIBC + FAKE_SYM_OFFSET2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define FAKE_IP_LIBC_REALLOC  FAKE_MAP_LIBC + FAKE_SYM_OFFSET3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define FAKE_IP_KERNEL_SCHEDULE  FAKE_MAP_KERNEL + FAKE_SYM_OFFSET1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #define FAKE_IP_KERNEL_PAGE_FAULT  FAKE_MAP_KERNEL + FAKE_SYM_OFFSET2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #define FAKE_IP_KERNEL_SYS_PERF_EVENT_OPEN  FAKE_MAP_KERNEL + FAKE_SYM_OFFSET3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)  * The setup_fake_machine() provides a test environment which consists
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)  * of 3 processes that have 3 mappings and in turn, have 3 symbols
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)  * respectively.  See below table:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)  * Command:  Pid  Shared Object               Symbol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)  * .............  .............  ...................
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)  *    perf:  100           perf  main
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)  *    perf:  100           perf  run_command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)  *    perf:  100           perf  cmd_record
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)  *    perf:  100           libc  malloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)  *    perf:  100           libc  free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)  *    perf:  100           libc  realloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)  *    perf:  100       [kernel]  schedule
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)  *    perf:  100       [kernel]  page_fault
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)  *    perf:  100       [kernel]  sys_perf_event_open
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)  *    perf:  200           perf  main
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)  *    perf:  200           perf  run_command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)  *    perf:  200           perf  cmd_record
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)  *    perf:  200           libc  malloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)  *    perf:  200           libc  free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)  *    perf:  200           libc  realloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)  *    perf:  200       [kernel]  schedule
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)  *    perf:  200       [kernel]  page_fault
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)  *    perf:  200       [kernel]  sys_perf_event_open
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)  *    bash:  300           bash  main
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)  *    bash:  300           bash  xmalloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)  *    bash:  300           bash  xfree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)  *    bash:  300           libc  malloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)  *    bash:  300           libc  free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)  *    bash:  300           libc  realloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)  *    bash:  300       [kernel]  schedule
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)  *    bash:  300       [kernel]  page_fault
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)  *    bash:  300       [kernel]  sys_perf_event_open
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) struct machine *setup_fake_machine(struct machines *machines);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) void print_hists_in(struct hists *hists);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) void print_hists_out(struct hists *hists);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) #endif /* __PERF_TESTS__HISTS_COMMON_H__ */