summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin
diff options
context:
space:
mode:
authorHuang Ying <ying.huang@linux.alibaba.com>2025-11-14 16:54:02 +0800
committerCatalin Marinas <catalin.marinas@arm.com>2025-11-19 16:01:48 +0000
commit79301c7d605a10efea35af08167e0a362d8dffb1 (patch)
tree65a20e117aeeb784946c5b3e6bee043a639aadfd /tools/perf/scripts/python/bin
parent3a8660878839faadb4f1a6dd72c3179c1df56787 (diff)
downloadkernel-79301c7d605a10efea35af08167e0a362d8dffb1.tar.gz
mm: add spurious fault fixing support for huge pmd
The page faults may be spurious because of the racy access to the page table. For example, a non-populated virtual page is accessed on 2 CPUs simultaneously, thus the page faults are triggered on both CPUs. However, it's possible that one CPU (say CPU A) cannot find the reason for the page fault if the other CPU (say CPU B) has changed the page table before the PTE is checked on CPU A. Most of the time, the spurious page faults can be ignored safely. However, if the page fault is for the write access, it's possible that a stale read-only TLB entry exists in the local CPU and needs to be flushed on some architectures. This is called the spurious page fault fixing. In the current kernel, there is spurious fault fixing support for pte, but not for huge pmd because no architectures need it. But in the next patch in the series, we will change the write protection fault handling logic on arm64, so that some stale huge pmd entries may remain in the TLB. These entries need to be flushed via the huge pmd spurious fault fixing mechanism. Signed-off-by: Huang Ying <ying.huang@linux.alibaba.com> Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Acked-by: David Hildenbrand <david@redhat.com> Acked-by: Zi Yan <ziy@nvidia.com> Cc: Will Deacon <will@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Baolin Wang <baolin.wang@linux.alibaba.com> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Yang Shi <yang@os.amperecomputing.com> Cc: Christoph Lameter (Ampere) <cl@gentwo.org> Cc: Dev Jain <dev.jain@arm.com> Cc: Barry Song <baohua@kernel.org> Cc: Anshuman Khandual <anshuman.khandual@arm.com> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Yin Fengwei <fengwei_yin@linux.alibaba.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions
id=7ac1b26b0a7288fc8f87aa8978891375f23740b2'>microblaze/mm/highmem: Switch to generic kmap atomicThomas Gleixner 2020-10-15Merge tag 'dma-mapping-5.10' of git://git.infradead.org/users/hch/dma-mappingLinus Torvalds 2020-10-13arch, drivers: replace for_each_membock() with for_each_mem_range()Mike Rapoport 2020-10-13mircoblaze: drop unneeded NUMA and sparsemem initializationsMike Rapoport 2020-10-06dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h>Christoph Hellwig 2020-10-06dma-mapping: merge <linux/dma-contiguous.h> into <linux/dma-map-ops.h>Christoph Hellwig 2020-08-31microblaze: fix min_low_pfn/max_low_pfn build errorsRandy Dunlap 2020-08-12mm/microblaze: use general page fault accountingPeter Xu 2020-08-12mm: do page fault accounting in handle_mm_faultPeter Xu 2020-08-07mm/sparse: cleanup the code surrounding memory_present()Mike Rapoport 2020-06-09mmap locking API: convert mmap_sem commentsMichel Lespinasse 2020-06-09mmap locking API: convert mmap_sem API commentsMichel Lespinasse 2020-06-09mmap locking API: use coccinelle to convert mmap_sem rwsem call sitesMichel Lespinasse 2020-06-09mm: pgtable: add shortcuts for accessing kernel PMD and PTEMike Rapoport 2020-06-09mm: reorder includes after introduction of linux/pgtable.hMike Rapoport 2020-06-09mm: introduce include/linux/pgtable.hMike Rapoport 2020-06-09mm: don't include asm/pgtable.h if linux/mm.h is already includedMike Rapoport 2020-06-04arch/kmap: ensure kmap_prot visibilityIra Weiny 2020-06-04arch/kunmap_atomic: consolidate duplicate codeIra Weiny 2020-06-04{x86,powerpc,microblaze}/kmap: move preempt disableIra Weiny 2020-06-03mm: use free_area_init() instead of free_area_init_nodes()Mike Rapoport 2020-04-04Merge tag 'dma-mapping-5.7' of git://git.infradead.org/users/hch/dma-mappingLinus Torvalds 2020-04-02mm: allow VM_FAULT_RETRY for multiple timesPeter Xu 2020-04-02mm: introduce FAULT_FLAG_DEFAULTPeter Xu