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

Per Liden per.liden at oracle.com
Wed Jul 4 09:02:21 UTC 2018


On 07/04/2018 10:46 AM, Erik Helin wrote:
> On 07/04/2018 09:52 AM, Per Liden wrote:
>> 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?
> 
> Given the fix is small, I think we should just fix it. That seems easier 
> than explaining to users why we did not fix this :)
> 
> The patch looks good to me, Reviewed.

Thanks Erik!

/Per

(For the record, Thomas told me off-line that he didn't have any 
objections, so I'll go ahead and push this to 11)

> 
> Thanks,
> Erik
> 
>>>
>>>> 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