SYMBOL INDEX (256 symbols across 45 files) FILE: bench/memlat/memlat.c function safe_strtoull (line 26) | static uint64_t safe_strtoull(const char *s) { function main (line 45) | int main(int argc, char *argv[]) { FILE: bench/multilat/multilat.c type arg_s (line 37) | typedef struct { type element_t (line 55) | typedef struct { type chain_t (line 60) | typedef struct { function max_number_of_cpus (line 94) | static int max_number_of_cpus(void) function bind_cpu (line 123) | static int bind_cpu(thread_t *thread) { function force_ldm_stalls (line 168) | uint64_t force_ldm_stalls(chain_t **C, function thread_iter (line 243) | void thread_iter(int dram_refs, int nvm_refs, int interleave_dram, int i... function run_threads (line 361) | void run_threads(int n_threads, int dram_refs, int nvm_refs, int interle... function main (line 420) | int main(int argn, char **argv) FILE: bench/new_memlat/memlat.c function safe_strtoull (line 28) | static uint64_t safe_strtoull(const char *s) { function ns_to_cycles (line 45) | static inline uint64_t ns_to_cycles(int cpu_speed_mhz, int ns) function main (line 111) | int main(int argc, char *argv[]) { FILE: src/dev/ioctl_query.h type ioctl_query_setcounter_t (line 21) | typedef struct { type ioctl_query_setgetpci_t (line 26) | typedef struct { FILE: src/dev/pmc.c type file (line 34) | struct file type file_operations (line 44) | struct file_operations function pmc_set_pce_bit (line 56) | void pmc_set_pce_bit(void* arg) function pmc_init_module (line 65) | int pmc_init_module(void) function pmc_exit_module (line 91) | void pmc_exit_module(void) { type counter_s (line 97) | struct counter_s { function __pmc_clear (line 109) | static void __pmc_clear(int counter_id) { function pmc_clear (line 122) | static void pmc_clear(void* arg) { function pmc_clear_all_cpu (line 127) | void pmc_clear_all_cpu(int counter_id) function __set_counter (line 139) | static void __set_counter(int counter_id, unsigned long val) function set_counter (line 155) | void set_counter(void* arg) function set_counter_all_cpu (line 162) | void set_counter_all_cpu(int counter_id, unsigned long arg) function pmc_ioctl_setcounter (line 170) | static long pmc_ioctl_setcounter(struct file* f, unsigned int cmd, unsig... function pmc_ioctl_setpci (line 191) | static long pmc_ioctl_setpci(struct file* f, unsigned int cmd, unsigned ... function pmc_ioctl_getpci (line 211) | static long pmc_ioctl_getpci(struct file* f, unsigned int cmd, unsigned ... function pmc_ioctl (line 236) | static long pmc_ioctl(struct file *f, unsigned int cmd, unsigned long arg) FILE: src/lib/config.c function env_setting_lookup (line 38) | static inline int function env_setting_lookup_int (line 68) | static inline int function env_setting_lookup_bool (line 86) | static inline int function env_setting_lookup_string (line 93) | static inline int function __cconfig_lookup_bool (line 100) | int function __cconfig_lookup_valid_bool (line 122) | int function __cconfig_lookup_int (line 132) | int function __cconfig_lookup_valid_int (line 155) | int function __cconfig_lookup_string (line 202) | int function __cconfig_lookup_valid_string (line 224) | int function __cconfig_init (line 259) | int FILE: src/lib/cpu/cpu.c function cpuid (line 42) | void cpuid(unsigned int info, unsigned int *eax, unsigned int *ebx, unsi... function get_family_model (line 50) | void get_family_model(int *family, int *model) function cpu_speed_mhz (line 100) | int cpu_speed_mhz() function cpu_llc_size_bytes (line 111) | size_t cpu_llc_size_bytes() function match (line 126) | int match(const char *to_match, const char *regex_text) function is_Xeon (line 146) | int is_Xeon() function is_Intel (line 166) | int is_Intel() function cpu_model_t (line 186) | cpu_model_t *cpu_model() FILE: src/lib/cpu/cpu.h type pmc_set_s (line 26) | struct pmc_set_s type throttle_type_t (line 28) | typedef enum { type microarch_t (line 35) | typedef enum { type microarch_ID_t (line 45) | typedef struct type cpu_model_t (line 56) | typedef struct cpu_model_s { FILE: src/lib/cpu/haswell-papi.h function haswell_read_stall_events_local (line 36) | uint64_t haswell_read_stall_events_local() { function haswell_read_stall_events_remote (line 61) | uint64_t haswell_read_stall_events_remote() { FILE: src/lib/cpu/ivybridge-papi.h function ivybridge_read_stall_events_local (line 36) | uint64_t ivybridge_read_stall_events_local() { function ivybridge_read_stall_events_remote (line 61) | uint64_t ivybridge_read_stall_events_remote() { FILE: src/lib/cpu/pmc-papi.c function log_papi_critical (line 24) | static void log_papi_critical(int ret_val, const char *msg) { function pmc_init (line 30) | int pmc_init() { function pmc_shutdown (line 51) | void pmc_shutdown() { function pmc_create_event_set_local_thread (line 55) | int pmc_create_event_set_local_thread() { function pmc_destroy_event_set_local_thread (line 71) | void pmc_destroy_event_set_local_thread() { function pmc_register_thread (line 76) | int pmc_register_thread() { function pmc_unregister_thread (line 80) | int pmc_unregister_thread() { function pmc_register_event_local_thread (line 84) | int pmc_register_event_local_thread(const char *event_name) { function pmc_events_start_local_thread (line 103) | int pmc_events_start_local_thread() { function pmc_events_stop_local_thread (line 116) | void pmc_events_stop_local_thread() { function pmc_events_read_local_thread (line 124) | int pmc_events_read_local_thread(long long *values) { FILE: src/lib/cpu/pmc-papi.h type pmc_event_t (line 26) | typedef struct { FILE: src/lib/cpu/pmc.c function rdpmc (line 28) | long long rdpmc(int counter) function rdpmc32 (line 48) | int rdpmc32(int counter) { function get_avail_hw_cntr_id (line 78) | int get_avail_hw_cntr_id(pmc_events_t* events) function pmc_hw_event_t (line 111) | pmc_hw_event_t* enable_pmc_hw_event(pmc_events_t* events, const char* name) function disable_pmc_hw_event (line 159) | void disable_pmc_hw_event(pmc_events_t* events, const char* name) function clear_pmc_hw_event (line 185) | void clear_pmc_hw_event(pmc_hw_event_t* event) function read_pmc_hw_event_cur (line 190) | uint64_t read_pmc_hw_event_cur(pmc_hw_event_t* event) function read_pmc_hw_event_diff (line 195) | uint64_t read_pmc_hw_event_diff(pmc_hw_event_t* event) function pmc_event_t (line 210) | pmc_event_t* enable_pmc_event(cpu_model_t* cpu, const char* name) function assign_pmc_hw_event_to_event (line 243) | int assign_pmc_hw_event_to_event(pmc_events_t* events, const char* name,... function release_all_pmc_hw_events_of_event (line 261) | void release_all_pmc_hw_events_of_event(pmc_event_t* event) function disable_pmc_event (line 274) | void disable_pmc_event(cpu_model_t* cpu, const char* name) FILE: src/lib/cpu/pmc.h type pmc_hw_event_t (line 54) | typedef struct { type pmc_event_t (line 63) | typedef struct pmc_event_s { type pmc_events_t (line 73) | typedef struct pmc_events_s { function clear_pmc_event (line 90) | static inline void clear_pmc_event(pmc_event_t* event) function read_pmc_event (line 97) | static inline uint64_t read_pmc_event(pmc_event_t* event) FILE: src/lib/cpu/sandybridge-papi.h function sandybridge_latency_calibration_local (line 38) | void sandybridge_latency_calibration_local(int *hw_latency, int target_l... function sandybridge_latency_calibration_remote (line 43) | void sandybridge_latency_calibration_remote(int *hw_latency, int target_... function sandybridge_read_stall_events_local (line 48) | uint64_t sandybridge_read_stall_events_local() { FILE: src/lib/cpu/xeon-ex.h function intel_xeon_ex_set_throttle_register (line 26) | int intel_xeon_ex_set_throttle_register(pci_regs_t *regs, throttle_type_... function intel_xeon_ex_get_throttle_register (line 58) | int intel_xeon_ex_get_throttle_register(pci_regs_t *regs, throttle_type_... FILE: src/lib/debug.c function strrep (line 28) | static int function dbg_set_level (line 45) | void function dbg_init (line 52) | int function dbg_backtrace (line 95) | void FILE: src/lib/debug.h type dbg_code (line 39) | enum dbg_code { FILE: src/lib/dev.c function set_counter (line 28) | int set_counter(unsigned int counter_id, unsigned int event_id) function set_pci (line 50) | int set_pci(unsigned int bus_id, unsigned int device_id, unsigned int fu... function get_pci (line 74) | int get_pci(unsigned int bus_id, unsigned int device_id, unsigned int fu... FILE: src/lib/dev.h type pci_addr (line 22) | typedef struct { type pci_regs_t (line 28) | typedef struct { FILE: src/lib/init.c function finalize (line 36) | void finalize() { function init (line 65) | void init() FILE: src/lib/interpose.c function init_interposition (line 46) | int init_interposition() type pthread_create_functor_t (line 72) | typedef struct { function pthread_create (line 96) | int pthread_create(pthread_t *thread, const pthread_attr_t *attr, function pthread_mutex_lock (line 123) | int pthread_mutex_lock(pthread_mutex_t *mutex) function pthread_mutex_trylock (line 145) | int pthread_mutex_trylock(pthread_mutex_t *mutex) function pthread_mutex_unlock (line 165) | int pthread_mutex_unlock(pthread_mutex_t *mutex) FILE: src/lib/measure_bw.c function to_bw (line 58) | static inline double to_bw(size_t bytes, double secs) { function timeitp (line 88) | int timeitp(void (*function)(void*, size_t), int nthreads, void* array, ... function timeit (line 148) | int timeit(void (*function)(void*, size_t), void* array, size_t size, in... function write_memory_nontemporal_sse (line 176) | void write_memory_nontemporal_sse(void* array, size_t size) { function write_memory_sse (line 187) | void write_memory_sse(void* array, size_t size) { function read_memory_sse (line 198) | void read_memory_sse(void* array, size_t size) { function measure_read_bw (line 216) | double measure_read_bw(int cpu_node, int mem_node) function measure_write_bw (line 233) | double measure_write_bw(int cpu_node, int mem_node) function measure_read_bw (line 290) | double measure_read_bw(int cpu_node, int mem_node) FILE: src/lib/measure_lat.c type element_t (line 48) | typedef struct { type chain_t (line 53) | typedef struct { function min (line 59) | inline uint64_t min(uint64_t a, uint64_t b) function prng (line 67) | static uint64_t prng(uint64_t* seed) { type timeval (line 77) | struct timeval function element_t (line 89) | element_t* element(chain_t* chain, uint64_t index) function read_element (line 95) | void inline read_element(chain_t* chain, uint64_t index, char* buf, uint... function trash_cache (line 179) | uint64_t trash_cache(uint64_t N) function __measure_latency (line 209) | int __measure_latency(uint64_t seedin, int nchains, size_t nelems, int e... function measure_latency (line 278) | int measure_latency(cpu_model_t* cpu, int from_node_id, int to_node_id) function measure_latency2 (line 288) | int measure_latency2(uint64_t seedin, int nchains, size_t nelems, int el... function calibrate_load_from_file (line 311) | static int calibrate_load_from_file(virtual_node_t *virtual_node) { function calibrate_save_to_file (line 346) | static void calibrate_save_to_file(virtual_node_t *virtual_node, double ... function diff_target_latencies (line 366) | static int diff_target_latencies(int measured_latency, int target_latenc... function calibrate (line 371) | static double calibrate(virtual_node_t *virtual_node, double step_value,... function calibrate_with_size (line 426) | static double calibrate_with_size(virtual_node_t *virtual_node, double c... function latency_calibration (line 444) | void latency_calibration(virtual_node_t *virtual_node) { FILE: src/lib/misc.c function string_to_size (line 21) | size_t string_to_size(char* str) FILE: src/lib/model.h type latency_model_t (line 29) | typedef struct { type bw_model_t (line 52) | typedef struct { type virtual_topology_s (line 62) | struct virtual_topology_s type virtual_topology_s (line 63) | struct virtual_topology_s FILE: src/lib/model_bw.c function train_model (line 51) | static int train_model(physical_node_t* phys_node, char model_type, bw_m... function load_model (line 105) | static int load_model(const char* path, const char* prefix, bw_model_t* ... function save_model (line 142) | static int save_model(const char* path, const char* prefix, bw_model_t* ... function find_data_point (line 163) | static int find_data_point(bw_model_t* model, double target_bw, unsigned... function __set_write_bw (line 180) | int __set_write_bw(physical_node_t* node, uint64_t target_bw) function set_write_bw (line 204) | int set_write_bw(config_t* cfg, physical_node_t* node) function __set_read_bw (line 212) | int __set_read_bw(physical_node_t* node, uint64_t target_bw) function set_read_bw (line 236) | int set_read_bw(config_t* cfg, physical_node_t* node) function init_bandwidth_model (line 244) | int init_bandwidth_model(config_t* cfg, virtual_topology_t* topology) FILE: src/lib/model_lat.c function hrtime_t (line 43) | inline hrtime_t hrtime_cycles(void) function hrtime_t (line 58) | inline hrtime_t cycles_to_us(int cpu_speed_mhz, hrtime_t cycles) function create_delay_cycles (line 65) | static inline void create_delay_cycles(hrtime_t cycles) function check_target_latency_against_hw_latency (line 85) | static int check_target_latency_against_hw_latency(virtual_topology_t* v... function init_latency_model (line 109) | int init_latency_model(config_t* cfg, cpu_model_t* cpu, virtual_topology... function init_thread_latency_model (line 173) | void init_thread_latency_model(thread_t *thread) function create_latency_epoch (line 179) | void create_latency_epoch() FILE: src/lib/monotonic_timer.c function monotonic_time (line 13) | double monotonic_time() { function monotonic_time_us (line 20) | double monotonic_time_us() { function rdtsc (line 46) | static inline uint64_t rdtsc() { function init_rdtsc_per_sec (line 58) | static void __attribute__((constructor)) init_rdtsc_per_sec() { function monotonic_time (line 74) | double monotonic_time() { function monotonic_time_us (line 79) | double monotonic_time_us() { FILE: src/lib/pflush.c type hrtime_t (line 18) | typedef uint64_t hrtime_t; function asm_rdtsc (line 22) | static inline unsigned long long asm_rdtsc(void) function asm_rdtscp (line 29) | static inline unsigned long long asm_rdtscp(void) function asm_rdtsc (line 38) | static inline unsigned long long asm_rdtsc(void) function asm_rdtscp (line 45) | static inline unsigned long long asm_rdtscp(void) function init_pflush (line 71) | void init_pflush(int cpu_speed_mhz, int write_latency_ns) function hrtime_t (line 77) | inline hrtime_t cycles_to_ns(int cpu_speed_mhz, hrtime_t cycles) function hrtime_t (line 82) | inline hrtime_t ns_to_cycles(int cpu_speed_mhz, hrtime_t ns) function emulate_latency_ns (line 87) | static inline function pflush (line 109) | void FILE: src/lib/pmalloc.c function pfree (line 53) | void pfree(void* start, size_t size) FILE: src/lib/process_rank.c function set_process_local_rank (line 35) | int set_process_local_rank() function unset_process_local_rank (line 127) | int unset_process_local_rank() FILE: src/lib/stat.c function stats_set_init_time (line 29) | void stats_set_init_time(double init_time_us) { function stats_enable (line 37) | void stats_enable(config_t *cfg) { function hrtime_t (line 59) | static inline hrtime_t ns_to_cycles(int cpu_speed_mhz, int ns) function show_thread_stats (line 67) | static void show_thread_stats(thread_t *thread, FILE *out_file) { function stats_report (line 107) | void stats_report() { function sum (line 166) | double sum(double array[], int n) function sumxy (line 178) | double sumxy(double x[], double y[], int n) function avg (line 190) | double avg(double array[], int n) function slope (line 198) | double slope(double x[], double y[], int n) FILE: src/lib/stat.h type thread_s (line 22) | struct thread_s type stats_t (line 24) | typedef struct { type thread_stats_t (line 32) | typedef struct { FILE: src/lib/thread.c function rr_next_cpu_id (line 34) | static void rr_next_cpu_id(thread_manager_t* thread_manager, int* next_v... function rr_set_next_cpu_based_on_rank (line 57) | void rr_set_next_cpu_based_on_rank(int rank, int max_rank) function partition_cpus_based_on_rank (line 74) | void partition_cpus_based_on_rank(int rank, int max_rank, int num_cpus, function bind_thread_on_cpu (line 110) | int bind_thread_on_cpu(thread_manager_t* thread_manager, thread_t* threa... function bind_thread_on_mem (line 125) | int bind_thread_on_mem(thread_manager_t* thread_manager, thread_t* threa... function thread_t (line 137) | thread_t* thread_self() function thread_interrupt_handler (line 142) | void thread_interrupt_handler(int signum) function setup_events_thread_self (line 150) | static int setup_events_thread_self(thread_t *thread, const char **nativ... function register_thread (line 179) | int register_thread(thread_manager_t* thread_manager, pthread_t pthread,... function unregister_thread (line 261) | int unregister_thread(thread_manager_t* thread_manager, thread_t * thread) function register_self (line 290) | int register_self() function unregister_self (line 303) | int unregister_self() function interrupt_threads (line 323) | void interrupt_threads(thread_manager_t* manager) type timespec (line 352) | struct timespec function set_epoch_duration (line 365) | static void set_epoch_duration(config_t* cfg, const char *config_str, in... function init_thread_manager (line 381) | int init_thread_manager(config_t* cfg, virtual_topology_t* virtual_topol... function reached_min_epoch_duration (line 427) | int reached_min_epoch_duration(thread_t* thread) { function reached_max_epoch_duration (line 466) | static int reached_max_epoch_duration(thread_t* thread) { function block_new_epoch (line 492) | void block_new_epoch() { function unblock_new_epoch (line 499) | void unblock_new_epoch() { function thread_manager_t (line 506) | thread_manager_t* get_thread_manager() { FILE: src/lib/thread.h type thread_manager_s (line 27) | struct thread_manager_s type hrtime_t (line 29) | typedef uint64_t hrtime_t; type thread_t (line 34) | typedef struct thread_s { type thread_manager_t (line 53) | typedef struct thread_manager_s { type virtual_topology_s (line 66) | struct virtual_topology_s FILE: src/lib/topology.c function select_cpus_based_on_local_rank (line 41) | int select_cpus_based_on_local_rank(virtual_topology_t* virtual_topology) function get_mc_pci_bus_list (line 84) | int get_mc_pci_bus_list(pci_regs_t *bus_id_list[], int max_list_size, in... function discover_mc_pci_topology (line 137) | int discover_mc_pci_topology(cpu_model_t* cpu_model, physical_node_t* ph... function load_mc_pci_topology (line 196) | static int load_mc_pci_topology(const char* path, physical_node_t* physi... function save_mc_pci_topology (line 251) | static int save_mc_pci_topology(const char* path, physical_node_t* physi... function num_cpus (line 274) | int num_cpus(struct bitmask* bitmask) function system_num_cpus (line 288) | int system_num_cpus() function print_bitmask (line 293) | void print_bitmask(struct bitmask* bitmask) { function next_cpu (line 303) | int next_cpu(struct bitmask* bitmask, int cpu_id) function first_cpu (line 316) | int first_cpu(struct bitmask* bitmask) function partition_cpus (line 321) | int partition_cpus(virtual_topology_t* virtual_topology) function init_virtual_topology (line 339) | int init_virtual_topology(config_t* cfg, cpu_model_t* cpu_model, virtual... FILE: src/lib/topology.h type physical_node_t (line 47) | typedef struct { type virtual_node_t (line 61) | typedef struct virtual_node_s { type virtual_topology_t (line 68) | typedef struct virtual_topology_s { type bitmask (line 75) | struct bitmask type bitmask (line 76) | struct bitmask FILE: test/test_dev.cc function main (line 20) | int main(int argc, char** argv) FILE: test/test_interpose.cc function register_thread (line 32) | int register_thread(pthread_t thread) function interpose_pthread_create (line 47) | void interpose_pthread_create() function interpose_pthread_mutex_lock (line 57) | void interpose_pthread_mutex_lock(pthread_mutex_t* lock) function interpose_pthread_mutex_unlock (line 62) | void interpose_pthread_mutex_unlock(pthread_mutex_t* lock) function TEST (line 67) | TEST(Interpose, pthread_create) function TEST (line 74) | TEST(Interpose, pthread_mutex_lock) function main (line 80) | int main(int argc, char** argv) FILE: test/test_multithread.c type arg_s (line 34) | typedef struct { type element_t (line 48) | typedef struct { type chain_t (line 53) | typedef struct { function max_number_of_cpus (line 76) | static int max_number_of_cpus(void) function bind_cpu (line 105) | static int bind_cpu(thread_t *thread) { function force_ldm_stalls (line 150) | uint64_t force_ldm_stalls(chain_t **C, function iter (line 219) | void iter(int cs_n, int cs_duration, int out_cs_duration, int from_node,... function manage_threads (line 290) | void manage_threads(int n_threads, int cs_n, int cs_duration, int out_cs... function main (line 336) | int main(int argn, char **argv) FILE: test/test_mutex.cc function main (line 37) | int main(int argc, char** argv) FILE: test/test_nvm.c function iter (line 23) | void iter() function main (line 49) | int main() FILE: test/test_nvm_remote_dram.c function iter (line 24) | void iter() function main (line 56) | int main() FILE: test/test_thread.cc function main (line 39) | int main(int argc, char** argv)