Re: Supporting huge pages on Windows - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Supporting huge pages on Windows
Date
Msg-id CAB7nPqSO95nhu4rS=+oe4B51YAPSA4H7juB8=z1omuU6gx6UPQ@mail.gmail.com
Whole thread Raw
In response to Re: Supporting huge pages on Windows  ("Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>)
List pgsql-hackers
On Mon, Apr 3, 2017 at 1:12 PM, Tsunakawa, Takayuki
<tsunakawa.takay@jp.fujitsu.com> wrote:
> From: pgsql-hackers-owner@postgresql.org
>> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Amit Kapila
>> You should use %zu instead of %llu to print Size type of variable.
>
> I did so at first, but it didn't work with Visual Studio 2010 at hand.  It doesn't support %z which is added in C99.
>
> But "I" (capital i) instead of "ll" seems appropriate as the following page says.  I chose this.
>
> https://en.wikipedia.org/wiki/Printf_format_string
>
> I For signed integer types, causes printf to expect ptrdiff_t-sized integer argument; for unsigned integer types,
causesprintf to expect size_t-sized integer argument. Commonly found in Win32/Win64 platforms.
 

+                elog(DEBUG1, "CreateFileMapping(%Iu) with
SEC_LARGE_PAGES failed "
+                     "due to insufficient large pages, huge pages disabled",
+                     size);
Amit is right, you had better use %zu as we do in all the other places
of the code dealing with Size variables that are printed. When
compiling with Visual Studio, Postgres falls back to the
implementation of sprintf in src/port/snprintf.c so that's not
something to worry about.
-- 
Michael



pgsql-hackers by date:

Previous
From: "Tsunakawa, Takayuki"
Date:
Subject: Re: [bug fix] Savepoint-related statements terminatesconnection
Next
From: Amit Langote
Date:
Subject: Re: Documentation improvements for partitioning