[PATCH 0/2] hugepage: optimize page fault path locking

From: Davidlohr Bueso
Date: Fri Jul 26 2013 - 10:27:55 EST


This patchset attempts to reduce the amount of contention we impose
on the hugetlb_instantiation_mutex by replacing the global mutex with
a table of mutexes, selected based on a hash. The original discussion can
be found here: http://lkml.org/lkml/2013/7/12/428

Patch 1: Allows the file region tracking list to be serialized by its own rwsem.
This is necessary because the next patch allows concurrent hugepage fault paths,
getting rid of the hugetlb_instantiation_mutex - which protects chains of struct
file_regionin inode->i_mapping->private_list (VM_MAYSHARE) or vma_resv_map(vma)->regions
(!VM_MAYSHARE).

Patch 2: From David Gibson, for some reason never made it into the kernel.
Further cleanups and enhancements from Anton Blanchard and myself.
Details of how the hash key is selected is in the patch.

Davidlohr Bueso (2):
hugepage: protect file regions with rwsem
hugepage: allow parallelization of the hugepage fault path

mm/hugetlb.c | 134 ++++++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 106 insertions(+), 28 deletions(-)

--
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/