Re: huge tlb support

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: YAMAMOTO Takashi <yamt(at)mwd(dot)biglobe(dot)ne(dot)jp>, robertmhaas(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org, josh(at)agliodbs(dot)com
Subject: Re: huge tlb support
Date: 2012-07-09 10:30:23
Message-ID: 201207091230.23483.andres@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Monday, July 09, 2012 08:11:00 AM Tom Lane wrote:
> yamt(at)mwd(dot)biglobe(dot)ne(dot)jp (YAMAMOTO Takashi) writes:
> >> Also, I was under the impression that recent Linux kernels use hugepages
> >> automatically if they can, so I wonder exactly what Andres was testing
> >> on ...
> >
> > if you mean the "trasparent hugepage" feature, iirc it doesn't affect
> > MAP_SHARED mappings like this.
>
> Oh! That would explain some things. It seems like a pretty nasty
> restriction though ... do you know why they did that?
Looking a bit deeper they explicitly only work on private memory. The reason
apparently being that its too hard to update the page table entries in
multiple processes at once without introducing locking problems/scalability
issues.

To be sure one can check /proc/$pid_of_pg_proccess/smaps and look for the
mapping to /dev/zero or the biggest mapping ;). Its not counted as Anonymous
memory and it doesn't have transparent hugepages. I was confused before
because there is quite some (400mb here) huge pages allocated for postgres
during a pgbench run but thats just all the local memory...

Greetings,

Andres

PS: The important #define is in mm/huge_memory.c:

#define VM_NO_THP (VM_SPECIAL|VM_INSERTPAGE|VM_MIXEDMAP|VM_SAO| \
VM_HUGETLB|VM_SHARED|VM_MAYSHARE)

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2012-07-09 12:33:29 2 defects that should get fixed
Previous Message Shigeru HANADA 2012-07-09 08:35:15 Re: [PATCH] Allow breaking out of hung connection attempts