From: Adam Litke <agl@us.ibm.com> To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, agl@us.ibm.com Subject: [PATCH 6/7] free_pgtable_range for hugetlb Date: Mon, 19 Feb 2007 10:32:27 -0800 [thread overview] Message-ID: <20070219183227.27318.12572.stgit@localhost.localdomain> (raw) In-Reply-To: <20070219183123.27318.27319.stgit@localhost.localdomain> Signed-off-by: Adam Litke <agl@us.ibm.com> --- fs/hugetlbfs/inode.c | 1 + mm/memory.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 1016694..3461f9b 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -567,6 +567,7 @@ static struct pagetable_operations_struct hugetlbfs_pagetable_ops = { .pin_pages = follow_hugetlb_page, .unmap_page_range = unmap_hugepage_range, .change_protection = hugetlb_change_protection, + .free_pgtable_range = hugetlb_free_pgd_range, }; static struct inode_operations hugetlbfs_dir_inode_operations = { diff --git a/mm/memory.c b/mm/memory.c index aa6b06e..442e6b2 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -279,15 +279,15 @@ void free_pgtables(struct mmu_gather **tlb, struct vm_area_struct *vma, anon_vma_unlink(vma); unlink_file_vma(vma); - if (is_vm_hugetlb_page(vma)) { - hugetlb_free_pgd_range(tlb, addr, vma->vm_end, + if (has_pt_op(vma, free_pgtable_range)) { + pt_op(vma, free_pgtable_range)(tlb, addr, vma->vm_end, floor, next? next->vm_start: ceiling); } else { /* * Optimization: gather nearby vmas into one call down */ while (next && next->vm_start <= vma->vm_end + PMD_SIZE - && !is_vm_hugetlb_page(next)) { + && !has_pt_op(next, free_pgtable_range)) { vma = next; next = vma->vm_next; anon_vma_unlink(vma);
WARNING: multiple messages have this Message-ID (diff)
From: Adam Litke <agl@us.ibm.com> To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, agl@us.ibm.com Subject: [PATCH 6/7] free_pgtable_range for hugetlb Date: Mon, 19 Feb 2007 10:32:27 -0800 [thread overview] Message-ID: <20070219183227.27318.12572.stgit@localhost.localdomain> (raw) In-Reply-To: <20070219183123.27318.27319.stgit@localhost.localdomain> Signed-off-by: Adam Litke <agl@us.ibm.com> --- fs/hugetlbfs/inode.c | 1 + mm/memory.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 1016694..3461f9b 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -567,6 +567,7 @@ static struct pagetable_operations_struct hugetlbfs_pagetable_ops = { .pin_pages = follow_hugetlb_page, .unmap_page_range = unmap_hugepage_range, .change_protection = hugetlb_change_protection, + .free_pgtable_range = hugetlb_free_pgd_range, }; static struct inode_operations hugetlbfs_dir_inode_operations = { diff --git a/mm/memory.c b/mm/memory.c index aa6b06e..442e6b2 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -279,15 +279,15 @@ void free_pgtables(struct mmu_gather **tlb, struct vm_area_struct *vma, anon_vma_unlink(vma); unlink_file_vma(vma); - if (is_vm_hugetlb_page(vma)) { - hugetlb_free_pgd_range(tlb, addr, vma->vm_end, + if (has_pt_op(vma, free_pgtable_range)) { + pt_op(vma, free_pgtable_range)(tlb, addr, vma->vm_end, floor, next? next->vm_start: ceiling); } else { /* * Optimization: gather nearby vmas into one call down */ while (next && next->vm_start <= vma->vm_end + PMD_SIZE - && !is_vm_hugetlb_page(next)) { + && !has_pt_op(next, free_pgtable_range)) { vma = next; next = vma->vm_next; anon_vma_unlink(vma); -- 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:[~2007-02-19 18:33 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-02-19 18:31 [PATCH 0/7] [RFC] hugetlb: pagetable_operations API Adam Litke 2007-02-19 18:31 ` Adam Litke 2007-02-19 18:31 ` [PATCH 1/7] Introduce the pagetable_operations and associated helper macros Adam Litke 2007-02-19 18:31 ` Adam Litke 2007-02-19 18:41 ` Arjan van de Ven 2007-02-19 18:41 ` Arjan van de Ven 2007-02-19 19:31 ` Adam Litke 2007-02-19 19:31 ` Adam Litke 2007-02-19 19:48 ` William Lee Irwin III 2007-02-19 19:48 ` William Lee Irwin III 2007-02-19 22:29 ` Christoph Hellwig 2007-02-19 22:29 ` Christoph Hellwig 2007-02-20 15:50 ` Mel Gorman 2007-02-20 15:50 ` Mel Gorman 2007-02-19 18:31 ` [PATCH 2/7] copy_vma for hugetlbfs Adam Litke 2007-02-19 18:31 ` Adam Litke 2007-02-19 18:31 ` [PATCH 3/7] pin_pages for hugetlb Adam Litke 2007-02-19 18:31 ` Adam Litke 2007-02-19 18:32 ` [PATCH 4/7] unmap_page_range " Adam Litke 2007-02-19 18:32 ` Adam Litke 2007-02-19 18:32 ` [PATCH 5/7] change_protection " Adam Litke 2007-02-19 18:32 ` Adam Litke 2007-02-19 18:32 ` Adam Litke [this message] 2007-02-19 18:32 ` [PATCH 6/7] free_pgtable_range " Adam Litke 2007-02-19 18:32 ` [PATCH 7/7] hugetlbfs fault handler Adam Litke 2007-02-19 18:32 ` Adam Litke 2007-02-19 18:43 ` [PATCH 0/7] [RFC] hugetlb: pagetable_operations API Arjan van de Ven 2007-02-19 18:43 ` Arjan van de Ven 2007-02-19 19:34 ` Adam Litke 2007-02-19 19:34 ` Adam Litke 2007-02-19 21:15 ` Arjan van de Ven 2007-02-19 21:15 ` Arjan van de Ven 2007-02-20 19:57 ` Benjamin Herrenschmidt 2007-02-20 19:57 ` Benjamin Herrenschmidt 2007-02-20 19:54 ` Benjamin Herrenschmidt 2007-02-20 19:54 ` Benjamin Herrenschmidt 2007-03-19 20:05 [PATCH 0/7] [RFC] hugetlb: pagetable_operations API (V2) Adam Litke 2007-03-19 20:06 ` [PATCH 6/7] free_pgtable_range for hugetlb Adam Litke 2007-03-19 20:06 ` Adam Litke
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=20070219183227.27318.12572.stgit@localhost.localdomain \ --to=agl@us.ibm.com \ --cc=linux-kernel@vger.kernel.org \ --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: linkBe 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.