On 2016-04-12 21:58:14 +0200, reiner peterke wrote:
> Hi
> We have been doing some testing with Postgres (9.5.2) compiled on a Power8 
> running Centos 7
> When working with huge_pages, we initially got this error.
> munmap(0x3efbe4000000) failed: Invalid argument

*munmap*, not mmap failed? that's odd; because there the hugepagesize
shouldn't have much of an influence. If something fails it should be the
initial mmap.  Could you show a strace of a failed start with an
unmodified postgres?

> after a bit of investigation we noticed that hugepagesize is har coded
> to 2MB

Note it's not actually hardcoded to some size. It's just about rounding
the size to a multiple of 2MB due to an older kernel bug:
                 * Round up the request size to a suitable large value.
                 * Some Linux kernel versions are known to have a bug, which 
                 * mmap() with MAP_HUGETLB to fail if the request size is not a
                 * multiple of any supported huge page size. To work around 
that, we
                 * round up the request size to nearest 2MB. 2MB is the most 
                 * huge page page size on affected systems.

> Going further, we tried testing hugepages also on Ubuntu 16.04, also on the 
> power8.  On Ubuntu Postgres did not like the hugepages at all (set also to 
> 16MB)  and consistently crashed.

> Looking for some insight into this issue.  the error from the postgres
> log on ubuntu is below.  It apperas to be related to semephores.

I've a bit of a hard time believing that this is related to huge pages.


Andres Freund

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to