On Wed, Mar 9, 2022 at 4:26 PM Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > On Wed, Mar 2, 2022 at 12:29 AM Muchun Song <songmuchun@xxxxxxxxxxxxx> wrote: > > > > The page_mkclean_one() is supposed to be used with the pfn that has a > > associated struct page, but not all the pfns (e.g. DAX) have a struct > > page. Introduce a new function pfn_mkclean_range() to cleans the PTEs > > (including PMDs) mapped with range of pfns which has no struct page > > associated with them. This helper will be used by DAX device in the > > next patch to make pfns clean. > > This seems unfortunate given the desire to kill off > CONFIG_FS_DAX_LIMITED which is the only way to get DAX without 'struct > page'. > > I would special case these helpers behind CONFIG_FS_DAX_LIMITED such > that they can be deleted when that support is finally removed. ...unless this support is to be used for other PFN_MAP scenarios where a 'struct page' is not available? If so then the "(e.g. DAX)" should be clarified to those other cases.