On Thu, Nov 12, 2020 at 8:47 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > When I started working on using larger pages in the page cache, I was > thinking about calling them large pages or lpages. As I worked my way > through the code, I switched to simply adopting the transparent huge > page terminology that is used by anonymous and shmem. I just changed > the definition so that a thp is a page of arbitrary order. > > But now I'm wondering if that expediency has brought me to the right > place. To enable THP, you have to select CONFIG_TRANSPARENT_HUGEPAGE, > which is only available on architectures which support using larger TLB > entries to map PMD-sized pages. Fair enough, since that was the original > definition, but the point of suppoting larger page sizes in the page > cache is to reduce software overhead. Why shouldn't Alpha or m68k use > large pages in the page cache, even if they can't use them in their TLBs? Yes, I strongly agree with this new position. While I understood your desire to avoid all the confusions of yet another config option, it always seemed a wrong direction to require THugeP support for your not-necessarily-huge TLargePs. Most of the subtlety and significance of traditional THPs lies with the page table mappings thereof; whereas your TLPs or whatever are aiming for I/O and page cache efficiencies: very useful, but a mistake to muddle it with the page table issues. Hugh