linux/arch/mips/mm
Bibo Mao aba677f94b MIPS: do not call flush_tlb_all when setting pmd entry
Function set_pmd_at is to set pmd entry, if tlb entry need to be flushed,
there exists pmdp_huge_clear_flush alike function before set_pmd_at is
called.  So it is not necessary to call flush_tlb_all in this function.

In these scenarios, tlb for the pmd range needs to be flushed:

 - privilege degrade such as wrprotect is set on the pmd entry

 - pmd entry is cleared

 - there is exception if set_pmd_at is issued by dup_mmap, since
   flush_tlb_mm is called for parent process, it is not necessary to
   flush tlb in function copy_huge_pmd.

Link: http://lkml.kernel.org/r/1592990792-1923-3-git-send-email-maobibo@loongson.cn
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Daniel Silsby <dansilsby@gmail.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-02-24 13:38:32 -08:00
..
c-octeon.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
c-r3k.c mm: pgtable: add shortcuts for accessing kernel PMD and PTE 2020-06-09 09:39:13 -07:00
c-r4k.c driver core: lift dma_default_coherent into common code 2021-02-13 09:51:45 +01:00
c-tx39.c mm: pgtable: add shortcuts for accessing kernel PMD and PTE 2020-06-09 09:39:13 -07:00
cache.c MIPS: mm:remove function __uncached_access() 2021-01-27 21:52:01 +01:00
cerr-sb1.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
cex-gen.S
cex-oct.S
cex-sb1.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
context.c MIPS: Export mm switching functions used by KVM 2019-02-05 11:44:44 -08:00
dma-noncoherent.c MIPS: remove CONFIG_DMA_PERDEV_COHERENT 2021-02-13 09:51:46 +01:00
extable.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
fault.c MIPS: mm: abort uaccess retries upon fatal signal 2021-01-22 11:34:19 +01:00
highmem.c mips/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:56 +01:00
hugetlbpage.c MIPS: mm: Remove unused is_aligned_hugepage_range 2020-11-27 10:53:32 +01:00
init.c MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
ioremap64.c MIPS: move ioremap_prot und iounmap out of line 2020-04-19 16:12:31 +02:00
ioremap.c MIPS: use ioremap_page_range 2020-04-19 16:13:18 +02:00
Makefile MIPS: move ioremap_prot und iounmap out of line 2020-04-19 16:12:31 +02:00
mmap.c mips: use generic mmap top-down layout and brk randomization 2019-09-24 15:54:12 -07:00
page-funcs.S MIPS: Export {copy, clear}_page functions alongside their definitions 2017-01-03 16:48:39 +01:00
page.c MIPS: Convert R4600_V2_HIT_CACHEOP into a config option 2020-09-07 22:23:48 +02:00
pgtable-32.c MIPS: do not call flush_tlb_all when setting pmd entry 2021-02-24 13:38:32 -08:00
pgtable-64.c MIPS: do not call flush_tlb_all when setting pmd entry 2021-02-24 13:38:32 -08:00
pgtable.c MIPS: Move pgd_alloc() out of header 2017-02-02 15:06:26 +00:00
sc-debugfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sc-ip22.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
sc-mips.c mips: fix Section mismatch in reference 2020-12-14 16:39:42 +01:00
sc-r5k.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
sc-rm7k.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tlb-funcs.S MIPS: Consistently declare TLB functions 2018-08-10 17:27:53 -07:00
tlb-r3k.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
tlb-r4k.c MIPS: export has_transparent_hugepage() for modules 2020-10-27 12:44:34 +01:00
tlbex-fault.S MIPS: Add DWARF unwinding to assembly 2017-09-06 11:01:52 +02:00
tlbex.c Revert "MIPS: Remove unused R4300 CPU support" 2021-01-22 11:39:45 +01:00
uasm-micromips.c mips: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_X 2018-12-07 13:30:48 -08:00
uasm-mips.c MIPS: uasm: Add div, mul and sel instructions for mipsr6 2019-03-19 15:26:06 -07:00
uasm.c MIPS: Get rid of CAVIUM_OCTEON_DCACHE_PREFETCH_WAR 2020-09-07 22:25:16 +02:00