flush.c (f10f1442c309ccef7a80ba3dc4abde0978e86fb4) | flush.c (47010c040dec8af6347ec6259104fc13f7e7e30a) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Based on arch/arm/mm/flush.c 4 * 5 * Copyright (C) 1995-2002 Russell King 6 * Copyright (C) 2012 ARM Ltd. 7 */ 8 --- 64 unchanged lines hidden (view full) --- 73 * it as dirty for later flushing when mapped in user space (if executable, 74 * see __sync_icache_dcache). 75 */ 76void flush_dcache_page(struct page *page) 77{ 78 /* 79 * Only the head page's flags of HugeTLB can be cleared since the tail 80 * vmemmap pages associated with each HugeTLB page are mapped with | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Based on arch/arm/mm/flush.c 4 * 5 * Copyright (C) 1995-2002 Russell King 6 * Copyright (C) 2012 ARM Ltd. 7 */ 8 --- 64 unchanged lines hidden (view full) --- 73 * it as dirty for later flushing when mapped in user space (if executable, 74 * see __sync_icache_dcache). 75 */ 76void flush_dcache_page(struct page *page) 77{ 78 /* 79 * Only the head page's flags of HugeTLB can be cleared since the tail 80 * vmemmap pages associated with each HugeTLB page are mapped with |
81 * read-only when CONFIG_HUGETLB_PAGE_FREE_VMEMMAP is enabled (more | 81 * read-only when CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP is enabled (more |
82 * details can refer to vmemmap_remap_pte()). Although 83 * __sync_icache_dcache() only set PG_dcache_clean flag on the head 84 * page struct, there is more than one page struct with PG_dcache_clean 85 * associated with the HugeTLB page since the head vmemmap page frame 86 * is reused (more details can refer to the comments above 87 * page_fixed_fake_head()). 88 */ 89 if (hugetlb_optimize_vmemmap_enabled() && PageHuge(page)) --- 27 unchanged lines hidden --- | 82 * details can refer to vmemmap_remap_pte()). Although 83 * __sync_icache_dcache() only set PG_dcache_clean flag on the head 84 * page struct, there is more than one page struct with PG_dcache_clean 85 * associated with the HugeTLB page since the head vmemmap page frame 86 * is reused (more details can refer to the comments above 87 * page_fixed_fake_head()). 88 */ 89 if (hugetlb_optimize_vmemmap_enabled() && PageHuge(page)) --- 27 unchanged lines hidden --- |