[systemd-devel] [PATCH v2] Detect page size runtime

Jan Engelhardt jengelh at medozas.de
Sat Mar 19 02:11:01 PDT 2011


On Saturday 2011-03-19 07:18, fykcee1 at gmail.com wrote:

>2011/3/19 Jan Engelhardt <jengelh at medozas.de>:
>> On Saturday 2011-03-19 03:10, Lennart Poettering wrote:
>>
>>>On Fri, 18.03.11 03:44, fykcee1 at gmail.com (fykcee1 at gmail.com) wrote:
>>>
>>>> Hi all,
>>>>
>>>> Systemd hardcode page size as 4096(in macro.h), this is not always correct:
>>>> """ Some architectures support multiple machine types with diffenent
>>>> page sizes, and some machine types even support multiple page sizes
>>>> themselves. """
>>>>
>>>> This patch tries to detect page size runtime by sysconf(_SC_PAGESIZE),
>>>> and uses 4096 as a failsafe value. Note we need memset vec to zero
>>>> before call mincore(src/readahead-collect.c, 129) -- if the pagesize
>>>> is not correct, we may randomly record wider range or more ranges to
>>>> readahead.
>>>
>>>Hmm, interesting. Which architecture are you using that has a page size
>>>!= 4K?
>>
>> sparc64 would, to name one.
>IA64, sparc64, powerpc, and mips, they can configure different page
>size(e.g. range from 4K - 32K) at kernel config time.

The sparc64 kernel offers 8K and 64K.


More information about the systemd-devel mailing list