> -static inline bool page_is_devmap_managed(struct page *page)
> +bool __put_devmap_managed_page(struct page *page);
> +static inline bool put_devmap_managed_page(struct page *page)
>   {
>       if (!static_branch_unlikely(&devmap_managed_key))
>               return false;
>       if (!is_zone_device_page(page))
>               return false;
> -     switch (page->pgmap->type) {
> -     case MEMORY_DEVICE_PRIVATE:
> -     case MEMORY_DEVICE_FS_DAX:
> -             return true;
> -     default:
> -             break;
> -     }

nit:- how some variant of following to makes all cases evident
without having to look into memremap.h for other enum values ?

         switch (page->pgmap->type) {
         case MEMORY_DEVICE_PRIVATE:
         case MEMORY_DEVICE_FS_DAX:
                 return __put_devmap_managed_page(page);
         case MEMORY_DEVICE_GENERIC:
         case MEMORY_DEVICE_PCI_P2PDMA:
                 return false;
         default:
                 WARN_ON_ONCE(1);
                 return false;
         }


> -     return false;
> +     if (page->pgmap->type != MEMORY_DEVICE_PRIVATE &&
> +         page->pgmap->type != MEMORY_DEVICE_FS_DAX)
> +             return false;
> +     return __put_devmap_managed_page(page);

nit:- we are only returning true value from __put_devmap_managed_page()
in this patch. Perhaps make it __put_dev_map_managed_page()
return void and return true from above ?

or maybe someone can send a cleanup once this is merged.

>   }
>   

Irrespective of above comment(s), looks good.

Reviewed-by: Chaitanya Kulkarni <k...@nvidia.com>

Reply via email to