The patch titled Subject: agp: efficeon: no need to set PG_reserved on GATT tables has been added to the -mm tree. Its filename is agp-efficeon-no-need-to-set-pg_reserved-on-gatt-tables.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/agp-efficeon-no-need-to-set-pg_reserved-on-gatt-tables.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/agp-efficeon-no-need-to-set-pg_reserved-on-gatt-tables.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: David Hildenbrand <david@xxxxxxxxxx> Subject: agp: efficeon: no need to set PG_reserved on GATT tables Patch series "mm: PG_reserved cleanups and documentation", v2. I was recently going over all users of PG_reserved. Short story: it is difficult and sometimes not really clear if setting/checking for PG_reserved is only a relict from the past. Easy to break things. I guess I now have a pretty good idea wh things are like that nowadays and how they evolved. I had way more cleanups in this series inititally, but some architectures take PG_reserved as a way to apply a different caching strategy (for MMIO pages). So I decided to only include the most obvious changes (that are less likely to break something). So the big chunk of manual SetPageReserved users are MMIO/DMA related things on device buffers. Most notably, for device memory we will hopefully soon stop setting PG_reserved. Then the documentation has to be updated. This patch (of 9): The l1 GATT page table is kept in a special on-chip page with 64 entries. We allocate the l2 page table pages via get_zeroed_page() and enter them into the table. These l2 pages are modified accordingly when inserting/removing memory via efficeon_insert_memory and efficeon_remove_memory. Apart from that, these pages are not exposed or ioremap'ed. We can stop setting them reserved (propably copied from generic code). Link: http://lkml.kernel.org/r/20190114125903.24845-2-david@xxxxxxxxxx Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/char/agp/efficeon-agp.c | 2 -- 1 file changed, 2 deletions(-) --- a/drivers/char/agp/efficeon-agp.c~agp-efficeon-no-need-to-set-pg_reserved-on-gatt-tables +++ a/drivers/char/agp/efficeon-agp.c @@ -163,7 +163,6 @@ static int efficeon_free_gatt_table(stru unsigned long page = efficeon_private.l1_table[index]; if (page) { efficeon_private.l1_table[index] = 0; - ClearPageReserved(virt_to_page((char *)page)); free_page(page); freed++; } @@ -219,7 +218,6 @@ static int efficeon_create_gatt_table(st efficeon_free_gatt_table(agp_bridge); return -ENOMEM; } - SetPageReserved(virt_to_page((char *)page)); for (offset = 0; offset < PAGE_SIZE; offset += clflush_chunk) clflush((char *)page+offset); _ Patches currently in -mm which might be from david@xxxxxxxxxx are mm-balloon-update-comment-about-isolation-migration-compaction.patch mm-convert-pg_balloon-to-pg_offline.patch kexec-export-pg_offline-to-vmcoreinfo.patch xen-balloon-mark-inflated-pages-pg_offline.patch hv_balloon-mark-inflated-pages-pg_offline.patch vmw_balloon-mark-inflated-pages-pg_offline.patch vmw_balloon-mark-inflated-pages-pg_offline-v2.patch pm-hibernate-use-pfn_to_online_page.patch pm-hibernate-exclude-all-pageoffline-pages.patch pm-hibernate-exclude-all-pageoffline-pages-v2.patch agp-efficeon-no-need-to-set-pg_reserved-on-gatt-tables.patch s390-vdso-dont-clear-pg_reserved.patch powerpc-vdso-dont-clear-pg_reserved.patch riscv-vdso-dont-clear-pg_reserved.patch m68k-mm-use-__clearpagereserved.patch arm64-kexec-no-need-to-clearpagereserved.patch arm64-kdump-no-need-to-mark-crashkernel-pages-manually-pg_reserved.patch ia64-perfmon-dont-mark-buffer-pages-as-pg_reserved.patch mm-better-document-pg_reserved.patch