review request (L) - 6423256 GC stacks

Scott Marlow scott.marlow.opensource at gmail.com
Tue Oct 6 18:49:02 UTC 2009


John,

A few comments.  First, thank you for bringing this change out for review.

1.  If anyone on the list happens to have any performance jdk tests 
handy, it would be interesting to see before/after results of applying 
this change (so that any regressions can be addressed and improvements 
shared :-).  If there is no noticeable impact, that is worth sharing 
too.  I no longer have access to the torture test that I once had (a 
four node cluster that reproduced a production environment that 
experienced bug # 6423256).  If no one has performance tests to run, 
that shouldn't block applying this patch (would just be nice to have).

2.  I like the idea expressed in stack.hpp about possibly caching 
segments in thread local storage.  At least, that is the optimization 
that I assume is meant by saving the thread id.  Or are you just talking 
about using it for debugging purposes (for tracking which thread 
allocated each segment)?  I have worked on heap sub-allocators for other 
virtual machines but haven't learned about the Java native allocators 
yet.  I would think that having a per thread segment cache, could have 
some impact on the native memory pool (potentially causing fragmentation 
depending on how many threads are in use).  Although, the pressure on 
the native heap should be much lower than what growableArray must of 
done to the heap.  This isn't a serious concern, since its just a 
comment but thought it was worth raising.

3.  What is the meaning of "const size_t limit = size_t(-1) - (seg_size 
- 1)" in stack.inline.hpp (adjust_max_size)?  It looks like you are 
trying to determine the largest possible size but I wanted to make sure 
as I'm not familiar with how "size_t(-1)" works.  Could there be 
problems with that expression on some of the exotic machine 
architectures that Java is running on (e.g. 1s complement cpu running 
j2me).

Scott

On 09/21/2009 01:09 PM, John Coomes wrote:
> I'd appreciate reviews of
>
> 	6423256: GC stacks should use a better data structure
>
> 	http://cr.openjdk.java.net/~jcoomes/6423256-gc-stacks/
>
> See the comments at the top of the webrev and in file stack.hpp for
> some hints/details.
>
> -John
>
>
>    




More information about the hotspot-gc-dev mailing list