Return the correct value for sysconf(_SC_PAGESIZE)

Erik Bray erik.m.bray@gmail.com
Wed Nov 16 14:51:00 GMT 2016


On Wed, Nov 16, 2016 at 3:01 PM, Eric Blake <eblake@redhat.com> wrote:
> On 11/16/2016 07:56 AM, Erik Bray wrote:
>
>>> There is no good reason to use the non-POSIXy page size.  It doesn't
>>> help you in the least for any pagesize-related functionality.  Mmap
>>> as well as malloc and friends only work with _SC_PAGESIZE sized pages.
>>>
>>> It sounds as if you're looking for a solution for which there's no
>>> problem...
>>
>>
>> FWIW the background here is that I'm working on porting psutil [1] to
>> Cygwin, and trying to accomplish as much as *possible* through the
>> POSIX interfaces without having to fall back on the Windows API.  It's
>> actually a great exercise in what is and isn't possible with Cygwin :)
>>
>> In this case I was trying to compute process memory usage from
>> /proc/<pid>/statm which gives values in page counts, so I need the
>> page size (the actual page size) to compute the values in bytes.
>
> If /proc/<pid>/statm is reporting memory in multiples that are not the
> POSIX _SC_PAGESIZE, that is a bug in the statm file emulation that
> should be fixed there.

So then something like that attached (untested) patch should work,
though it made statm inconsistent with what is reported in
/proc/<pid>/status which reports memory in multiples of page size.  So
that has to be patched as well.

This of course leads to memory reporting that is inconsistent with
what Windows says.  But I guess if that's "normal" in Cygwin (for the
reasons stated by Corinna) then it's an acceptable trade-off?

Thanks,
Erik
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-statm-should-report-memory-as-multiples-of-allocatio.patch
Type: application/octet-stream
Size: 1424 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20161116/7d632814/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Use-allocation-granularity-as-the-page_size-in-proc-.patch
Type: application/octet-stream
Size: 1070 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20161116/7d632814/attachment-0001.obj>


More information about the Cygwin-patches mailing list