static void opd_24_init(void) { size_t i; int opd_buf_size = OP_DEFAULT_BUF_SIZE; int opd_note_buf_size = OP_DEFAULT_NOTE_SIZE; if (!no_vmlinux) opd_parse_kernel_range(kernel_range); opd_buf_size = opd_read_fs_int(OP_MOUNT, "bufsize", 1); opd_note_buf_size = opd_read_fs_int(OP_MOUNT, "notesize", 1); s_buf_bytesize = sizeof(struct op_buffer_head) + opd_buf_size * sizeof(struct op_sample); sbuf = xmalloc(s_buf_bytesize); n_buf_bytesize = opd_note_buf_size * sizeof(struct op_note); nbuf = xmalloc(n_buf_bytesize); opd_init_images(); opd_init_procs(); opd_init_kernel_image(); for (i = 0; i < OPD_MAX_STATS; i++) opd_24_stats[i] = 0; if (atexit(clean_exit)) { perror("oprofiled: couldn't set exit cleanup: "); exit(EXIT_FAILURE); } }
static void opd_26_init(void) { size_t i; size_t opd_buf_size; opd_create_vmlinux(vmlinux, kernel_range); opd_buf_size = opd_read_fs_int("/dev/oprofile/", "buffer_size", 1); kernel_pointer_size = opd_read_fs_int("/dev/oprofile/", "pointer_size", 1); s_buf_bytesize = opd_buf_size * kernel_pointer_size; sbuf = xmalloc(s_buf_bytesize); opd_reread_module_info(); for (i = 0; i < OPD_MAX_STATS; i++) opd_stats[i] = 0; perfmon_init(); cookie_init(); sfile_init(); anon_init(); /* must be /after/ perfmon_init() at least */ if (atexit(clean_exit)) { perfmon_exit(); perror("oprofiled: couldn't set exit cleanup: "); exit(EXIT_FAILURE); } }
static void opd_26_init(void) { size_t i; size_t opd_buf_size; unsigned long long start_time = 0ULL; struct timeval tv; opd_create_vmlinux(vmlinux, kernel_range); opd_create_xen(xenimage, xen_range); opd_buf_size = opd_read_fs_int("/dev/oprofile/", "buffer_size", 1); kernel_pointer_size = opd_read_fs_int("/dev/oprofile/", "pointer_size", 1); s_buf_bytesize = opd_buf_size * kernel_pointer_size; sbuf = xmalloc(s_buf_bytesize); opd_reread_module_info(); for (i = 0; i < OPD_MAX_STATS; i++) opd_stats[i] = 0; perfmon_init(); cookie_init(); sfile_init(); anon_init(); /* must be /after/ perfmon_init() at least */ if (atexit(clean_exit)) { perfmon_exit(); perror("oprofiled: couldn't set exit cleanup: "); exit(EXIT_FAILURE); } /* trigger kernel module setup before returning control to opcontrol */ opd_open_files(); gettimeofday(&tv, NULL); start_time = 0ULL; start_time = tv.tv_sec; sprintf(start_time_str, "%llu", start_time); }
static void print_if(char const * fmt, char const * path, char const * filename, int force) { int value = opd_read_fs_int(path, filename, 0); if (value != -1 || force) printf(fmt, value); }