diff options
author | Muchun Song <[email protected]> | 2022-03-02 16:46:23 +0800 |
---|---|---|
committer | Will Deacon <[email protected]> | 2022-03-07 21:42:34 +0000 |
commit | cf5a501d985ba1b6ace9b18c64346441819bffea (patch) | |
tree | 4f84cb5f55ce3e360e0567d879277404ec997220 /net/lapb/lapb_subr.c | |
parent | 2369f171d5c5550b85ce96fd35d4438cf2e6b09e (diff) |
arm64: avoid flushing icache multiple times on contiguous HugeTLB
When a contiguous HugeTLB page is mapped, set_pte_at() will be called
CONT_PTES/CONT_PMDS times. Therefore, __sync_icache_dcache() will
flush cache multiple times if the page is executable (to ensure
the I-D cache coherency). However, the first flushing cache already
covers subsequent cache flush operations. So only flusing cache
for the head page if it is a HugeTLB page to avoid redundant cache
flushing. In the next patch, it is also depends on this change
since the tail vmemmap pages of HugeTLB is mapped with read-only
meanning only head page struct can be modified.
Signed-off-by: Muchun Song <[email protected]>
Reviewed-by: Catalin Marinas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'net/lapb/lapb_subr.c')
0 files changed, 0 insertions, 0 deletions