From: Davidlohr Bueso <davidlohr@hp.com>
To: akpm@linux-foundation.org, iamjoonsoo.kim@lge.com
Cc: riel@redhat.com, mgorman@suse.de, mhocko@suse.cz,
aneesh.kumar@linux.vnet.ibm.com, kamezawa.hiroyu@jp.fujitsu.com,
hughd@google.com, david@gibson.dropbear.id.au, js1304@gmail.com,
liwanp@linux.vnet.ibm.com, n-horiguchi@ah.jp.nec.com,
dhillf@gmail.com, rientjes@google.com, davidlohr@hp.com,
aswin@hp.com, scott.norton@hp.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 0/8] mm, hugetlb: fixes and fault scalability
Date: Sun, 26 Jan 2014 19:52:18 -0800 [thread overview]
Message-ID: <1390794746-16755-1-git-send-email-davidlohr@hp.com> (raw)
This patchset resumes the work to improve the whole hugepage fault
scalability path. Previous efforts can be found here:
https://lkml.org/lkml/2013/7/26/299
https://lkml.org/lkml/2013/12/18/50
The latest attempt to address the big-fat hugetlb instantiation mutex by
removing the need for it altogether ended up having too much of an overhead
to consider and allow scalability. The discussion can be found at:
https://lkml.org/lkml/2014/1/3/244
This patchset is divided in three parts, where the first seven patches,
from Joonsoo, have been included and reviewed in previous patchsets. The
last patch is the actual performance one.
Part 1. (1-3) Introduce new protection method for region tracking
data structure, instead of the hugetlb_instantiation_mutex. There
is race condition when we map the hugetlbfs file to two different
processes. To prevent it, we need to new protection method like
as this patchset.
Part 2. (4-7) clean-up.
These make code really simple, so these are worth to go into
mainline separately.
Part 4 (8) Use a table of mutexes instead of a unique one, and allow
faults to be handled in parallel. Benefits and caveats to this
approach are in the patch.
All changes have passed the libhugetblfs test cases.
This patchset applies on top of Linus' current tree (3.13-77d143de)
Thanks!
mm, hugetlb: unify region structure handling
mm, hugetlb: region manipulation functions take resv_map rather
list_head
mm, hugetlb: fix race in region tracking
mm, hugetlb: remove resv_map_put
mm, hugetlb: use vma_resv_map() map types
mm, hugetlb: remove vma_has_reserves
mm, hugetlb: mm, hugetlb: unify chg and avoid_reserve to use_reserve
mm, hugetlb: improve page-fault scalability
fs/hugetlbfs/inode.c | 17 ++-
include/linux/hugetlb.h | 10 ++
mm/hugetlb.c | 323 +++++++++++++++++++++++++++---------------------
3 files changed, 206 insertions(+), 144 deletions(-)
--
1.8.1.4
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2014-01-27 3:52 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-27 3:52 Davidlohr Bueso [this message]
2014-01-27 3:52 ` [PATCH 1/8] mm, hugetlb: unify region structure handling Davidlohr Bueso
2014-01-27 21:02 ` Naoya Horiguchi
2014-01-27 3:52 ` [PATCH 2/8] mm, hugetlb: region manipulation functions take resv_map rather list_head Davidlohr Bueso
2014-01-27 21:02 ` Naoya Horiguchi
2014-01-27 3:52 ` [PATCH 3/8] mm, hugetlb: fix race in region tracking Davidlohr Bueso
2014-01-27 21:02 ` Naoya Horiguchi
2014-01-27 21:44 ` Davidlohr Bueso
2014-01-28 1:53 ` Naoya Horiguchi
2014-01-28 2:34 ` Davidlohr Bueso
2014-01-29 0:36 ` Naoya Horiguchi
2014-01-29 1:19 ` Davidlohr Bueso
2014-02-04 0:18 ` Andrew Morton
2014-01-27 3:52 ` [PATCH 4/8] mm, hugetlb: remove resv_map_put Davidlohr Bueso
2014-01-27 21:03 ` Naoya Horiguchi
2014-01-27 3:52 ` [PATCH 5/8] mm, hugetlb: use vma_resv_map() map types Davidlohr Bueso
2014-01-27 21:03 ` Naoya Horiguchi
2014-01-28 2:36 ` Davidlohr Bueso
2014-01-27 3:52 ` [PATCH 6/8] mm, hugetlb: remove vma_has_reserves Davidlohr Bueso
2014-01-27 21:04 ` Naoya Horiguchi
2014-01-29 19:24 ` Davidlohr Bueso
2014-01-27 3:52 ` [PATCH 7/8] mm, hugetlb: mm, hugetlb: unify chg and avoid_reserve to use_reserve Davidlohr Bueso
2014-01-27 21:04 ` Naoya Horiguchi
2014-01-27 3:52 ` [PATCH 8/8] mm, hugetlb: improve page-fault scalability Davidlohr Bueso
2014-01-27 4:15 ` Davidlohr Bueso
2014-01-27 4:17 ` [PATCH v2 " Davidlohr Bueso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1390794746-16755-1-git-send-email-davidlohr@hp.com \
--to=davidlohr@hp.com \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=aswin@hp.com \
--cc=david@gibson.dropbear.id.au \
--cc=dhillf@gmail.com \
--cc=hughd@google.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=js1304@gmail.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=liwanp@linux.vnet.ibm.com \
--cc=mgorman@suse.de \
--cc=mhocko@suse.cz \
--cc=n-horiguchi@ah.jp.nec.com \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=scott.norton@hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).