|From:||Abhijit Menon-Sen <ams(at)2ndquadrant(dot)com>|
|Subject:||[PATCH] Use MAP_HUGETLB where supported (v3)|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
This is a slightly reworked version of the patch submitted by Richard
Poole last month, which was based on Christian Kruse's earlier patch.
Apart from doing various minor cleanups and documentation fixes, I also
tested this patch against HEAD on a machine with 256GB of RAM. Here's an
overview of the results.
I set nr_hugepages to 32768 (== 64GB), which (took a very long time and)
allowed me to set shared_buffers to 60GB. I then ran pgbench -s 1000 -i,
and did some runs of "pgbench -c 100 -j 10 -t 1000" with huge_tlb_pages
set to off and on respectively.
With huge_tlb_pages=off, this is the best result I got:
tps = 8680.771068 (including connections establishing)
tps = 8721.504838 (excluding connections establishing)
With huge_tlb_pages=on, this is the best result I got:
tps = 9932.245203 (including connections establishing)
tps = 9983.190304 (excluding connections establishing)
(Even the worst result I got in the latter case was a smidgen faster
than the best with huge_tlb_pages=off: 8796.344078 vs. 8721.504838.)
From /proc/$pid/status, VmPTE was 2880kb with huge_tlb_pages=off, and
56kb with it turned on.
One open question is what to do about rounding up the size. It should
not be necessary, but for the fairly recent bug described at the link
in the comment (https://bugzilla.kernel.org/show_bug.cgi?id=56881). I
tried it without the rounding-up, and it fails on Ubuntu's 3.5.0-28
kernel (mmap returns EINVAL).
|Next Message||Abhijit Menon-Sen||2013-10-24 06:06:51||Re: [PATCH] Use MAP_HUGETLB where supported (v3)|
|Previous Message||Amit Kapila||2013-10-24 04:58:43||Re: CLUSTER FREEZE|