1. 25 Jul, 2022 15 commits
    • Will Deacon's avatar
      Merge branch 'for-next/sysregs' into for-next/core · 618ff55e
      Will Deacon authored
      * for-next/sysregs: (28 commits)
        arm64/sysreg: Convert ID_AA64ZFR0_EL1 to automatic generation
        arm64/sysreg: Convert ID_AA64SMFR0_EL1 to automatic generation
        arm64/sysreg: Convert LORID_EL1 to automatic generation
        arm64/sysreg: Convert LORC_EL1 to automatic generation
        arm64/sysreg: Convert LORN_EL1 to automatic generation
        arm64/sysreg: Convert LOREA_EL1 to automatic generation
        arm64/sysreg: Convert LORSA_EL1 to automatic generation
        arm64/sysreg: Convert ID_AA64ISAR2_EL1 to automatic generation
        arm64/sysreg: Convert ID_AA64ISAR1_EL1 to automatic generation
        arm64/sysreg: Convert GMID to automatic generation
        arm64/sysreg: Convert DCZID_EL0 to automatic generation
        arm64/sysreg: Convert CTR_EL0 to automatic generation
        arm64/sysreg: Add _EL1 into ID_AA64ISAR2_EL1 definition names
        arm64/sysreg: Add _EL1 into ID_AA64ISAR1_EL1 definition names
        arm64/sysreg: Remove defines for RPRES enumeration
        arm64/sysreg: Standardise naming for ID_AA64ZFR0_EL1 fields
        arm64/sysreg: Standardise naming for ID_AA64SMFR0_EL1 enums
        arm64/sysreg: Standardise naming for WFxT defines
        arm64/sysreg: Make BHB clear feature defines match the architecture
        arm64/sysreg: Align pointer auth enumeration defines with architecture
        ...
      618ff55e
    • Will Deacon's avatar
      Merge branch 'for-next/stacktrace' into for-next/core · cb20311e
      Will Deacon authored
      * for-next/stacktrace:
        arm64: Copy the task argument to unwind_state
        arm64: Split unwind_init()
        arm64: stacktrace: use non-atomic __set_bit
        arm64: kasan: do not instrument stacktrace.c
      cb20311e
    • Will Deacon's avatar
      Merge branch 'for-next/sme' into for-next/core · 0f05dad9
      Will Deacon authored
      * for-next/sme:
        arm64/fpsimd: Remove duplicate SYS_SVCR read
        arm64/signal: Clean up SVE/SME feature checking inconsistency
        arm64/sme: Expose SMIDR through sysfs
      0f05dad9
    • Will Deacon's avatar
      Merge branch 'for-next/perf' into for-next/core · 288e21b6
      Will Deacon authored
      * for-next/perf:
        drivers/perf: arm_spe: Fix consistency of SYS_PMSCR_EL1.CX
        perf: RISC-V: Add of_node_put() when breaking out of for_each_of_cpu_node()
        docs: perf: Include hns3-pmu.rst in toctree to fix 'htmldocs' WARNING
        drivers/perf: hisi: add driver for HNS3 PMU
        drivers/perf: hisi: Add description for HNS3 PMU driver
        drivers/perf: riscv_pmu_sbi: perf format
        perf/arm-cci: Use the bitmap API to allocate bitmaps
        drivers/perf: riscv_pmu: Add riscv pmu pm notifier
        perf: hisi: Extract hisi_pmu_init
        perf/marvell_cn10k: Fix TAD PMU register offset
        perf/marvell_cn10k: Remove useless license text when SPDX-License-Identifier is already used
        arm64: cpufeature: Allow different PMU versions in ID_DFR0_EL1
        perf/arm-cci: fix typo in comment
        drivers/perf:Directly use ida_alloc()/free()
        drivers/perf: Directly use ida_alloc()/free()
      288e21b6
    • Will Deacon's avatar
      Merge branch 'for-next/mte' into for-next/core · c436500d
      Will Deacon authored
      * for-next/mte:
        arm64: kasan: Revert "arm64: mte: reset the page tag in page->flags"
        mm: kasan: Skip page unpoisoning only if __GFP_SKIP_KASAN_UNPOISON
        mm: kasan: Skip unpoisoning of user pages
        mm: kasan: Ensure the tags are visible before the tag in page->flags
      c436500d
    • Will Deacon's avatar
      Merge branch 'for-next/mm' into for-next/core · 03939cf0
      Will Deacon authored
      * for-next/mm:
        arm64: enable THP_SWAP for arm64
      03939cf0
    • Will Deacon's avatar
      Merge branch 'for-next/misc' into for-next/core · 02eab44c
      Will Deacon authored
      * for-next/misc:
        arm64/mm: use GENMASK_ULL for TTBR_BADDR_MASK_52
        arm64: numa: Don't check node against MAX_NUMNODES
        arm64: mm: Remove assembly DMA cache maintenance wrappers
        arm64/mm: Define defer_reserve_crashkernel()
        arm64: fix oops in concurrently setting insn_emulation sysctls
        arm64: Do not forget syscall when starting a new thread.
        arm64: boot: add zstd support
      02eab44c
    • Will Deacon's avatar
      Merge branch 'for-next/kpti' into for-next/core · 8184a8bc
      Will Deacon authored
      * for-next/kpti:
        arm64: correct the effect of mitigations off on kpti
        arm64: entry: simplify trampoline data page
        arm64: mm: install KPTI nG mappings with MMU enabled
        arm64: kpti-ng: simplify page table traversal logic
      8184a8bc
    • Will Deacon's avatar
      Merge branch 'for-next/kcsan' into for-next/core · b7c47fd7
      Will Deacon authored
      * for-next/kcsan:
        arm64: kcsan: Support detecting more missing memory barriers
        asm-generic: Add memory barrier dma_mb()
      b7c47fd7
    • Will Deacon's avatar
      Merge branch 'for-next/irqflags-nmi' into for-next/core · 570365d3
      Will Deacon authored
      * for-next/irqflags-nmi:
        arm64: select TRACE_IRQFLAGS_NMI_SUPPORT
        arch: make TRACE_IRQFLAGS_NMI_SUPPORT generic
      570365d3
    • Will Deacon's avatar
      Merge branch 'for-next/ioremap' into for-next/core · 84d8857a
      Will Deacon authored
      * for-next/ioremap:
        arm64: Add HAVE_IOREMAP_PROT support
        arm64: mm: Convert to GENERIC_IOREMAP
        mm: ioremap: Add ioremap/iounmap_allowed()
        mm: ioremap: Setup phys_addr of struct vm_struct
        mm: ioremap: Use more sensible name in ioremap_prot()
        ARM: mm: kill unused runtime hook arch_iounmap()
      84d8857a
    • Will Deacon's avatar
      Merge branch 'for-next/extable' into for-next/core · ee8b00a9
      Will Deacon authored
      * for-next/extable:
        arm64: extable: cleanup redundant extable type EX_TYPE_FIXUP
        arm64: extable: move _cond_extable to _cond_uaccess_extable
        arm64: extable: make uaaccess helper use extable type EX_TYPE_UACCESS_ERR_ZERO
        arm64: asm-extable: add asm uacess helpers
        arm64: asm-extable: move data fields
        arm64: extable: add new extable type EX_TYPE_KACCESS_ERR_ZERO support
      ee8b00a9
    • Will Deacon's avatar
      Merge branch 'for-next/errata' into for-next/core · 2436387f
      Will Deacon authored
      * for-next/errata:
        arm64: errata: Remove AES hwcap for COMPAT tasks
        arm64: errata: Add Cortex-A510 to the repeat tlbi list
      2436387f
    • Will Deacon's avatar
      Merge branch 'for-next/docs' into for-next/core · 322d19b6
      Will Deacon authored
      * for-next/docs:
        Documentation/arm64: update memory layout table.
      322d19b6
    • Will Deacon's avatar
      Merge branch 'for-next/cpuidle' into for-next/core · 464ef188
      Will Deacon authored
      * for-next/cpuidle:
        arm64: cpuidle: remove generic cpuidle support
        cpuidle: cpuidle-arm: remove arm64 support
      464ef188
  2. 20 Jul, 2022 1 commit
    • Barry Song's avatar
      arm64: enable THP_SWAP for arm64 · d0637c50
      Barry Song authored
      THP_SWAP has been proven to improve the swap throughput significantly
      on x86_64 according to commit bd4c82c2 ("mm, THP, swap: delay
      splitting THP after swapped out").
      As long as arm64 uses 4K page size, it is quite similar with x86_64
      by having 2MB PMD THP. THP_SWAP is architecture-independent, thus,
      enabling it on arm64 will benefit arm64 as well.
      A corner case is that MTE has an assumption that only base pages
      can be swapped. We won't enable THP_SWAP for ARM64 hardware with
      MTE support until MTE is reworked to coexist with THP_SWAP.
      
      A micro-benchmark is written to measure thp swapout throughput as
      below,
      
       unsigned long long tv_to_ms(struct timeval tv)
       {
       	return tv.tv_sec * 1000 + tv.tv_usec / 1000;
       }
      
       main()
       {
       	struct timeval tv_b, tv_e;;
       #define SIZE 400*1024*1024
       	volatile void *p = mmap(NULL, SIZE, PROT_READ | PROT_WRITE,
       				MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
       	if (!p) {
       		perror("fail to get memory");
       		exit(-1);
       	}
      
       	madvise(p, SIZE, MADV_HUGEPAGE);
       	memset(p, 0x11, SIZE); /* write to get mem */
      
       	gettimeofday(&tv_b, NULL);
       	madvise(p, SIZE, MADV_PAGEOUT);
       	gettimeofday(&tv_e, NULL);
      
       	printf("swp out bandwidth: %ld bytes/ms\n",
       			SIZE/(tv_to_ms(tv_e) - tv_to_ms(tv_b)));
       }
      
      Testing is done on rk3568 64bit Quad Core Cortex-A55 platform -
      ROCK 3A.
      thp swp throughput w/o patch: 2734bytes/ms (mean of 10 tests)
      thp swp throughput w/  patch: 3331bytes/ms (mean of 10 tests)
      
      Cc: "Huang, Ying" <ying.huang@intel.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Steven Price <steven.price@arm.com>
      Cc: Yang Shi <shy828301@gmail.com>
      Reviewed-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
      Signed-off-by: default avatarBarry Song <v-songbaohua@oppo.com>
      Link: https://lore.kernel.org/r/20220720093737.133375-1-21cnbao@gmail.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      d0637c50
  3. 19 Jul, 2022 5 commits
  4. 07 Jul, 2022 5 commits
  5. 06 Jul, 2022 5 commits
  6. 05 Jul, 2022 9 commits