static unsigned get_kernel_HZ(void) { if (kernel_HZ) return kernel_HZ; /* Works for ELF only, Linux 2.4.0+ */ kernel_HZ = find_elf_note(AT_CLKTCK); if (kernel_HZ == (unsigned)-1) kernel_HZ = get_HZ_by_waiting(); G.seconds_since_boot = get_uptime(); return kernel_HZ; }
static unsigned get_kernel_HZ(void) { //char buf[64]; struct sysinfo info; if (kernel_HZ) return kernel_HZ; /* Works for ELF only, Linux 2.4.0+ */ kernel_HZ = find_elf_note(AT_CLKTCK); if (kernel_HZ == (unsigned)-1) kernel_HZ = get_HZ_by_waiting(); //if (open_read_close("/proc/uptime", buf, sizeof(buf)) <= 0) // bb_perror_msg_and_die("can't read %s", "/proc/uptime"); //buf[sizeof(buf)-1] = '\0'; ///sscanf(buf, "%llu", &seconds_since_boot); sysinfo(&info); seconds_since_boot = info.uptime; return kernel_HZ; }