2014-04-25 12:28:13 +09:00
# ifndef __PERF_TESTS__HISTS_COMMON_H__
# define __PERF_TESTS__HISTS_COMMON_H__
struct machine ;
struct machines ;
2014-05-23 14:59:57 +09:00
# define FAKE_PID_PERF1 100
# define FAKE_PID_PERF2 200
# define FAKE_PID_BASH 300
# define FAKE_MAP_PERF 0x400000
# define FAKE_MAP_BASH 0x400000
# define FAKE_MAP_LIBC 0x500000
# define FAKE_MAP_KERNEL 0xf00000
# define FAKE_MAP_LENGTH 0x100000
# define FAKE_SYM_OFFSET1 700
# define FAKE_SYM_OFFSET2 800
# define FAKE_SYM_OFFSET3 900
# define FAKE_SYM_LENGTH 100
# define FAKE_IP_PERF_MAIN FAKE_MAP_PERF + FAKE_SYM_OFFSET1
# define FAKE_IP_PERF_RUN_COMMAND FAKE_MAP_PERF + FAKE_SYM_OFFSET2
# define FAKE_IP_PERF_CMD_RECORD FAKE_MAP_PERF + FAKE_SYM_OFFSET3
# define FAKE_IP_BASH_MAIN FAKE_MAP_BASH + FAKE_SYM_OFFSET1
# define FAKE_IP_BASH_XMALLOC FAKE_MAP_BASH + FAKE_SYM_OFFSET2
# define FAKE_IP_BASH_XFREE FAKE_MAP_BASH + FAKE_SYM_OFFSET3
# define FAKE_IP_LIBC_MALLOC FAKE_MAP_LIBC + FAKE_SYM_OFFSET1
# define FAKE_IP_LIBC_FREE FAKE_MAP_LIBC + FAKE_SYM_OFFSET2
# define FAKE_IP_LIBC_REALLOC FAKE_MAP_LIBC + FAKE_SYM_OFFSET3
# define FAKE_IP_KERNEL_SCHEDULE FAKE_MAP_KERNEL + FAKE_SYM_OFFSET1
# define FAKE_IP_KERNEL_PAGE_FAULT FAKE_MAP_KERNEL + FAKE_SYM_OFFSET2
# define FAKE_IP_KERNEL_SYS_PERF_EVENT_OPEN FAKE_MAP_KERNEL + FAKE_SYM_OFFSET3
2014-04-25 12:28:13 +09:00
/*
* The setup_fake_machine ( ) provides a test environment which consists
* of 3 processes that have 3 mappings and in turn , have 3 symbols
* respectively . See below table :
*
* Command : Pid Shared Object Symbol
* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
* perf : 100 perf main
* perf : 100 perf run_command
2014-05-23 14:59:57 +09:00
* perf : 100 perf cmd_record
2014-04-25 12:28:13 +09:00
* perf : 100 libc malloc
* perf : 100 libc free
* perf : 100 libc realloc
* perf : 100 [ kernel ] schedule
* perf : 100 [ kernel ] page_fault
* perf : 100 [ kernel ] sys_perf_event_open
* perf : 200 perf main
* perf : 200 perf run_command
2014-05-23 14:59:57 +09:00
* perf : 200 perf cmd_record
2014-04-25 12:28:13 +09:00
* perf : 200 libc malloc
* perf : 200 libc free
* perf : 200 libc realloc
* perf : 200 [ kernel ] schedule
* perf : 200 [ kernel ] page_fault
* perf : 200 [ kernel ] sys_perf_event_open
* bash : 300 bash main
* bash : 300 bash xmalloc
* bash : 300 bash xfree
* bash : 300 libc malloc
* bash : 300 libc free
* bash : 300 libc realloc
* bash : 300 [ kernel ] schedule
* bash : 300 [ kernel ] page_fault
* bash : 300 [ kernel ] sys_perf_event_open
*/
struct machine * setup_fake_machine ( struct machines * machines ) ;
2014-05-12 10:06:18 +09:00
void print_hists_in ( struct hists * hists ) ;
void print_hists_out ( struct hists * hists ) ;
2014-04-25 12:28:13 +09:00
# endif /* __PERF_TESTS__HISTS_COMMON_H__ */