On Thu, Oct 14, 2021 at 06:56:51PM +0100, Joao Martins wrote:
quoted
And I would document this relationship in the GUP side "This do/while
is required because insert_pfn_pmd/pud() is used with compound pages
smaller than the PUD/PMD size" so it isn't so confused with just
"devmap"
Also, it's not that PMDs span compound heads, it's that PMDs/PUDs use
just base pages. Compound pages/head in devmap are only introduced by
series and for device-dax only.
I think it all makes sense, I just want to clarify what I mean by
compound_head:
compound_head(base_page) == base_page
Ie a PMD consisting only of order 0 pages would have N 'compound_heads'
within it even though nothing is a compound page.
Which is relavent because the GUP algorithms act on the compound_head
Jason