lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH v2 04/28] fs: Rename AS_THP_SUPPORT and mapping_thp_support
    On Tue, Nov 09, 2021 at 12:41:19AM -0800, Christoph Hellwig wrote:
    > On Mon, Nov 08, 2021 at 04:05:27AM +0000, Matthew Wilcox (Oracle) wrote:
    > > These are now indicators of multi-page folio support, not THP support.
    >
    > Given that we don't use the large foltio term anywhere else this really
    > needs to grow a comment explaining what the flag means.

    I think I prefer the term 'large' to 'multi'. What would you think to
    this patch (not on top of any particular branch; just to show the scope
    of it ...)

    +++ b/include/linux/page-flags.h
    @@ -692,7 +692,7 @@ static inline bool folio_test_single(struct folio *folio)
    return !folio_test_head(folio);
    }

    -static inline bool folio_test_multi(struct folio *folio)
    +static inline bool folio_test_large(struct folio *folio)
    {
    return folio_test_head(folio);
    }
    +++ b/mm/filemap.c
    @@ -192,9 +192,9 @@ static void filemap_unaccount_folio(struct address_space *mapping,
    __lruvec_stat_mod_folio(folio, NR_FILE_PAGES, -nr);
    if (folio_test_swapbacked(folio)) {
    __lruvec_stat_mod_folio(folio, NR_SHMEM, -nr);
    - if (folio_test_multi(folio))
    + if (folio_test_large(folio))
    __lruvec_stat_mod_folio(folio, NR_SHMEM_THPS, -nr);
    - } else if (folio_test_multi(folio)) {
    + } else if (folio_test_large(folio)) {
    __lruvec_stat_mod_folio(folio, NR_FILE_THPS, -nr);
    filemap_nr_thps_dec(mapping);
    }
    @@ -236,7 +236,7 @@ void filemap_free_folio(struct address_space *mapping, struct folio *folio)
    if (freepage)
    freepage(&folio->page);

    - if (folio_test_multi(folio) && !folio_test_hugetlb(folio)) {
    + if (folio_test_large(folio) && !folio_test_hugetlb(folio)) {
    folio_ref_sub(folio, folio_nr_pages(folio));
    VM_BUG_ON_FOLIO(folio_ref_count(folio) <= 0, folio);
    } else {
    +++ b/mm/memcontrol.c
    @@ -5558,7 +5558,7 @@ static int mem_cgroup_move_account(struct page *page,

    VM_BUG_ON(from == to);
    VM_BUG_ON_FOLIO(folio_test_lru(folio), folio);
    - VM_BUG_ON(compound && !folio_test_multi(folio));
    + VM_BUG_ON(compound && !folio_test_large(folio));

    /*
    * Prevent mem_cgroup_migrate() from looking at
    \
     
     \ /
      Last update: 2021-11-15 17:04    [W:2.220 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site