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 ---