8206316: ZGC: Preferred tmpfs mount point not found on Debian

Per Liden per.liden at oracle.com
Wed Jul 4 07:52:34 UTC 2018


Hi Thomas,

On 07/04/2018 08:55 AM, Thomas Schatzl wrote:
> Hi,
> 
> On Tue, 2018-07-03 at 23:28 +0200, Per Liden wrote:
>> On Linux kernels < 3.17 (where memfd_create() syscall does not
>> exist), ZGC falls back to searching for a suitable tmpfs mount point.
>> If multiple mount points are found (which is the common case) we try
>> to see if any of them matches the "preferred default" path (which is
>> hard coded to be /dev/shm in ZGC). This work well, except on Debian
>> and Debian derived distributions, which for some reason have chosen
>> to use /run/shm instead instead of /dev/shm. As a result, ZGC will
>> fail to initialize on some commonly used distributions (current
>> Debian stable, Ubuntu 14.04-LTS, etc), forcing the user to manually
>> mount a tmpfs file system  on /dev/shm or use -XX:ZPath=/run/shm to
>> explicitly select the mount point. ZGC should handle this situation
>> much better, but having a list of preferred mount points (instead of
>> just one) to allow for multiple alternatives covering differences
>> between distributions. There is a high risk that this otherwise
>> becomes a common problem, given the popularity of Debian and Debian
>> derived distributions.
> 
> Looking at the various support documents, this does not seem to be a
> very significant issue. On Debian Stretch (latest stable) kernel is 4.9
> [1].
> And latest Ubuntu 14.04(.05) runs on a 4.4 kernel [2].
> 
> While Jessie (previous stable) is 3.16, it is "almost" out of support
> (and so is 14.04), and will be even more at GA. Also memfd_create has
> been backported to Jessie afaict [3].
> 
> I am not sure that people that already need to go out of their way to
> install latest JDK on these OSes to test, won't also consider upgrading
>   minor versions their OS. (And I assume that for testing, people do not
> use live systems anyway).
> 
> All in all I do not see this issue as urgent as the description make it
> seem. It does not seem to be a problematic change either (to me it
> seems like an enhancement of existing code too).

Thanks for digging up this information. In light of this, I agree that 
this is not as urgent as I first thought. I still think we should 
consider this for 11, given that I've already received reports from 
people running into this issue, and the fix is pretty straight forward.

Objections or thoughts?

> 
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8206316
>> Webrev: http://cr.openjdk.java.net/~pliden/8206316/webrev.0
>>
>> Testing: Manual testing of various mount point configurations.
> 
>    looks good.

Thanks for reviewing!

cheers,
Per

> 
> Thomas
> 
> [1] https://lists.debian.org/debian-kernel/2016/08/msg00099.html
> [2] https://wiki.ubuntu.com/Kernel/Support
> [3] https://manpages.debian.org/jessie-backports/manpages-dev/memfd_cre
> ate.2.en.html (see the "other versions" table)
> 



More information about the hotspot-gc-dev mailing list