From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
To: 'Adam Litke' <agl@us.ibm.com>, linux-mm@kvack.org
Subject: RE: [RFC] Hugetlb fallback to normal pages
Date: Thu, 27 Apr 2006 16:31:06 -0700 [thread overview]
Message-ID: <4sur0l$s7b0u@fmsmga001.fm.intel.com> (raw)
In-Reply-To: <1146080780.3872.69.camel@localhost.localdomain>
Adam Litke wrote on Wednesday, April 26, 2006 12:46 PM
> The problem: Random SIGBUS crashes for applications using large pages
> are not acceptable. We need a way to handle the fault without giving up
> and killing the process.
>
> So I've been mulling it over and as I see it, we either 1) Swap out huge
> pages, or 2) Demote huge pages. In either case we need to be willing to
> accept the performance penalty to gain stability. At this point, I
> think swapping is too intrusive and way too slow so I am considering
> demotion options. To simplify things at first, I am only considering
> i386 (and demoting only private mappings of course).
Maybe hugetlb needs a page reclaim logic?
> Here's my idea: When we fail to instantiate a new page at fault time,
> split the affected vma such that we have a new vma to cover the 1 huge
> page we are demoting. Allocate HPAGE_SIZE/PAGE_SIZE normal pages. Use
> the page table to locate any populated hugetlb pages. Copy the data
> into the normal pages and install them in the page table. Do any other
> fixup required to make the new VMA anonymous. Return.
>
> Any general opinions on the idea (flame retardant suit is equipped)? As
> far as I can tell, we don't split vmas during fault anywhere else. Is
> there inherent problems with doing so? What about the conversion
> process to an anonymous VMA? Since we are dealing with private mappings
> only, divorcing the vma from the hugetlbfs file should be okay afaics.
Some arch don't support mixed page size within a range of virtual address.
So automatic fallback to smaller page won't work on that arch :-(
- Ken
--
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 prev parent reply other threads:[~2006-04-27 23:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-26 19:46 [RFC] Hugetlb fallback to normal pages Adam Litke
2006-04-27 23:31 ` Chen, Kenneth W [this message]
2006-05-01 15:46 ` Dave Hansen
2006-05-01 16:23 ` Christoph Lameter
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='4sur0l$s7b0u@fmsmga001.fm.intel.com' \
--to=kenneth.w.chen@intel.com \
--cc=agl@us.ibm.com \
--cc=linux-mm@kvack.org \
/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.