lkml.org 
[lkml]   [2013]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/11] update page table walker
Date
Page table walker is widely used when you want to traverse page table
tree and do some work for the entries (and pages pointed to by them.)
This is a common operation, and keep the code clean and maintainable
is important. Moreover this patchset introduces caller-specific walk
control function which is helpful for us to newly introduce page table
walker to some other users. Core change comes from patch 1, so please
see it for how it's supposed to work.

This patchset changes core code in mm/pagewalk.c at first in patch 1 and 2,
and then updates all of current users to make the code cleaner in patch
3-9. Patch 10 changes the interface of hugetlb_entry(), I put it here to
keep bisectability of the whole patchset. Patch 11 applies page table walker
to a new user queue_pages_range().

There're some other candidates of new users of page table walker:
- do_mincore()
- copy_page_range()
- remap_pfn_range()
- zap_page_range()
- free_pgtables()
- vmap_page_range_noflush()
- change_protection_range()
, but at the first step I start with adding only one new user,
queue_pages_range().

Any comments?

Thanks,
Naoya Horiguchi
---
GitHub:
git://github.com/Naoya-Horiguchi/linux.git v3.12-rc4/rewrite_pagewalker.v1

Test code:
git://github.com/Naoya-Horiguchi/test_rewrite_page_table_walker.git
---
Summary:

Naoya Horiguchi (11):
pagewalk: update page table walker core
pagewalk: add walk_page_vma()
smaps: redefine callback functions for page table walker
clear_refs: redefine callback functions for page table walker
pagemap: redefine callback functions for page table walker
numa_maps: redefine callback functions for page table walker
memcg: redefine callback functions for page table walker
madvise: redefine callback functions for page table walker
arch/powerpc/mm/subpage-prot.c: use walk_page_vma() instead of walk_page_range()
pagewalk: remove argument hmask from hugetlb_entry()
mempolicy: apply page table walker on queue_pages_range()

arch/powerpc/mm/subpage-prot.c | 6 +-
fs/proc/task_mmu.c | 262 +++++++++++++-----------------
include/linux/mm.h | 24 ++-
mm/madvise.c | 43 ++---
mm/memcontrol.c | 72 ++++-----
mm/mempolicy.c | 251 +++++++++++------------------
mm/pagewalk.c | 352 +++++++++++++++++++++++++----------------
7 files changed, 482 insertions(+), 528 deletions(-)


\
 
 \ /
  Last update: 2013-10-14 20:41    [W:0.125 / U:0.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site