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.