< prev index next >

src/os/aix/vm/os_aix.cpp

Print this page
rev 8685 : 8131054: aix: fix two minor issues: large page size and hs_err printing.


1638     if (os::Aix::on_aix()) {
1639       jio_snprintf(buffer, sizeof(buffer),
1640                    "  physical total : %llu\n"
1641                    "  physical free  : %llu\n"
1642                    "  swap total     : %llu\n"
1643                    "  swap free      : %llu\n",
1644                    mi.real_total,
1645                    mi.real_free,
1646                    mi.pgsp_total,
1647                    mi.pgsp_free);
1648     } else {
1649       Unimplemented();
1650     }
1651     st->print_raw(buffer);
1652   } else {
1653     st->print_cr("  (no more information available)");
1654   }
1655 }
1656 
1657 void os::pd_print_cpu_info(outputStream* st, char* buf, size_t buflen) {
1658   // cpu
1659   st->print("CPU:");
1660   st->print("total %d", os::processor_count());
1661   // It's not safe to query number of active processors after crash
1662   // st->print("(active %d)", os::active_processor_count());
1663   st->print(" %s", VM_Version::cpu_features());
1664   st->cr();
1665 }
1666 
1667 void os::print_siginfo(outputStream* st, void* siginfo) {
1668   // Use common posix version.
1669   os::Posix::print_siginfo_brief(st, (const siginfo_t*) siginfo);
1670   st->cr();
1671 }
1672 
1673 static void print_signal_handler(outputStream* st, int sig,
1674                                  char* buf, size_t buflen);
1675 
1676 void os::print_signal_handlers(outputStream* st, char* buf, size_t buflen) {
1677   st->print_cr("Signal Handlers:");
1678   print_signal_handler(st, SIGSEGV, buf, buflen);
1679   print_signal_handler(st, SIGBUS , buf, buflen);
1680   print_signal_handler(st, SIGFPE , buf, buflen);
1681   print_signal_handler(st, SIGPIPE, buf, buflen);
1682   print_signal_handler(st, SIGXFSZ, buf, buflen);
1683   print_signal_handler(st, SIGILL , buf, buflen);
1684   print_signal_handler(st, INTERRUPT_SIGNAL, buf, buflen);


3466       FLAG_SET_ERGO(bool, Use64KPages, false);
3467     }
3468   } else {
3469     // datapsize = 64k. Data segment, thread stacks are 64k paged.
3470     //   This normally means that we can allocate 64k pages dynamically.
3471     //   (There is one special case where this may be false: EXTSHM=on.
3472     //    but we decided to not support that mode).
3473     assert0(g_multipage_support.can_use_64K_pages);
3474     Aix::_page_size = SIZE_64K;
3475     trcVerbose("64K page mode");
3476     FLAG_SET_ERGO(bool, Use64KPages, true);
3477   }
3478 
3479   // Short-wire stack page size to base page size; if that works, we just remove
3480   // that stack page size altogether.
3481   Aix::_stack_page_size = Aix::_page_size;
3482 
3483   // For now UseLargePages is just ignored.
3484   FLAG_SET_ERGO(bool, UseLargePages, false);
3485   _page_sizes[0] = 0;
3486   _large_page_size = -1;
3487 
3488   // debug trace
3489   trcVerbose("os::vm_page_size %s\n", describe_pagesize(os::vm_page_size()));
3490 
3491   // Next, we need to initialize libo4 and libperfstat libraries.
3492   if (os::Aix::on_pase()) {
3493     os::Aix::initialize_libo4();
3494   } else {
3495     os::Aix::initialize_libperfstat();
3496   }
3497 
3498   // Reset the perfstat information provided by ODM.
3499   if (os::Aix::on_aix()) {
3500     libperfstat::perfstat_reset();
3501   }
3502 
3503   // Now initialze basic system properties. Note that for some of the values we
3504   // need libperfstat etc.
3505   os::Aix::initialize_system_info();
3506 




1638     if (os::Aix::on_aix()) {
1639       jio_snprintf(buffer, sizeof(buffer),
1640                    "  physical total : %llu\n"
1641                    "  physical free  : %llu\n"
1642                    "  swap total     : %llu\n"
1643                    "  swap free      : %llu\n",
1644                    mi.real_total,
1645                    mi.real_free,
1646                    mi.pgsp_total,
1647                    mi.pgsp_free);
1648     } else {
1649       Unimplemented();
1650     }
1651     st->print_raw(buffer);
1652   } else {
1653     st->print_cr("  (no more information available)");
1654   }
1655 }
1656 
1657 void os::pd_print_cpu_info(outputStream* st, char* buf, size_t buflen) {







1658 }
1659 
1660 void os::print_siginfo(outputStream* st, void* siginfo) {
1661   // Use common posix version.
1662   os::Posix::print_siginfo_brief(st, (const siginfo_t*) siginfo);
1663   st->cr();
1664 }
1665 
1666 static void print_signal_handler(outputStream* st, int sig,
1667                                  char* buf, size_t buflen);
1668 
1669 void os::print_signal_handlers(outputStream* st, char* buf, size_t buflen) {
1670   st->print_cr("Signal Handlers:");
1671   print_signal_handler(st, SIGSEGV, buf, buflen);
1672   print_signal_handler(st, SIGBUS , buf, buflen);
1673   print_signal_handler(st, SIGFPE , buf, buflen);
1674   print_signal_handler(st, SIGPIPE, buf, buflen);
1675   print_signal_handler(st, SIGXFSZ, buf, buflen);
1676   print_signal_handler(st, SIGILL , buf, buflen);
1677   print_signal_handler(st, INTERRUPT_SIGNAL, buf, buflen);


3459       FLAG_SET_ERGO(bool, Use64KPages, false);
3460     }
3461   } else {
3462     // datapsize = 64k. Data segment, thread stacks are 64k paged.
3463     //   This normally means that we can allocate 64k pages dynamically.
3464     //   (There is one special case where this may be false: EXTSHM=on.
3465     //    but we decided to not support that mode).
3466     assert0(g_multipage_support.can_use_64K_pages);
3467     Aix::_page_size = SIZE_64K;
3468     trcVerbose("64K page mode");
3469     FLAG_SET_ERGO(bool, Use64KPages, true);
3470   }
3471 
3472   // Short-wire stack page size to base page size; if that works, we just remove
3473   // that stack page size altogether.
3474   Aix::_stack_page_size = Aix::_page_size;
3475 
3476   // For now UseLargePages is just ignored.
3477   FLAG_SET_ERGO(bool, UseLargePages, false);
3478   _page_sizes[0] = 0;

3479 
3480   // debug trace
3481   trcVerbose("os::vm_page_size %s\n", describe_pagesize(os::vm_page_size()));
3482 
3483   // Next, we need to initialize libo4 and libperfstat libraries.
3484   if (os::Aix::on_pase()) {
3485     os::Aix::initialize_libo4();
3486   } else {
3487     os::Aix::initialize_libperfstat();
3488   }
3489 
3490   // Reset the perfstat information provided by ODM.
3491   if (os::Aix::on_aix()) {
3492     libperfstat::perfstat_reset();
3493   }
3494 
3495   // Now initialze basic system properties. Note that for some of the values we
3496   // need libperfstat etc.
3497   os::Aix::initialize_system_info();
3498 


< prev index next >