On Thu 17-05-18 13:06:54, Dan Williams wrote: > In preparation for fixing dax-dma-vs-unmap issues, filesystems need to > be able to rely on the fact that they will get wakeups on dev_pagemap > page-idle events. Introduce MEMORY_DEVICE_FS_DAX and > generic_dax_page_free() as common indicator / infrastructure for dax > filesytems to require. With this change there are no users of the > MEMORY_DEVICE_HOST designation, so remove it. > > The HMM sub-system extended dev_pagemap to arrange a callback when a > dev_pagemap managed page is freed. Since a dev_pagemap page is free / > idle when its reference count is 1 it requires an additional branch to > check the page-type at put_page() time. Given put_page() is a hot-path > we do not want to incur that check if HMM is not in use, so a static > branch is used to avoid that overhead when not necessary. > > Now, the FS_DAX implementation wants to reuse this mechanism for > receiving dev_pagemap ->page_free() callbacks. Rework the HMM-specific > static-key into a generic mechanism that either HMM or FS_DAX code paths > can enable. > > For ARCH=um builds, and any other arch that lacks ZONE_DEVICE support, > care must be taken to compile out the DEV_PAGEMAP_OPS infrastructure. > However, we still need to support FS_DAX in the FS_DAX_LIMITED case > implemented by the s390/dcssblk driver. > > Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> > Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Reported-by: kbuild test robot <lkp@xxxxxxxxx> > Reported-by: Thomas Meyer <thomas@xxxxxxxx> > Reported-by: Dave Jiang <dave.jiang@xxxxxxxxx> > Cc: Christoph Hellwig <hch@xxxxxx> > Cc: "Jérôme Glisse" <jglisse@xxxxxxxxxx> > Cc: Jan Kara <jack@xxxxxxx> > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Yeah, it looks simpler than original patches and it looks OK to me. You can add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR