lkml.org 
[lkml]   [2018]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH -mm -v4 01/21] mm, THP, swap: Enable PMD swap operations for CONFIG_THP_SWAP
    Date
    Dan Williams <dan.j.williams@intel.com> writes:

    > On Thu, Jun 21, 2018 at 8:55 PM Huang, Ying <ying.huang@intel.com> wrote:
    >>
    >> From: Huang Ying <ying.huang@intel.com>
    >>
    >> Previously, the PMD swap operations are only enabled for
    >> CONFIG_ARCH_ENABLE_THP_MIGRATION. Because they are only used by the
    >> THP migration support. We will support PMD swap mapping to the huge
    >> swap cluster and swapin the THP as a whole. That will be enabled via
    >> CONFIG_THP_SWAP and needs these PMD swap operations. So enable the
    >> PMD swap operations for CONFIG_THP_SWAP too.
    >>
    >> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
    >> Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    >> Cc: Andrea Arcangeli <aarcange@redhat.com>
    >> Cc: Michal Hocko <mhocko@suse.com>
    >> Cc: Johannes Weiner <hannes@cmpxchg.org>
    >> Cc: Shaohua Li <shli@kernel.org>
    >> Cc: Hugh Dickins <hughd@google.com>
    >> Cc: Minchan Kim <minchan@kernel.org>
    >> Cc: Rik van Riel <riel@redhat.com>
    >> Cc: Dave Hansen <dave.hansen@linux.intel.com>
    >> Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    >> Cc: Zi Yan <zi.yan@cs.rutgers.edu>
    >> Cc: Daniel Jordan <daniel.m.jordan@oracle.com>
    >> ---
    >> arch/x86/include/asm/pgtable.h | 2 +-
    >> include/asm-generic/pgtable.h | 2 +-
    >> include/linux/swapops.h | 44 ++++++++++++++++++++++--------------------
    >> 3 files changed, 25 insertions(+), 23 deletions(-)
    >>
    >> diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
    >> index 99ecde23c3ec..13bf58838daf 100644
    >> --- a/arch/x86/include/asm/pgtable.h
    >> +++ b/arch/x86/include/asm/pgtable.h
    >> @@ -1224,7 +1224,7 @@ static inline pte_t pte_swp_clear_soft_dirty(pte_t pte)
    >> return pte_clear_flags(pte, _PAGE_SWP_SOFT_DIRTY);
    >> }
    >>
    >> -#ifdef CONFIG_ARCH_ENABLE_THP_MIGRATION
    >> +#if defined(CONFIG_ARCH_ENABLE_THP_MIGRATION) || defined(CONFIG_THP_SWAP)
    >
    > How about introducing a new config symbol representing the common
    > infrastructure between the two and have them select that symbol.

    The common infrastructure shared by two mechanisms is PMD swap entry.
    But I didn't find there are many places where the common infrastructure
    is used. So I think it may be over-engineering to introduce a new
    config symbol but use it for so few times.

    > Would that also allow us to clean up the usage of
    > CONFIG_ARCH_ENABLE_THP_MIGRATION in fs/proc/task_mmu.c? In other
    > words, what's the point of having nice ifdef'd alternatives in header
    > files when ifdefs are still showing up in C files, all of it should be
    > optionally determined by header files.

    Unfortunately, I think it is not a easy task to wrap all C code via
    #ifdef in header files. And it may be over-engineering to wrap them
    all. I guess this is why there are still some #ifdef in C files.

    Best Regards,
    Huang, Ying

    \
     
     \ /
      Last update: 2018-07-09 07:41    [W:4.236 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site