src/os/linux/vm/os_linux.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8085865.01 Cdiff src/os/linux/vm/os_linux.cpp

src/os/linux/vm/os_linux.cpp

Print this page

        

*** 2214,2228 **** ((jlong)si.freeswap * si.mem_unit) >> 10); st->cr(); } void os::pd_print_cpu_info(outputStream* st) { st->print("\n/proc/cpuinfo:\n"); if (!_print_ascii_file("/proc/cpuinfo", st)) { ! st->print(" <Not Available>"); } ! st->cr(); } void os::print_siginfo(outputStream* st, void* siginfo) { const siginfo_t* si = (const siginfo_t*)siginfo; --- 2214,2246 ---- ((jlong)si.freeswap * si.mem_unit) >> 10); st->cr(); } void os::pd_print_cpu_info(outputStream* st) { + #if defined(IA32) || defined(AMD64) + // Only print the model name if the platform provides this as a summary st->print("\n/proc/cpuinfo:\n"); + FILE *fp = fopen("/proc/cpuinfo", "r"); + if (fp) { + while (!feof(fp)) { + char buf[256]; + if (fgets(buf, sizeof(buf), fp)) { + if (strstr(buf, "model name") != NULL) { + st->print_raw(buf); + break; + } + } + } + } else { + st->print_cr(" <Not Available>"); + } + #else + // Other platforms have reasonable cpuinfo files if (!_print_ascii_file("/proc/cpuinfo", st)) { ! st->print_cr(" <Not Available>"); } ! #endif } void os::print_siginfo(outputStream* st, void* siginfo) { const siginfo_t* si = (const siginfo_t*)siginfo;
src/os/linux/vm/os_linux.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File