RFR (XS): Bump the inlining limits for concurrent mark
Roman Kennke
rkennke at redhat.com
Tue Jan 24 15:43:20 UTC 2017
Yup.
Am 24.01.2017 4:02 nachm. schrieb Aleksey Shipilev <shade at redhat.com>:
>
> Hi,
>
> In the last few days, we have struggled with GCC inlining in concurrent mark
> code. We are very close to the default GCC inlining budget, and every recent
> patch had to rearrange code in some way to deal with that. The issue is
> compounded by lots of templated closures we have to inline to get decent
> performance.
>
> This repeated balancing act is making already hard performance work even harder.
> For example, I have wasted almost entire day yesterday trying to find the method
> split that made GCC happy, and that was not entirely enough.
>
> With that, I would like us to claim surrender, bow before the compiler, and
> <strike>burn it to ashes</strike> bump the inlining limits for one file:
> http://cr.openjdk.java.net/~shade/shenandoah/concmark-bump-inline/webrev.01/
>
> This is not unprecedented in Hotspot codebase, the same file has the similar
> line for psPromotionManager.cpp.
>
> The effect is clearly visible in profiled disassembly, but here are sample
> performance improvements for model tests:
>
> *) 20M HashMap marking:
>
> before: 133.05 s (a = 1243493 us) (n = 107)
> (lvls, us = 568359, 1210938, 1230469, 1269531, 1390970)
>
> after: 117.95 s (a = 1082074 us) (n = 109)
> (lvls, us = 921875, 1054688, 1074219, 1093750, 1155972)
>
> *) 20M Tree marking:
>
> before: 82.91 s (a = 637769 us) (n = 130)
> (lvls, us = 587891, 615234, 626953, 632812, 726433)
>
> after: 59.86 s (a = 436915 us) (n = 137)
> (lvls, us = 296875, 425781, 431641, 437500, 482738)
>
> *) 20M Array marking:
>
> before: 22.06 s (a = 176497 us) (n = 125)
> (lvls, us = 169922, 171875, 173828, 177734, 188691)
>
> after: 16.47 s (a = 129720 us) (n = 127)
> (lvls, us = 123047, 125000, 126953, 132812, 149198)
>
> Static footprint increased a bit, for a 130K:
> before: 20.634.880 libjvm.so
> after: 20.761.304 libjvm.so
>
> Testing: hotspot_gc_shenandoah, targeted benchmarks
>
> Thanks,
> -Aleksey
>
>
More information about the shenandoah-dev
mailing list