[CRIU] [PATCH v2] Use run-time page size where it matters

Pavel Emelyanov xemul at parallels.com
Wed Apr 22 05:39:28 PDT 2015


On 04/21/2015 10:13 AM, Cyrill Gorcunov wrote:
> On Mon, Apr 20, 2015 at 11:09:20AM -0400, Christopher Covington wrote:
>> In AArch64, pages may be 4K or 64K depending on kernel configuration.
>> The GNU C Library documentation suggests [1], "the correct interface
>> to query about the page size is sysconf". Introduce one new
>> architecture-specific function-like macro, page_size(), that on x86
>> and AArch32 remains a constant so as to minimally affect performance,
>> but on AArch64 is sysconf(_SC_PAGESIZE) for correctness.
>>
>> 1. https://www.gnu.org/software/libc/manual/html_node/Query-Memory-Parameters.html
>>
>> To minimize churn, the PAGE_SIZE macro is left as a build-time
>> estimation of what the run-time page size might be.
>>
>> This fixes the following errors for CRIU on AArch64 kernels with
>> CONFIG_ARM64_64K_PAGES=y, allowing dump of
>> `setsid sleep < /dev/null &> /dev/null` to succeed.
>>
>> Error (kerndat.c:48): Can't stat self map_files: No such file or directory
>>
>> Error (util.c:668): Can't read pme for pid 90: No such file or directory
>>
>> Error (parasite-syscall.c:1135): Can't open 89/map_files/0x3ffb7da0000-0x3ffb7dac000 on procfs: No such file or directory
>>
>> Signed-off-by: Christopher Covington <cov at codeaurora.org>
> 
> Acked-by: Cyrill Gorcunov <gorcunov at openvz.org>
> 
> Thank you!
> .
> 

Applied, thanks.


More information about the CRIU mailing list