Mercurial > hg > release > icedtea7-forest-2.4 > hotspot
changeset 5012:659dc7b310ea
Merge jdk7u51-b31
author | andrew |
---|---|
date | Fri, 17 Jan 2014 20:22:50 +0000 |
parents | a8a33cc2dd4b (current diff) cf4110c35afb (diff) |
children | cbeecad5efcb |
files | .hgtags make/hotspot_version src/os/linux/vm/os_linux.cpp src/share/vm/runtime/os.cpp src/share/vm/utilities/vmError.cpp |
diffstat | 5 files changed, 45 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Tue Jan 14 16:26:34 2014 -0500 +++ b/.hgtags Fri Jan 17 20:22:50 2014 +0000 @@ -606,3 +606,20 @@ 3677c8cc3c89c0fa608f485b84396e4cf755634b jdk7u45-b30 b59e02d9e72bb06d5cbff39605bce1d2695dbdd0 icedtea-2.4.3 9def299ab058289926f8e1dbf86c9d5a95eb9738 icedtea-2.4.4 +520b7b3d9153c1407791325946b07c5c222cf0d6 jdk7u45-b31 +c373a733d5d5147f99eaa2b91d6b937c28214fc9 jdk7u45-b33 +0bcb43482f2ac5615437541ffb8dc0f79ece3148 jdk7u45-b34 +429884602206fcf5314c8b953c06d54d337558ca jdk7u51-b00 +68f03ff066f2341b89b52a6d6e21ae09de008351 jdk7u51-b01 +67910a581eca113847c5320c49436a9816c5d5c6 jdk7u51-b02 +4138fb11955a528e5ee5448d9c6c8e88e0e268b2 jdk7u51-b03 +683458c333ced92d515daa1b9bcdb5be679e535a jdk7u51-b04 +ed2db7a82229e7adbfe8a8166bf98f3ef4a09be5 jdk7u51-b05 +fec027762cf37d033d82d5b3725020f40c771690 jdk7u51-b06 +f673c581ebf91073b5bbdbdc5e4d4407910fa006 jdk7u51-b07 +b0a355aae00427e74cc0b89697c7c7f6fb520176 jdk7u51-b08 +4f56f2e206fd878809f70ca06f4bc21563a7c530 jdk7u51-b09 +1b7aaef3df78970c9a5ef5cc353ca927241555ee jdk7u51-b10 +1f11dff734af98f5bf11d4fceeda221ab1416971 jdk7u51-b11 +dee2a38ef6b26534c44c550ef4da2c3146c612c2 jdk7u51-b12 +6c6a2299029ad02fa2820b8ff8c61c2bbcae799c jdk7u51-b13
--- a/make/hotspot_version Tue Jan 14 16:26:34 2014 -0500 +++ b/make/hotspot_version Fri Jan 17 20:22:50 2014 +0000 @@ -34,8 +34,8 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2013 HS_MAJOR_VER=24 -HS_MINOR_VER=45 -HS_BUILD_NUMBER=08 +HS_MINOR_VER=51 +HS_BUILD_NUMBER=03 JDK_MAJOR_VER=1 JDK_MINOR_VER=7
--- a/src/os/linux/vm/os_linux.cpp Tue Jan 14 16:26:34 2014 -0500 +++ b/src/os/linux/vm/os_linux.cpp Fri Jan 17 20:22:50 2014 +0000 @@ -2739,6 +2739,14 @@ alignment_hint, exec, strerror(err), err); } +static void warn_fail_commit_memory(char* addr, size_t size, + size_t alignment_hint, bool exec, + int err, const char* msg) { + warning("INFO: os::commit_memory(" PTR_FORMAT ", " SIZE_FORMAT + ", " SIZE_FORMAT ", %d) failed; error='%s' (errno=%d); %s", addr, size, + alignment_hint, exec, strerror(err), err, msg); +} + // NOTE: Linux kernel does not really reserve the pages for us. // All it does is to check if there are enough free pages // left at the time of mmap(). This could be a potential @@ -2789,6 +2797,8 @@ #define MADV_HUGEPAGE 14 #endif +volatile jint os::Linux::num_largepage_commit_fails = 0; + int os::Linux::commit_memory_impl(char* addr, size_t size, size_t alignment_hint, bool exec) { int err; @@ -2813,7 +2823,9 @@ // from the loss. For now, we just issue a warning and we don't // call vm_exit_out_of_memory(). This issue is being tracked by // JBS-8007074. - warn_fail_commit_memory(addr, size, alignment_hint, exec, err); + Atomic::inc(&os::Linux::num_largepage_commit_fails); + warn_fail_commit_memory(addr, size, alignment_hint, exec, err, + "Cannot allocate large pages, falling back to regular pages"); // vm_exit_out_of_memory(size, "committing reserved memory."); } // Fall through and try to use small pages
--- a/src/os/linux/vm/os_linux.hpp Tue Jan 14 16:26:34 2014 -0500 +++ b/src/os/linux/vm/os_linux.hpp Fri Jan 17 20:22:50 2014 +0000 @@ -100,6 +100,7 @@ public: static bool _stack_is_executable; + static volatile jint num_largepage_commit_fails; static void *dlopen_helper(const char *name, char *ebuf, int ebuflen); static void *dll_load_in_vmthread(const char *name, char *ebuf, int ebuflen);
--- a/src/share/vm/utilities/vmError.cpp Tue Jan 14 16:26:34 2014 -0500 +++ b/src/share/vm/utilities/vmError.cpp Fri Jan 17 20:22:50 2014 +0000 @@ -706,6 +706,18 @@ st->cr(); } +#ifdef LINUX + STEP(193, "(printing large pages allocation errors)") + + if (_verbose) { + jint largepage_failures = os::Linux::num_largepage_commit_fails; + if (largepage_failures > 0) { + st->print_cr("Large page allocation failures have occurred " INT32_FORMAT " times", largepage_failures); + st->cr(); + } + } +#endif + STEP(195, "(printing code cache information)" ) if (_verbose && Universe::is_fully_initialized()) {