]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - kernel/memremap.c
Merge remote-tracking branch 'origin/master' into drm-misc-fixes
[linux.git] / kernel / memremap.c
index 1403cf16fa61b617c4df0a9256fec664de0f0635..6bcbfbf1a8fdfd2f1008cde707db9a798a68cdc6 100644 (file)
@@ -501,8 +501,8 @@ struct vmem_altmap *to_vmem_altmap(unsigned long memmap_start)
 #endif /* CONFIG_ZONE_DEVICE */
 
 
-#ifdef CONFIG_DEVICE_PRIVATE
-void put_zone_device_private_page(struct page *page)
+#if IS_ENABLED(CONFIG_DEVICE_PRIVATE) ||  IS_ENABLED(CONFIG_DEVICE_PUBLIC)
+void put_zone_device_private_or_public_page(struct page *page)
 {
        int count = page_ref_dec_return(page);
 
@@ -516,10 +516,11 @@ void put_zone_device_private_page(struct page *page)
                __ClearPageWaiters(page);
 
                page->mapping = NULL;
+               mem_cgroup_uncharge(page);
 
                page->pgmap->page_free(page, page->pgmap->data);
        } else if (!count)
                __put_page(page);
 }
-EXPORT_SYMBOL(put_zone_device_private_page);
-#endif /* CONFIG_DEVICE_PRIVATE */
+EXPORT_SYMBOL(put_zone_device_private_or_public_page);
+#endif /* CONFIG_DEVICE_PRIVATE || CONFIG_DEVICE_PUBLIC */