Re: [PATCH v3 04/18] selftests/mm: skip khugepaged page cache cases without a PMD folio

Mike Rapoport <[email protected]>
Newsgroups org.kvack.linux-mm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest
Message-ID <178663341429.2230969.14030646208213550752.b4-review@b4>
> The page cache caps folio order at MAX_PAGECACHE_ORDER, which sits below
> the PMD order where a PMD is 512M -- arm64 with 64K base pages.  A

"which is smaller than PMD order on arm64 with 64K pages" reads less
ornately ;-)

> PMD-sized page cache folio is then impossible, so MADV_COLLAPSE answers
> -EINVAL and khugepaged passes over the range.  The shmem cases ask for one
> anyway, so four of them fail and the run bails out in the middle.

shmem asks for one who? 

> The cap is one global, so it rules out every file mapping, not just shmem:
> shmem_huge_global_enabled() drops the PMD order from what it allows, and
> file_thp_enabled() refuses a regular file whose mapping cannot hold a PMD
> folio.

I had hard time parsing it beyound "the cap is global".

> Skip both mem types when the PMD order has no per-order
> shmem_enabled control, which is the readable form of the cap: that control
> is created for the orders in THP_ORDERS_ALL_FILE_DEFAULT.  A run left with
> nothing to collapse into skips outright.

This should be a paragraph on its own IMHO.

-- 
Sincerely yours,
Mike.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.