From: Minchan Kim <minchan@kernel.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Michael Kerrisk <mtk.manpages@gmail.com>, linux-api@vger.kernel.org, Hugh Dickins <hughd@google.com>, Johannes Weiner <hannes@cmpxchg.org>, Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, Jason Evans <je@fb.com>, Daniel Micay <danielmicay@gmail.com>, "Kirill A. Shutemov" <kirill@shutemov.name>, Shaohua Li <shli@kernel.org>, Michal Hocko <mhocko@suse.cz>, yalin.wang2010@gmail.com, Andy Lutomirski <luto@amacapital.net>, Minchan Kim <minchan@kernel.org> Subject: [PATCH v5 00/12] MADV_FREE support Date: Mon, 30 Nov 2015 15:39:31 +0900 [thread overview] Message-ID: <1448865583-2446-1-git-send-email-minchan@kernel.org> (raw) In v4, Andrew wanted to settle in old basic MADV_FREE and introduces new stuffs(ie, lazyfree LRU, swapless support and lazyfreeness) later so this version doesn't include them. I have been tested it on mmotm-2015-11-25-17-08 with additional patch[1] from Kirill to prevent BUG_ON which he didn't send to linux-mm yet as formal patch. With it, I couldn't find any problem so far. Note that this version is based on THP refcount redesign so I needed some modification on MADV_FREE because split_huge_pmd doesn't split a THP page any more and pmd_trans_huge(pmd) is not enough to guarantee the page is not THP page. As well, for MAVD_FREE lazy-split, THP split should respect pmd's dirtiness rather than marking ptes of all subpages dirty unconditionally. Please, review last patch in this patchset. mm: don't split THP page when syscall is called [1] https://lkml.org/lkml/2015/11/17/134 git: git://git.kernel.org/pub/scm/linux/kernel/git/minchan/linux.git branch: mm/madv_free-v4.4-rc2-mmotm-2015-11-25-17-08-v5r2 In this stage, I don't think we need to write man page. It could be done after solid policy and implementation. * Change from v4 * drop lazyfree LRU * drop swapless support * drop lazyfreeness * rebase on recent mmotom with THP refcount redesign * Change from v3 * some bug fix * code refactoring * lazyfree reclaim logic change * reordering patch * Change from v2 * vm_lazyfreeness tuning knob * add new LRU list - Johannes, Shaohua * support swapless - Johannes * Change from v1 * Don't do unnecessary TLB flush - Shaohua * Added Acked-by - Hugh, Michal * Merge deactivate_page and deactivate_file_page * Add pmd_dirty/pmd_mkclean patches for several arches * Add lazy THP split patch * Drop zhangyanfei@cn.fujitsu.com - Delivery Failure Chen Gang (1): arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures Minchan Kim (11): mm: support madvise(MADV_FREE) mm: define MADV_FREE for some arches mm: free swp_entry in madvise_free mm: move lazily freed pages to inactive list mm: mark stable page dirty in KSM x86: add pmd_[dirty|mkclean] for THP sparc: add pmd_[dirty|mkclean] for THP powerpc: add pmd_[dirty|mkclean] for THP arm: add pmd_mkclean for THP arm64: add pmd_mkclean for THP mm: don't split THP page when syscall is called arch/alpha/include/uapi/asm/mman.h | 2 + arch/arm/include/asm/pgtable-3level.h | 1 + arch/arm64/include/asm/pgtable.h | 1 + arch/mips/include/uapi/asm/mman.h | 2 + arch/parisc/include/uapi/asm/mman.h | 2 + arch/powerpc/include/asm/pgtable-ppc64.h | 2 + arch/sparc/include/asm/pgtable_64.h | 9 ++ arch/x86/include/asm/pgtable.h | 5 + arch/xtensa/include/uapi/asm/mman.h | 2 + include/linux/huge_mm.h | 3 + include/linux/rmap.h | 1 + include/linux/swap.h | 1 + include/linux/vm_event_item.h | 1 + include/uapi/asm-generic/mman-common.h | 1 + mm/huge_memory.c | 87 +++++++++++++- mm/ksm.c | 6 + mm/madvise.c | 199 +++++++++++++++++++++++++++++++ mm/rmap.c | 8 ++ mm/swap.c | 44 +++++++ mm/swap_state.c | 5 +- mm/vmscan.c | 10 +- mm/vmstat.c | 1 + 22 files changed, 383 insertions(+), 10 deletions(-) -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: Minchan Kim <minchan@kernel.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Michael Kerrisk <mtk.manpages@gmail.com>, linux-api@vger.kernel.org, Hugh Dickins <hughd@google.com>, Johannes Weiner <hannes@cmpxchg.org>, Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, Jason Evans <je@fb.com>, Daniel Micay <danielmicay@gmail.com>, "Kirill A. Shutemov" <kirill@shutemov.name>, Shaohua Li <shli@kernel.org>, Michal Hocko <mhocko@suse.cz>, yalin.wang2010@gmail.com, Andy Lutomirski <luto@amacapital.net>, Minchan Kim <minchan@kernel.org> Subject: [PATCH v5 00/12] MADV_FREE support Date: Mon, 30 Nov 2015 15:39:31 +0900 [thread overview] Message-ID: <1448865583-2446-1-git-send-email-minchan@kernel.org> (raw) In v4, Andrew wanted to settle in old basic MADV_FREE and introduces new stuffs(ie, lazyfree LRU, swapless support and lazyfreeness) later so this version doesn't include them. I have been tested it on mmotm-2015-11-25-17-08 with additional patch[1] from Kirill to prevent BUG_ON which he didn't send to linux-mm yet as formal patch. With it, I couldn't find any problem so far. Note that this version is based on THP refcount redesign so I needed some modification on MADV_FREE because split_huge_pmd doesn't split a THP page any more and pmd_trans_huge(pmd) is not enough to guarantee the page is not THP page. As well, for MAVD_FREE lazy-split, THP split should respect pmd's dirtiness rather than marking ptes of all subpages dirty unconditionally. Please, review last patch in this patchset. mm: don't split THP page when syscall is called [1] https://lkml.org/lkml/2015/11/17/134 git: git://git.kernel.org/pub/scm/linux/kernel/git/minchan/linux.git branch: mm/madv_free-v4.4-rc2-mmotm-2015-11-25-17-08-v5r2 In this stage, I don't think we need to write man page. It could be done after solid policy and implementation. * Change from v4 * drop lazyfree LRU * drop swapless support * drop lazyfreeness * rebase on recent mmotom with THP refcount redesign * Change from v3 * some bug fix * code refactoring * lazyfree reclaim logic change * reordering patch * Change from v2 * vm_lazyfreeness tuning knob * add new LRU list - Johannes, Shaohua * support swapless - Johannes * Change from v1 * Don't do unnecessary TLB flush - Shaohua * Added Acked-by - Hugh, Michal * Merge deactivate_page and deactivate_file_page * Add pmd_dirty/pmd_mkclean patches for several arches * Add lazy THP split patch * Drop zhangyanfei@cn.fujitsu.com - Delivery Failure Chen Gang (1): arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures Minchan Kim (11): mm: support madvise(MADV_FREE) mm: define MADV_FREE for some arches mm: free swp_entry in madvise_free mm: move lazily freed pages to inactive list mm: mark stable page dirty in KSM x86: add pmd_[dirty|mkclean] for THP sparc: add pmd_[dirty|mkclean] for THP powerpc: add pmd_[dirty|mkclean] for THP arm: add pmd_mkclean for THP arm64: add pmd_mkclean for THP mm: don't split THP page when syscall is called arch/alpha/include/uapi/asm/mman.h | 2 + arch/arm/include/asm/pgtable-3level.h | 1 + arch/arm64/include/asm/pgtable.h | 1 + arch/mips/include/uapi/asm/mman.h | 2 + arch/parisc/include/uapi/asm/mman.h | 2 + arch/powerpc/include/asm/pgtable-ppc64.h | 2 + arch/sparc/include/asm/pgtable_64.h | 9 ++ arch/x86/include/asm/pgtable.h | 5 + arch/xtensa/include/uapi/asm/mman.h | 2 + include/linux/huge_mm.h | 3 + include/linux/rmap.h | 1 + include/linux/swap.h | 1 + include/linux/vm_event_item.h | 1 + include/uapi/asm-generic/mman-common.h | 1 + mm/huge_memory.c | 87 +++++++++++++- mm/ksm.c | 6 + mm/madvise.c | 199 +++++++++++++++++++++++++++++++ mm/rmap.c | 8 ++ mm/swap.c | 44 +++++++ mm/swap_state.c | 5 +- mm/vmscan.c | 10 +- mm/vmstat.c | 1 + 22 files changed, 383 insertions(+), 10 deletions(-) -- 1.9.1 -- 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 reply other threads:[~2015-11-30 6:39 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-11-30 6:39 Minchan Kim [this message] 2015-11-30 6:39 ` [PATCH v5 00/12] MADV_FREE support Minchan Kim 2015-11-30 6:39 ` [PATCH v5 01/12] mm: support madvise(MADV_FREE) Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 8:20 ` Mika Penttilä 2015-11-30 8:20 ` Mika Penttilä 2015-11-30 8:20 ` Mika Penttilä 2015-11-30 9:22 ` Minchan Kim 2015-11-30 9:22 ` Minchan Kim 2015-11-30 9:22 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 02/12] mm: define MADV_FREE for some arches Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 03/12] arch: uapi: asm: mman.h: Let MADV_FREE have same value for all architectures Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 04/12] mm: free swp_entry in madvise_free Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 05/12] mm: move lazily freed pages to inactive list Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 06/12] mm: mark stable page dirty in KSM Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 07/12] x86: add pmd_[dirty|mkclean] for THP Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 08/12] sparc: " Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 09/12] powerpc: " Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 10/12] arm: add pmd_mkclean " Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 11/12] arm64: " Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2015-11-30 6:39 ` [PATCH v5 12/12] mm: don't split THP page when syscall is called Minchan Kim 2015-11-30 6:39 ` Minchan Kim 2016-01-28 7:16 ` [PATCH v5 00/12] MADV_FREE support Michael Kerrisk (man-pages) 2016-01-28 7:16 ` Michael Kerrisk (man-pages) 2016-01-29 7:32 ` Minchan Kim 2016-01-29 7:32 ` Minchan Kim 2016-01-29 7:32 ` Minchan Kim 2016-02-05 2:15 Minchan Kim 2016-02-05 2:15 ` Minchan Kim 2016-02-05 2:15 ` Minchan Kim 2016-02-06 13:32 ` Michael Kerrisk (man-pages) 2016-02-06 13:32 ` Michael Kerrisk (man-pages) 2016-02-06 13:32 ` Michael Kerrisk (man-pages) 2016-02-07 12:31 ` Minchan Kim 2016-02-07 12:31 ` Minchan Kim
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=1448865583-2446-1-git-send-email-minchan@kernel.org \ --to=minchan@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=danielmicay@gmail.com \ --cc=hannes@cmpxchg.org \ --cc=hughd@google.com \ --cc=je@fb.com \ --cc=kirill@shutemov.name \ --cc=kosaki.motohiro@jp.fujitsu.com \ --cc=linux-api@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=luto@amacapital.net \ --cc=mgorman@suse.de \ --cc=mhocko@suse.cz \ --cc=mtk.manpages@gmail.com \ --cc=riel@redhat.com \ --cc=shli@kernel.org \ --cc=yalin.wang2010@gmail.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: 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.