From: William Lee Irwin III <wli@holomorphy.com>
To: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
Cc: linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, "Seth,
Rohit" <rohit.seth@intel.com>
Subject: Re: Hugetlb demanding paging for -mm tree
Date: Sat, 7 Aug 2004 01:36:13 -0700 [thread overview]
Message-ID: <20040807083613.GZ17188@holomorphy.com> (raw)
In-Reply-To: <200408051340.i75De0Y26517@unix-os.sc.intel.com>
On Thu, Aug 05, 2004 at 06:39:59AM -0700, Chen, Kenneth W wrote:
> +static void scrub_one_pmd(pmd_t * pmd)
> +{
> + struct page *page;
> +
> + if (pmd && !pmd_none(*pmd) && !pmd_huge(*pmd)) {
> + page = pmd_page(*pmd);
> + pmd_clear(pmd);
> + dec_page_state(nr_page_table_pages);
> + page_cache_release(page);
> + }
> +}
This is needed because we're only freeing pagetables at pgd granularity
at munmap() -time. It makes more sense to refine it to pmd granularity
instead of this cleanup pass, as it's a memory leak beyond just hugetlb
data structure corruption.
I wonder why this bugfix was rolled into the demand paging patch instead
of shipped separately. And for that matter, this fix applies to mainline.
On Thu, Aug 05, 2004 at 06:39:59AM -0700, Chen, Kenneth W wrote:
> +int
> +handle_hugetlb_mm_fault(struct mm_struct *mm, struct vm_area_struct * vma,
> + unsigned long addr, int write_access)
> +{
> + hugepte_t *pte;
> + struct page *page;
> + struct address_space *mapping;
> + int idx, ret;
Well, to go along with the general theme of this, using a hugepte_t
type and macros in generic code trivially defined to normal pte bits
for other arches could easily consolidate this fault handler with the
others. Of course, this much consolidation makes some rather limiting
assumptions that will either prevent other improvements or have to be
partially undone for other improvements.
-- wli
next prev parent reply other threads:[~2004-08-07 8:36 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-05 13:29 Hugetlb demanding paging for -mm tree Chen, Kenneth W
2004-08-05 13:36 ` William Lee Irwin III
2004-08-05 13:39 ` Chen, Kenneth W
2004-08-05 16:35 ` Hirokazu Takahashi
2004-08-06 20:55 ` Chen, Kenneth W
2004-08-06 21:07 ` William Lee Irwin III
2004-08-07 8:13 ` William Lee Irwin III
2004-08-09 18:19 ` Chen, Kenneth W
2004-08-09 19:12 ` William Lee Irwin III
2004-08-07 8:36 ` William Lee Irwin III [this message]
2004-08-09 18:54 ` Chen, Kenneth W
2004-08-09 19:12 ` William Lee Irwin III
2004-08-05 13:42 ` Chen, Kenneth W
2004-08-05 14:04 ` Andi Kleen
2004-08-06 21:06 ` Chen, Kenneth W
2004-08-05 13:43 ` Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2004-08-09 18:43 Seth, Rohit
2004-08-09 18:59 ` William Lee Irwin III
2004-08-10 8:52 Seth, Rohit
2004-08-10 8:55 ` William Lee Irwin III
2004-08-11 0:28 Seth, Rohit
2004-08-11 0:45 ` William Lee Irwin III
2004-08-11 6:36 Seth, Rohit
2004-08-11 6:38 ` William Lee Irwin III
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=20040807083613.GZ17188@holomorphy.com \
--to=wli@holomorphy.com \
--cc=kenneth.w.chen@intel.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rohit.seth@intel.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