linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11 v4] update page table walker
@ 2014-01-13 16:54 Naoya Horiguchi
  2014-01-13 16:54 ` [PATCH 01/11] pagewalk: update page table walker core Naoya Horiguchi
                   ` (11 more replies)
  0 siblings, 12 replies; 18+ messages in thread
From: Naoya Horiguchi @ 2014-01-13 16:54 UTC (permalink / raw)
  To: linux-mm
  Cc: Andrew Morton, Matt Mackall, Cliff Wickman, KOSAKI Motohiro,
	Johannes Weiner, KAMEZAWA Hiroyuki, Michal Hocko,
	Aneesh Kumar K.V, Pavel Emelyanov, Rik van Riel, kirill.shutemov,
	linux-kernel

This is ver.4 of page table walker patchset.
I rebased it onto mmotm-2014-01-09-16-23, refactored, and commented more.
Changes since ver.3 are only on 1/11 and 2/11.

As for the motivation and/or brief summary, please refer to patch 1/11
and/or the cover letter of ver.1.
- v1: http://article.gmane.org/gmane.linux.kernel.mm/108362
- v2: http://article.gmane.org/gmane.linux.kernel.mm/108827
- v3: http://article.gmane.org/gmane.linux.kernel.mm/110561

Thanks,
Naoya Horiguchi
---
GitHub:
  git://github.com/Naoya-Horiguchi/linux.git mmotm-2014-01-09-16-23/update_page_table_walker.v4

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             | 267 ++++++++++++-----------------
 include/linux/mm.h             |  24 ++-
 mm/madvise.c                   |  43 ++---
 mm/memcontrol.c                |  71 +++-----
 mm/mempolicy.c                 | 255 +++++++++++-----------------
 mm/pagewalk.c                  | 377 ++++++++++++++++++++++++++---------------
 7 files changed, 508 insertions(+), 535 deletions(-)

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

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 00/11 v5] update page table walker
@ 2014-02-10 21:44 Naoya Horiguchi
  2014-02-10 21:44 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi
  0 siblings, 1 reply; 18+ messages in thread
From: Naoya Horiguchi @ 2014-02-10 21:44 UTC (permalink / raw)
  To: linux-mm
  Cc: Andrew Morton, Matt Mackall, Cliff Wickman, KOSAKI Motohiro,
	Johannes Weiner, KAMEZAWA Hiroyuki, Michal Hocko,
	Aneesh Kumar K.V, Pavel Emelyanov, Rik van Riel, kirill.shutemov,
	linux-kernel

Hi,

This is ver.5 of page table walker patchset.
I rebased it onto v3.14-rc2.

- v1: http://article.gmane.org/gmane.linux.kernel.mm/108362
- v2: http://article.gmane.org/gmane.linux.kernel.mm/108827
- v3: http://article.gmane.org/gmane.linux.kernel.mm/110561
- v4: http://article.gmane.org/gmane.linux.kernel.mm/111832

Thanks,
Naoya Horiguchi
---
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             | 267 ++++++++++++-----------------
 include/linux/mm.h             |  24 ++-
 mm/madvise.c                   |  43 ++---
 mm/memcontrol.c                |  71 +++-----
 mm/mempolicy.c                 | 255 +++++++++++-----------------
 mm/pagewalk.c                  | 372 ++++++++++++++++++++++++++---------------
 7 files changed, 506 insertions(+), 532 deletions(-)

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

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 00/11 v3] update page table walker
@ 2013-12-11 22:08 Naoya Horiguchi
  2013-12-11 22:08 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi
  0 siblings, 1 reply; 18+ messages in thread
From: Naoya Horiguchi @ 2013-12-11 22:08 UTC (permalink / raw)
  To: linux-mm
  Cc: Andrew Morton, Matt Mackall, Cliff Wickman, KOSAKI Motohiro,
	Johannes Weiner, KAMEZAWA Hiroyuki, Michal Hocko,
	Aneesh Kumar K.V, Pavel Emelyanov, Rik van Riel, kirill.shutemov,
	linux-kernel

Hi,

This is ver.3 of page table walker patchset.
I rebased it onto v3.13-rc3-mmots-2013-12-10-16-38.

As for the motivation and/or brief summary, please refer to patch 1/11 and/or
the cover letter of ver.1.
- v1: http://article.gmane.org/gmane.linux.kernel.mm/108362
- v2: http://article.gmane.org/gmane.linux.kernel.mm/108827

Thanks,
Naoya Horiguchi
---
GitHub:
  git://github.com/Naoya-Horiguchi/linux.git v3.13-rc3-mmots-2013-12-10-16-38/update_page_table_walker.v3

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             | 267 ++++++++++++-----------------
 include/linux/mm.h             |  24 ++-
 mm/madvise.c                   |  43 ++---
 mm/memcontrol.c                |  71 +++-----
 mm/mempolicy.c                 | 255 +++++++++++-----------------
 mm/pagewalk.c                  | 370 ++++++++++++++++++++++++++---------------
 7 files changed, 501 insertions(+), 535 deletions(-)

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

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 00/11 v2] update page table walker
@ 2013-10-30 21:44 Naoya Horiguchi
  2013-10-30 21:44 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi
  0 siblings, 1 reply; 18+ messages in thread
From: Naoya Horiguchi @ 2013-10-30 21:44 UTC (permalink / raw)
  To: linux-mm
  Cc: Andrew Morton, Matt Mackall, Cliff Wickman, KOSAKI Motohiro,
	Johannes Weiner, KAMEZAWA Hiroyuki, Michal Hocko,
	Aneesh Kumar K.V, Pavel Emelyanov, Rik van Riel, kirill.shutemov,
	linux-kernel

Hi,

This is the ver.2 of page table walker patchset.
I rebased it onto the latest mmots (solved conflicts with split PMD locks),
and added a few small changes.

As for the motivation and/or brief summary, please refer to ver.1's cover letter.
http://article.gmane.org/gmane.linux.kernel.mm/108362

Thanks,
Naoya Horiguchi
---
GitHub:
  git://github.com/Naoya-Horiguchi/linux.git v3.12-rc7-mmots-2013-10-29-16-24/rewrite_pagewalker.v2

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             | 267 ++++++++++++-----------------
 include/linux/mm.h             |  24 ++-
 mm/madvise.c                   |  43 ++---
 mm/memcontrol.c                |  71 +++-----
 mm/mempolicy.c                 | 255 +++++++++++-----------------
 mm/pagewalk.c                  | 370 ++++++++++++++++++++++++++---------------
 7 files changed, 501 insertions(+), 535 deletions(-)

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

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 0/11] update page table walker
@ 2013-10-14 17:36 Naoya Horiguchi
  2013-10-14 17:37 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi
  0 siblings, 1 reply; 18+ messages in thread
From: Naoya Horiguchi @ 2013-10-14 17:36 UTC (permalink / raw)
  To: linux-mm
  Cc: Andrew Morton, Matt Mackall, Cliff Wickman, KOSAKI Motohiro,
	Johannes Weiner, KAMEZAWA Hiroyuki, Michal Hocko,
	Aneesh Kumar K.V, Pavel Emelyanov, linux-kernel

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

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2014-02-10 21:45 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-13 16:54 [PATCH 00/11 v4] update page table walker Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 01/11] pagewalk: update page table walker core Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 03/11] smaps: redefine callback functions for page table walker Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 04/11] clear_refs: " Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 05/11] pagemap: " Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 06/11] numa_maps: " Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 07/11] memcg: " Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 08/11] madvise: " Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 09/11] arch/powerpc/mm/subpage-prot.c: use walk_page_vma() instead of walk_page_range() Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 10/11] pagewalk: remove argument hmask from hugetlb_entry() Naoya Horiguchi
2014-01-13 16:54 ` [PATCH 11/11] mempolicy: apply page table walker on queue_pages_range() Naoya Horiguchi
2014-01-16  0:32 ` [PATCH 00/11 v4] update page table walker Andrew Morton
2014-01-16  0:46   ` Naoya Horiguchi
  -- strict thread matches above, loose matches on Subject: below --
2014-02-10 21:44 [PATCH 00/11 v5] " Naoya Horiguchi
2014-02-10 21:44 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi
2013-12-11 22:08 [PATCH 00/11 v3] update page table walker Naoya Horiguchi
2013-12-11 22:08 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi
2013-10-30 21:44 [PATCH 00/11 v2] update page table walker Naoya Horiguchi
2013-10-30 21:44 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi
2013-10-14 17:36 [PATCH 0/11] update page table walker Naoya Horiguchi
2013-10-14 17:37 ` [PATCH 02/11] pagewalk: add walk_page_vma() Naoya Horiguchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).