aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/tlb.c
AgeCommit message (Expand)AuthorFilesLines
2025-11-12x86: Restrict KVM-induced symbol exports to KVM modules where obvious/possiblex86_misc_for_6.19-rc1x86/miscSean Christopherson1-2/+3
2025-10-13x86/mm: Fix SMP ordering in switch_mm_irqs_off()Ingo Molnar1-2/+22
2025-05-13Merge branch 'x86/msr' into x86/core, to resolve conflictsIngo Molnar1-1/+2
2025-05-13Merge branch 'x86/mm' into x86/core, to resolve conflictsIngo Molnar1-29/+34
2025-05-13Merge branch 'x86/alternatives' into x86/core, to merge dependent commitsIngo Molnar1-9/+73
2025-05-09x86/mm: Eliminate window where TLB flushes may be inadvertently skippedDave Hansen1-3/+19
2025-05-06x86/mm: Fix false positive warning in switch_mm_irqs_off()Peter Zijlstra1-1/+2
2025-05-02x86/msr: Add explicit includes of <asm/msr.h>Xin Li (Intel)1-0/+1
2025-05-02Merge tag 'v6.15-rc4' into x86/msr, to pick up fixes and resolve conflictsIngo Molnar1-3/+3
2025-04-18x86/mm: Fix {,un}use_temporary_mm() IRQ statePeter Zijlstra1-0/+2
2025-04-17x86/mm: Remove the mm_cpumask(prev) warning from switch_mm_irqs_off()Peter Zijlstra1-8/+0
2025-04-12x86/mm: Allow temporary MMs when IRQs are onAndy Lutomirski1-7/+12
2025-04-12x86/mm: Remove 'mm' argument from unuse_temporary_mm() againPeter Zijlstra1-4/+4
2025-04-12x86/mm: Make use_/unuse_temporary_mm() non-staticAndy Lutomirski1-0/+64
2025-04-10x86/msr: Rename 'wrmsrl()' to 'wrmsrq()'Ingo Molnar1-1/+1
2025-04-09x86/bugs: Don't fill RSB on context switch with eIBRSJosh Poimboeuf1-3/+3
2025-04-03x86/tlb: Simplify choose_new_asid() and generate better codeBorislav Petkov (AMD)1-29/+34
2025-03-25Merge tag 'x86_bugs_for_v6.15' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-2/+1
2025-03-19x86/mm: Only do broadcast flush from reclaim if pages were unmappedRik van Riel1-1/+2
2025-03-19x86/mm: Enable broadcast TLB invalidation for multi-threaded processesRik van Riel1-1/+103
2025-03-19x86/mm: Handle global ASID context switch and TLB flushRik van Riel1-7/+70
2025-03-19x86/mm: Add global ASID allocation helper functionsRik van Riel1-3/+151
2025-03-19x86/mm: Use broadcast TLB flushing in page reclaimRik van Riel1-1/+3
2025-03-19x86/mm: Use INVLPGB for kernel TLB flushesRik van Riel1-4/+44
2025-03-19x86/mm: Consolidate full flush threshold decisionRik van Riel1-22/+19
2025-02-27x86/mm: Remove X86_FEATURE_USE_IBPB checks in cond_mitigation()Yosry Ahmed1-4/+2
2025-02-27x86/bugs: Move the X86_FEATURE_USE_IBPB check into callersYosry Ahmed1-3/+4
2025-02-05x86: Compare physical instead of virtual PGD addressesMaciej Wieczor-Retman1-1/+1
2024-12-20Merge branch 'linus' into x86/mm, to pick up fixesIngo Molnar1-1/+2
2024-12-06x86/mm/tlb: Only trim the mm_cpumask once a secondRik van Riel1-3/+32
2024-12-06x86/mm/tlb: Also remove local CPU from mm_cpumask if staleRik van Riel1-6/+6
2024-11-25x86/mm: Carve out INVLPG inline asm for use by othersBorislav Petkov (AMD)1-1/+2
2024-11-19x86/mm/tlb: Add tracepoint for TLB flush IPI to stale CPURik van Riel1-0/+1
2024-11-19x86/mm/tlb: Update mm_cpumask lazilyRik van Riel1-10/+9
2024-11-13x86/mm/tlb: Put cpumask_test_cpu() check in switch_mm_irqs_off() under CONFIG...x86-mm-2024-11-18Rik van Riel1-1/+1
2024-08-14x86/mm: Remove duplicate check from build_cr3()Yuntao Wang1-1/+0
2024-08-10x86/mm: Remove unused CR3_HW_ASID_BITSYosry Ahmed1-3/+0
2024-07-02x86/mm: Fix LAM inconsistency during context switchYosry Ahmed1-3/+5
2024-07-02x86/mm: Use IPIs to synchronize LAM enablementYosry Ahmed1-4/+3
2024-03-14Merge tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-21/+18
2024-03-04x86/mm: always pass NULL as the first argument of switch_mm_irqs_off()Yosry Ahmed1-1/+1
2024-03-04x86/mm: further clarify switch_mm_irqs_off() documentationYosry Ahmed1-4/+4
2024-02-22x86/mm: clarify "prev" usage in switch_mm_irqs_off()Yosry Ahmed1-19/+16
2024-02-22x86/mm: delete unused cpu argument to leave_mm()Yosry Ahmed1-1/+1
2024-01-10x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_...Breno Leitao1-5/+5
2024-01-03arch/x86: Fix typosx86-cleanups-2024-01-08Bjorn Helgaas1-1/+1
2023-08-30Merge tag 'x86_mm_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-6/+13
2023-08-18mmu_notifiers: rename invalidate_range notifierAlistair Popple1-1/+1
2023-08-18mmu_notifiers: call invalidate_range() when invalidating TLBsAlistair Popple1-0/+2
2023-08-03x86/mm: Remove "INVPCID single" feature trackingx86_mm_for_6.6-rc1Dave Hansen1-6/+13
2023-04-28Merge tag 'x86_mm_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/t...Linus Torvalds1-16/+37
2023-03-30docs: move x86 documentation into Documentation/arch/Jonathan Corbet1-1/+1
2023-03-16x86/mm: Handle LAM on context switchKirill A. Shutemov1-16/+37
2023-01-25x86/cpu: Use cpu_feature_enabled() when checking global pages supportx86-mm-2023-02-20Borislav Petkov (AMD)1-1/+1
2022-07-19x86/mm/tlb: Ignore f->new_tlb_gen when zerox86_mm_for_v6.0_rc1Nadav Amit1-3/+12
2022-06-07x86/mm/tlb: Avoid reading mm_tlb_gen when possibleNadav Amit1-1/+17
2022-04-04x86/mm/tlb: Revert retpoline avoidance approachDave Hansen1-32/+5
2022-03-10task_work: Remove unnecessary include from posix_timers.hEric W. Biederman1-0/+1
2022-01-10Merge tag 'core_entry_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-1/+1
2021-12-06x86/mm/64: Flush global TLB on boot and AP bringupJoerg Roedel1-6/+2
2021-12-01x86: Snapshot thread flagsMark Rutland1-1/+1
2021-07-28x86/mm: Prepare for opt-in based L1D flush in switch_mm()Balbir Singh1-2/+56
2021-07-28x86/mm: Refactor cond_ibpb() to support other use casesBalbir Singh1-24/+29
2021-06-17perf/x86: Reset the dirty counter to prevent the leak for an RDPMC taskKan Liang1-2/+8
2021-04-29Merge tag 'x86-mm-2021-04-29' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-71/+105
2021-03-18x86: Fix various typos in commentsIngo Molnar1-3/+3
2021-03-06x86/mm/tlb: Remove unnecessary uses of the inline keywordNadav Amit1-3/+3
2021-03-06x86/mm/tlb: Do not make is_lazy dirty for no reasonNadav Amit1-1/+2
2021-03-06x86/mm/tlb: Privatize cpu_tlbstateNadav Amit1-7/+10
2021-03-06x86/mm/tlb: Flush remote and local TLBs concurrentlyNadav Amit1-17/+29
2021-03-06x86/mm/tlb: Open-code on_each_cpu_cond_mask() for tlb_is_not_lazy()Nadav Amit1-5/+32
2021-03-06x86/mm/tlb: Unify flush_tlb_func_local() and flush_tlb_func_remote()Nadav Amit1-45/+36
2020-12-09x86/membarrier: Get rid of a dubious optimizationAndy Lutomirski1-2/+8
2020-10-07x86/platform/uv: Remove UV BAU TLB Shootdown HandlerMike Travis1-24/+0
2020-08-26cpuidle: Make CPUIDLE_FLAG_TLB_FLUSHED genericPeter Zijlstra1-11/+2
2020-06-05Merge tag 'x86-mm-2020-06-05' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-6/+378
2020-06-02x86/mm: remove vmalloc faultingJoerg Roedel1-37/+0
2020-04-26x86/tlb: Move PCID helpers where they are usedThomas Gleixner1-0/+120
2020-04-26x86/tlb: Uninline nmi_uaccess_okay()Thomas Gleixner1-0/+32
2020-04-26x86/tlb: Move __flush_tlb_all() out of lineThomas Gleixner1-7/+22
2020-04-26x86/tlb: Move flush_tlb_others() out of lineThomas Gleixner1-2/+9
2020-04-26x86/tlb: Move __flush_tlb_one_kernel() out of lineThomas Gleixner1-1/+33
2020-04-26x86/tlb: Move __flush_tlb_one_user() out of lineThomas Gleixner1-1/+55
2020-04-26x86/tlb: Move __flush_tlb_global() out of lineThomas Gleixner1-0/+41
2020-04-26x86/tlb: Move __flush_tlb() out of lineThomas Gleixner1-1/+32
2020-04-24x86/cr4: Sanitize CR4.PCE updateThomas Gleixner1-1/+21
2020-04-24x86/tlb: Uninline __get_current_cr3_fast()Thomas Gleixner1-0/+20
2020-01-24smp: Remove allocation mask from on_each_cpu_cond.*()smp-core-2020-01-28Sebastian Andrzej Siewior1-1/+1
2019-07-24x86/mm: Avoid redundant interrupt disable in load_mm_cr4()Jan Kiszka1-1/+1
2019-06-14Merge tag 'v5.2-rc4' into mauroJonathan Corbet1-0/+1
2019-06-08docs: fix broken documentation linksMauro Carvalho Chehab1-1/+1
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-04-26x86/mm/tlb: Remove 'struct flush_tlb_info' from the stackNadav Amit1-34/+82
2019-04-16x86/mm/tlb: Revert "x86/mm: Align TLB invalidation info"Peter Zijlstra1-1/+1
2019-01-29x86/mm/tlb: Remove unused cpu variableShaokun Zhang1-3/+0
2018-12-17x86/mm/cpa: Optimize cpa_flush_array() TLB invalidationPeter Zijlstra1-1/+3
2018-11-28x86/speculation: Prepare for conditional IBPB in switch_mm()Thomas Gleixner1-29/+86
2018-10-23Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-11/+20
2018-10-09x86/mm/tlb: Make lazy TLB mode lazierRik van Riel1-9/+58
2018-10-09x86/mm/tlb: Add freed_tables element to flush_tlb_infoRik van Riel1-0/+1
2018-10-09x86/mm/tlb: Add freed_tables argument to flush_tlb_mm_rangeRik van Riel1-1/+2
2018-10-09x86/mm/tlb: Restructure switch_mm_irqs_off()Rik van Riel1-33/+33
2018-10-09x86/mm/tlb: Always use lazy TLB modeRik van Riel1-14/+1
2018-10-09x86/mm: Page size aware flush_tlb_mm_range()Peter Zijlstra1-9/+8
2018-09-26x86/speculation: Apply IBPB more strictly to avoid cross-process data leakJiri Kosina1-11/+20
2018-08-31x86/nmi: Fix NMI uaccess race against CR3 switchingAndy Lutomirski1-0/+7
2018-08-22x86/mm/tlb: Revert the recent lazy TLB patchesPeter Zijlstra1-152/+53
2018-07-24x86/mm/tlb: Make clear_asid_other() staticzhong jiang1-1/+1
2018-07-17x86/mm/tlb: Skip atomic operations for 'init_mm' in switch_mm_irqs_off()Rik van Riel1-5/+12
2018-07-17x86/mm/tlb: Always use lazy TLB modeRik van Riel1-14/+1
2018-07-17x86/mm/tlb: Only send page table free TLB flush to lazy TLB CPUsRik van Riel1-4/+39
2018-07-17x86/mm/tlb: Make lazy TLB mode lazierRik van Riel1-9/+59
2018-07-17x86/mm/tlb: Restructure switch_mm_irqs_off()Rik van Riel1-30/+30
2018-07-17x86/mm/tlb: Leave lazy TLB mode at page table free timeRik van Riel1-0/+27
2018-05-19x86/mm: Stop pretending pgtable_l5_enabled is a variableKirill A. Shutemov1-1/+1
2018-02-26Merge tag 'v4.16-rc3' into x86/mm, to pick up fixesIngo Molnar1-3/+3
2018-02-16x86/mm: Replace compile-time checks for 5-level paging with runtime-time checksKirill A. Shutemov1-1/+1
2018-02-14Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-3/+3
2018-02-15x86/mm: Rename flush_tlb_single() and flush_tlb_one() to __flush_tlb_one_[use...Andy Lutomirski1-3/+3
2018-02-13x86/mm: Align TLB invalidation infoNadav Amit1-1/+1
2018-02-06Merge branch 'linus' into sched/urgent, to resolve conflictsIngo Molnar1-1/+32
2018-02-05membarrier/x86: Provide core serializing commandMathieu Desnoyers1-3/+4
2018-02-05membarrier: Document scheduler barrier requirementsMathieu Desnoyers1-0/+5
2018-01-30x86/speculation: Use Indirect Branch Prediction Barrier in context switchTim Chen1-1/+32
2018-01-26x86/mm/64: Fix vmapped stack syncing on very-large-memory 4-level systemsAndy Lutomirski1-5/+29
2017-12-23x86/mm: Use/Fix PCID to optimize user/kernel switchesPeter Zijlstra1-0/+1
2017-12-23x86/mm: Abstract switching CR3Dave Hansen1-2/+20
2017-12-23x86/mm: Allow flushing for future ASID switchesDave Hansen1-0/+35
2017-12-22x86/mm: Move the CR3 construction functions to tlbflush.hDave Hansen1-4/+4
2017-12-22x86/mm: Use __flush_tlb_one() for kernel memoryPeter Zijlstra1-1/+1
2017-11-04Revert "x86/mm: Stop calling leave_mm() in idle code"Andy Lutomirski1-3/+14
2017-10-18x86/mm: Remove debug/x86/tlb_defer_switch_to_init_mmAndy Lutomirski1-58/+0
2017-10-18x86/mm: Tidy up "x86/mm: Flush more aggressively in lazy TLB mode"Andy Lutomirski1-12/+18
2017-10-18x86/mm/64: Remove the last VM_BUG_ON() from the TLB codeAndy Lutomirski1-2/+2
2017-10-14x86/mm: Flush more aggressively in lazy TLB modeAndy Lutomirski1-42/+111
2017-09-29x86/asm: Use register variable to get stack pointer valueAndrey Ryabinin1-1/+1
2017-09-17x86/mm: Factor out CR3-building codeAndy Lutomirski1-6/+5
2017-09-13x86/mm: Get rid of VM_BUG_ON in switch_tlb_irqs_off()Andy Lutomirski1-1/+21
2017-09-10x86/mm/64: Fix an incorrect warning with CONFIG_DEBUG_VM=y, !PCIDAndy Lutomirski1-1/+1
2017-09-06x86/mm: Reinitialize TLB state on hotplug and resumeAndy Lutomirski1-0/+44
2017-07-25x86/mm: Implement PCID based optimization: try to preserve old TLB entries us...Andy Lutomirski1-16/+64
2017-07-18x86/mm: Provide general kernel support for memory encryptionTom Lendacky1-2/+2
2017-07-05x86/mm: Stop calling leave_mm() in idle codeAndy Lutomirski1-17/+3
2017-07-05x86/mm: Rework lazy TLB mode and TLB freshness trackingAndy Lutomirski1-79/+118
2017-07-05x86/mm: Track the TLB's tlb_gen and update the flushing algorithmAndy Lutomirski1-7/+95
2017-07-05x86/mm: Give each mm TLB flush generation a unique IDAndy Lutomirski1-2/+4
2017-06-30x86/mm: Delete a big outdated comment about TLB flushingAndy Lutomirski1-36/+0
2017-06-30x86/mm: Don't reenter flush_tlb_func_common()Andy Lutomirski1-2/+15
2017-06-22x86/ldt: Simplify the LDT switching logicAndy Lutomirski1-18/+2
2017-06-05x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush codeAndy Lutomirski1-3/+2
2017-06-05x86/mm: Rework lazy TLB to track the actual loaded mmAndy Lutomirski1-108/+108
2017-06-05x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP codeAndy Lutomirski1-15/+2
2017-06-05x86/mm: Use new merged flush logic in arch_tlbbatch_flush()Andy Lutomirski1-6/+2
2017-06-05x86/mm: Refactor flush_tlb_mm_range() to merge local and remote casesAndy Lutomirski1-65/+48
2017-06-05x86/mm: Change the leave_mm() condition for local TLB flushesAndy Lutomirski1-1/+1
2017-06-05x86/mm: Pass flush_tlb_info to flush_tlb_others() etcAndy Lutomirski1-32/+32
2017-05-24mm, x86/mm: Make the batched unmap TLB flush API more genericAndy Lutomirski1-0/+17
2017-05-24x86/mm: Reduce indentation in flush_tlb_func()Andy Lutomirski1-16/+18
2017-05-24x86/mm: Reimplement flush_tlb_page() using flush_tlb_mm_range()Andy Lutomirski1-27/+0
2017-04-26x86/mm: Fix flush_tlb_page() on XenAndy Lutomirski1-3/+1
2017-04-26x86/mm: Make flush_tlb_mm_range() more predictableAndy Lutomirski1-5/+7
2017-04-26x86/mm: Remove flush_tlb() and flush_tlb_current_task()Andy Lutomirski1-17/+0
2016-08-24x86/mm/64: Enable vmapped stacks (CONFIG_HAVE_ARCH_VMAP_STACK=y)Andy Lutomirski1-0/+15
2016-07-14x86/mm: Audit and remove any unnecessary uses of module.hPaul Gortmaker1-1/+1
2016-04-28x86/mm, sched/core: Turn off IRQs in switch_mm()Andy Lutomirski1-0/+10
2016-04-28x86/mm, sched/core: Uninline switch_mm()Andy Lutomirski1-0/+102
2016-04-28x86/mm: Build arch/x86/mm/tlb.c even on !SMPAndy Lutomirski1-0/+4
2016-04-01mm/rmap: batched invalidations should use existing apiNadav Amit1-1/+1
2016-04-01x86/mm: TLB_REMOTE_SEND_IPI should count pagesNadav Amit1-3/+9
2016-01-11x86/mm: Add barriers and document switch_mm()-vs-flush synchronizationAndy Lutomirski1-3/+26
2015-09-04x86, mm: trace when an IPI is about to be sentMel Gorman1-0/+1
2015-07-21x86/mm: Add parenthesis for TLB tracepoint size calculationDave Hansen1-1/+1
2015-02-04x86: Store a per-cpu shadow copy of CR4Andy Lutomirski1-3/+0
2014-08-10x86/mm: Fix sparse 'tlb_single_page_flush_ceiling' warning and make the varia...Jeremiah Mahler1-1/+1
2014-08-08x86/mm: Fix RCU splat from new TLB tracepointsDave Hansen1-1/+7
2014-07-31x86/mm: Set TLB flush tunable to sane value (33)Dave Hansen1-2/+11
2014-07-31x86/mm: New tunable for single vs full TLB flushDave Hansen1-0/+46
2014-07-31x86/mm: Add tracepoints for TLB flushesDave Hansen1-2/+9
2014-07-31x86/mm: Unify remote INVLPG codeDave Hansen1-2/+2
2014-07-31x86/mm: Fix missed global TLB flush statDave Hansen1-8/+7
2014-07-31x86/mm: Rip out complicated, out-of-date, buggy TLB flushingDave Hansen1-76/+11
2014-07-31x86/mm: Clean up the TLB flushing codeDave Hansen1-12/+11
2014-01-25x86/mm: Eliminate redundant page table walk during TLB range flushingMel Gorman1-27/+1
2014-01-25x86/mm: Clean up inconsistencies when flushing TLB rangesMel Gorman1-6/+6
2014-01-25mm, x86: Account for TLB flushes only when debuggingMel Gorman1-7/+7
2013-09-11mm: vmstats: track TLB flush stats on UP tooDave Hansen1-3/+1
2013-09-11mm: vmstats: tlb flush countersDave Hansen1-4/+14
2013-01-24x86: Convert a few mistaken __cpuinit annotations to __initJan Beulich1-1/+1
2012-11-29x86, 386 removal: Remove CONFIG_INVLPGH. Peter Anvin1-5/+3
2012-11-14x86, mm: Correct vmflag test for checking VM_HUGETLBJoonsoo Kim1-1/+1
2012-09-27x86: Distinguish TLB shootdown interrupts from other functions call interruptsTomoki Sekiyama1-0/+2
2012-09-07x86/mm: Fix range check in tlbflush debugfs interfaceJan Beulich1-1/+1
2012-06-27x86/tlb: do flush_tlb_kernel_range by 'invlpg'Alex Shi1-0/+30
2012-06-27x86/tlb: replace INVALIDATE_TLB_VECTOR by CALL_FUNCTION_VECTORAlex Shi1-195/+47
2012-06-27x86/tlb: enable tlb flush range support for x86Alex Shi1-66/+46
2012-06-27x86/tlb: add tlb_flushall_shift knob into debugfsAlex Shi1-0/+51
2012-06-27x86/tlb: add tlb_flushall_shift for specific CPUAlex Shi1-4/+3
2012-06-27x86/tlb: fall back to flush all when meet a THP large pageAlex Shi1-0/+34
2012-06-27x86/flush_tlb: try flush_tlb_single one by one in flush_tlb_rangeAlex Shi1-16/+81
2012-05-23Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-3/+5