All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
To: Davidlohr Bueso <davidlohr@hp.com>
Cc: akpm@linux-foundation.org, 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, liwanp@linux.vnet.ibm.com,
	n-horiguchi@ah.jp.nec.com, dhillf@gmail.com, rientjes@google.com,
	aswin@hp.com, scott.norton@hp.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 6/6] mm, hugetlb: improve page-fault scalability
Date: Mon, 3 Feb 2014 15:41:38 +0900	[thread overview]
Message-ID: <20140203064138.GA2360@lge.com> (raw)
In-Reply-To: <1391189806-13319-7-git-send-email-davidlohr@hp.com>

On Fri, Jan 31, 2014 at 09:36:46AM -0800, Davidlohr Bueso wrote:
> From: Davidlohr Bueso <davidlohr@hp.com>
> 
> The kernel can currently only handle a single hugetlb page fault at a time.
> This is due to a single mutex that serializes the entire path. This lock
> protects from spurious OOM errors under conditions of low of low availability
> of free hugepages. This problem is specific to hugepages, because it is
> normal to want to use every single hugepage in the system - with normal pages
> we simply assume there will always be a few spare pages which can be used
> temporarily until the race is resolved.
> 
> Address this problem by using a table of mutexes, allowing a better chance of
> parallelization, where each hugepage is individually serialized. The hash key
> is selected depending on the mapping type. For shared ones it consists of the
> address space and file offset being faulted; while for private ones the mm and
> virtual address are used. The size of the table is selected based on a compromise
> of collisions and memory footprint of a series of database workloads.

Hello,

Thanks for doing this patchset. :)
Just one question!
Why do we need a separate hash key depending on the mapping type?

Thanks.

--
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>

WARNING: multiple messages have this Message-ID (diff)
From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
To: Davidlohr Bueso <davidlohr@hp.com>
Cc: akpm@linux-foundation.org, 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, liwanp@linux.vnet.ibm.com,
	n-horiguchi@ah.jp.nec.com, dhillf@gmail.com, rientjes@google.com,
	aswin@hp.com, scott.norton@hp.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 6/6] mm, hugetlb: improve page-fault scalability
Date: Mon, 3 Feb 2014 15:41:38 +0900	[thread overview]
Message-ID: <20140203064138.GA2360@lge.com> (raw)
In-Reply-To: <1391189806-13319-7-git-send-email-davidlohr@hp.com>

On Fri, Jan 31, 2014 at 09:36:46AM -0800, Davidlohr Bueso wrote:
> From: Davidlohr Bueso <davidlohr@hp.com>
> 
> The kernel can currently only handle a single hugetlb page fault at a time.
> This is due to a single mutex that serializes the entire path. This lock
> protects from spurious OOM errors under conditions of low of low availability
> of free hugepages. This problem is specific to hugepages, because it is
> normal to want to use every single hugepage in the system - with normal pages
> we simply assume there will always be a few spare pages which can be used
> temporarily until the race is resolved.
> 
> Address this problem by using a table of mutexes, allowing a better chance of
> parallelization, where each hugepage is individually serialized. The hash key
> is selected depending on the mapping type. For shared ones it consists of the
> address space and file offset being faulted; while for private ones the mm and
> virtual address are used. The size of the table is selected based on a compromise
> of collisions and memory footprint of a series of database workloads.

Hello,

Thanks for doing this patchset. :)
Just one question!
Why do we need a separate hash key depending on the mapping type?

Thanks.

  parent reply	other threads:[~2014-02-03  6:41 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-31 17:36 [PATCH v2 0/6] mm, hugetlb: fixes and fault scalability Davidlohr Bueso
2014-01-31 17:36 ` Davidlohr Bueso
2014-01-31 17:36 ` [PATCH v2 1/6] mm, hugetlb: unify region structure handling Davidlohr Bueso
2014-01-31 17:36   ` Davidlohr Bueso
2014-01-31 17:36 ` [PATCH v2 2/6] mm, hugetlb: improve, cleanup resv_map parameters Davidlohr Bueso
2014-01-31 17:36   ` Davidlohr Bueso
2014-01-31 17:36 ` [PATCH v2 3/6] mm, hugetlb: fix race in region tracking Davidlohr Bueso
2014-01-31 17:36   ` Davidlohr Bueso
2014-01-31 17:36 ` [PATCH v2 4/6] mm, hugetlb: remove resv_map_put Davidlohr Bueso
2014-01-31 17:36   ` Davidlohr Bueso
2014-01-31 17:36 ` [PATCH v2 5/6] mm, hugetlb: use vma_resv_map() map types Davidlohr Bueso
2014-01-31 17:36   ` Davidlohr Bueso
2014-01-31 17:36 ` [PATCH v2 6/6] mm, hugetlb: improve page-fault scalability Davidlohr Bueso
2014-01-31 17:36   ` Davidlohr Bueso
2014-01-31 21:01   ` Andrew Morton
2014-01-31 21:01     ` Andrew Morton
2014-01-31 21:52     ` Davidlohr Bueso
2014-01-31 21:52       ` Davidlohr Bueso
2014-02-03  6:41   ` Joonsoo Kim [this message]
2014-02-03  6:41     ` Joonsoo Kim

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=20140203064138.GA2360@lge.com \
    --to=iamjoonsoo.kim@lge.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=aswin@hp.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=davidlohr@hp.com \
    --cc=dhillf@gmail.com \
    --cc=hughd@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.