Hi Christophe, > On 9. May 2021, at 19:37, Christophe Leroy <christophe.le...@csgroup.eu> > wrote: > > Did I do an error in my analysis ?
No, you didn’t. On the contrary you have found the issue. ;-) The issue is somewhere in the new interrupt code. > ZZ | * | ceff77efa4f8 powerpc/64e/interrupt: Use new interrupt context > tracking scheme Could you please create a patch for reverting the new interrupt code? I would like to confirm your result. Thanks for your help, Christian > > BAD * c70a4be130de Merge tag 'powerpc-5.13-1' of > git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux > |\ > | * 525642624783 powerpc/signal32: Fix erroneous SIGSEGV on RT signal return > | * f9cd5f91a897 powerpc: Avoid clang uninitialized warning in > __get_user_size_allowed > | * adb68c38d8d4 powerpc/papr_scm: Mark nvdimm as unarmed if needed during > probe > | * ee1bc694fbae powerpc/kvm: Fix build error when PPC_MEM_KEYS/PPC_PSERIES=n > | * 30c400886bad powerpc/kasan: Fix shadow start address with modules > | * fc5590fd56c9 powerpc/kernel/iommu: Use largepool as a last resort when > !largealloc > | * 3c0468d4451e powerpc/kernel/iommu: Align size for IOMMU_PAGE_SIZE() to > save TCEs > | * ee6b25fa7c03 powerpc/44x: fix spelling mistake in Kconfig "varients" -> > "variants" > | * cc7130bf119a powerpc/iommu: Annotate nested lock for lockdep > | * 4be518d83880 powerpc/iommu: Do not immediately panic when failed IOMMU > table allocation > | * 7f1fa82d7994 powerpc/iommu: Allocate it_map by vmalloc > | * 0db11461677a selftests/powerpc: remove unneeded semicolon > | * caea7b833d86 powerpc/64s: remove unneeded semicolon > | * f3d03fc748d4 powerpc/eeh: remove unneeded semicolon > | * 290f7d8ce2b1 powerpc/selftests: Add selftest to test concurrent > perf/ptrace events > | * c65c64cc7bbd powerpc/selftests/perf-hwbreak: Add testcases for 2nd DAWR > | * c9cb0afb4eaa powerpc/selftests/perf-hwbreak: Coalesce event creation code > | * dae4ff8031b4 powerpc/selftests/ptrace-hwbreak: Add testcases for 2nd DAWR > | * 421a7483878c powerpc/configs: Add IBMVNIC to some 64-bit configs > | * da650ada1009 selftests/powerpc: Add uaccess flush test > | * 8a87a5077143 powerpc/52xx: Fix an invalid ASM expression ('addi' used > instead of 'add') > | * 0f197ddce403 powerpc/64s: Fix mm_cpumask memory ordering comment > | * 66d9b7492887 powerpc/perf: Fix the threshold event selection for memory > events in power10 > | * b4ded42268ee powerpc/perf: Fix sampled instruction type for larx/stcx > | * 0bd3f9e953bd powerpc/legacy_serial: Use early_ioremap() > | * 9ccba66d4d2a powerpc/64: Fix the definition of the fixmap area > | * 389586333c02 powerpc: make ALTIVEC select PPC_FPU > | * 7d9462765707 powerpc/64s: Add FA_DUMP to defconfig > | * d936f8182e1b powerpc/powernv: Fix type of opal_mpipl_query_tag() addr > argument > | * 2e341f56a16a powerpc/fadump: Fix sparse warnings > | * 39352430aaa0 powerpc: Move copy_inst_from_kernel_nofault() > | * 41d6cf68b5f6 powerpc: Rename probe_kernel_read_inst() > | * 6449078d5011 powerpc: Make probe_kernel_read_inst() common to PPC32 and > PPC64 > | * 6ac7897f08e0 powerpc: Remove probe_user_read_inst() > | * ee7c3ec3b4b1 powerpc/ebpf32: Use standard function call for functions > within 32M distance > | * e7de0023e123 powerpc/ebpf32: Rework 64 bits shifts to avoid tests and > branches > | * d228cc496966 powerpc/ebpf32: Fix comment on BPF_ALU{64} | BPF_LSH | BPF_K > | * 867e762480f4 powerpc/32: Use r2 in wrtspr() instead of r0 > | * f56607e85ee3 selftests/timens: Fix gettime_perf to work on powerpc > | * 92d9d61be519 powerpc/mce: save ignore_event flag unconditionally for UE > | * eacf4c020265 powerpc: Enable OPTPROBES on PPC32 > | * 693557ebf407 powerpc/inst: ppc_inst_as_u64() becomes ppc_inst_as_ulong() > | * e522331173ec powerpc/irq: Enhance readability of trap types > | * 7fab639729ce powerpc/32s: Enhance readability of trap types > | * 0f5eb28a6ce6 powerpc/8xx: Enhance readability of trap types > | * a9d2f9bb225f powerpc/pseries/iommu: Fix window size for direct mapping > with pmem > | * e4e8bc1df691 powerpc/kvm: Fix PR KVM with KUAP/MEM_KEYS enabled > | * ed8029d7b472 powerpc/pseries: Stop calling printk in rtas_stop_self() > | * 3027a37c06be powerpc: Only define _TASK_CPU for 32-bit > | * 39d0099f9439 powerpc/pseries: Add shutdown() to vio_driver and vio_bus > | * af31fd0c9107 powerpc/perf: Expose processor pipeline stage cycles using > PERF_SAMPLE_WEIGHT_STRUCT > | * 2886e2df10be Documentation/powerpc: Add proper links for manual and tests > | * 29c9a2699e71 powerpc/pseries: Set UNISOLATE on dlpar_cpu_remove() failure > | * 0e3b3ff83ce2 powerpc/pseries: Introduce dlpar_unisolate_drc() > | * 864ec4d40c83 powerpc/pseries/mce: Fix a typo in error type assignment > | * cbd3d5ba46b6 powerpc/fadump: Fix compile error since trap type change > | * d8a1d6c58986 powerpc/perf: Add platform specific check_attr_config > | * a38cb4171928 Merge branch 'topic/ppc-kvm' into next > | |\ > | | * 732f21a3053c KVM: PPC: Book3S HV: Ensure MSR[HV] is always clear in > guest MSR > | | * 946cf44ac6ce KVM: PPC: Book3S HV: Ensure MSR[ME] is always set in guest > MSR > | | * da487a5d1bee powerpc/64s: remove KVM SKIP test from instruction > breakpoint handler > | | * 5eee8371828a powerpc/64s: Remove KVM handler support from CBE_RAS > interrupts > | | * 0fd85cb83fbd KVM: PPC: Book3S HV: Fix CONFIG_SPAPR_TCE_IOMMU=n default > hcalls > | | * 6c12c4376bbb KVM: PPC: Book3S HV: remove unused kvmppc_h_protect > argument > | | * 4b5f0a0d49e6 KVM: PPC: Book3S HV: Remove redundant mtspr PSPB > | | * 72c15287210f KVM: PPC: Book3S HV: Prevent radix guests setting LPCR[TC] > | | * bcc92a0d6d6e KVM: PPC: Book3S HV: Disallow LPCR[AIL] to be set to 1 or 2 > | | * 67145ef4960f KVM: PPC: Book3S HV: Add a function to filter guest LPCR > bits > | | * a19b70abc69a KVM: PPC: Book3S HV: Nested move LPCR sanitising to > sanitise_hv_regs > | | * 5088eb4092df KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest > exit > BAD | * | 49c1d07fd04f powerpc/powernv: Enable HAIL (HV AIL) for ISA v3.1 > processors > | * | 6980d13f0dd1 powerpc/smp: Set numa node before updating mask > | * | 7153d4bf0b37 powerpc/traps: Enhance readability for trap types > | * | 7de21e679e6a powerpc: fix EDEADLOCK redefinition error in > uapi/asm/errno.h > | * | c1e53367dab1 powerpc/smp: Cache CPU to chip lookup > | * | 131c82b6a1d2 Revert "powerpc/topology: Update topology_core_cpumask" > | * | c47f892d7aa6 powerpc/smp: Reintroduce cpu_core_mask > | * | e9e16917bc38 powerpc/xive: Use the "ibm, chip-id" property only under > PowerNV > | * | 38d0b1c9cec7 powerpc/pseries: extract host bridge from pci_bus prior to > bus removal > | * | 0751fdf28041 macintosh/via-pmu: Fix build warning > | * | 7767d9ac89ce powerpc/papr_scm: Fix build error due to wrong printf > specifier > | * | d6481a7195df powerpc/configs: Add PAPR_SCM to pseries_defconfig > | * | 7098f8f0cf03 powerpc/mm/radix: Make radix__change_memory_range() static > | * | 74205b3fc2ef powerpc/vdso: Add support for time namespaces > | * | 1c4bce675385 powerpc/vdso: Separate vvar vma from vdso > | * | 808094fcbf41 lib/vdso: Add vdso_data pointer as input to > __arch_get_timens_vdso_data() > | * | 58efe9f696cf lib/vdso: Mark do_hres_timens() and do_coarse_timens() > __always_inline() > | * | 8f6cc75a97d1 powerpc: move norestart trap flag to bit 0 > | * | 8dc7f0229b78 powerpc: remove partial register save logic > | * | c45ba4f44f6b powerpc: clean up do_page_fault > | * | d738ee8d56de powerpc/64e/interrupt: handle bad_page_fault in C > ZZ | * | ceff77efa4f8 powerpc/64e/interrupt: Use new interrupt context > tracking scheme > ZZ | * | 097157e16cf8 powerpc/64e/interrupt: reconcile irq soft-mask state in > C > | * | 3db8aa10de9a powerpc/64e/interrupt: NMI save irq soft-mask state in C > ZZ | * | 0c2472de23ae powerpc/64e/interrupt: use new interrupt return > | * | dc6231821a14 powerpc/interrupt: update common interrupt code for > | * | 4228b2c3d20e powerpc/64e/interrupt: always save nvgprs on interrupt > | * | 5a5a893c4ad8 powerpc/syscall: switch user_exit_irqoff and > trace_hardirqs_off order > ZZ | * | 2e2a441d2c0b powerpc/perf: Infrastructure to support checking of > attr.config* > | * | 59fd366b9bef powerpc/fadump: make symbol 'rtas_fadump_set_regval' static > | * | 7e9ab144c128 powerpc/mem: Use kmap_local_page() in flushing functions > | * | 6c96020882b1 powerpc/mem: Inline flush_dcache_page() > | * | 67b8e6af191a powerpc/mem: Help GCC realise __flush_dcache_icache() > flushes single pages > | * | 52d490437ffb powerpc/mem: flush_dcache_icache_phys() is for HIGHMEM > pages only > | * | cd97d9e8b5aa powerpc/mem: Optimise flush_dcache_icache_hugepage() > | * | e618c7aea1f2 powerpc/mem: Call flush_coherent_icache() at higher level > | * | 131637a17dc9 powerpc/mem: Remove address argument to > flush_coherent_icache() > | * | bf26e0bbd2f8 powerpc/mem: Declare __flush_dcache_icache() static > | * | b26e8f27253a powerpc/mem: Move cache flushing functions into > mm/cacheflush.c > | * | ff0b4155ae99 powerpc/powernv: make symbol 'mpipl_kobj' static > | * | f234ad405a35 powerpc/xmon: Make symbol 'spu_inst_dump' static > | * | cc331eee03ea powerpc/perf/hv-24x7: Make some symbols static > ZZZ | * | 107dadb04617 powerpc/perf: Make symbol 'isa207_pmu_format_attr' > static > ZZZ | * | 2235dea17d56 powerpc/pseries/pmem: Make symbol 'drc_pmem_match' > static > | * | 193e4cd8ed9d powerpc/pseries: Make symbol '__pcpu_scope_hcall_stats' > static > ZZ | * | 472724111f0f powerpc/iommu: Enable remaining IOMMU Pagesizes present > in LoPAR > | * | 672bff581e19 powerpc/syscalls: switch to generic syscallhdr.sh > XX | * | 14b3c9d24a7a powerpc/syscalls: switch to generic syscalltbl.sh > ZZ | * | e5d56763525e powerpc/rtas: rename RTAS_RMOBUF_MAX to > RTAS_USER_REGION_SIZE > ZZ | * | 0649cdc82379 powerpc/rtas: move syscall filter setup into separate > function > | * | 0ab1c929ae38 powerpc/rtas: remove ibm_suspend_me_token > ZZZ | * | 01c1b9984a12 powerpc/rtas-proc: remove unused RMO_READ_BUF_MAX > ZZ | * | c13ff6f32513 powerpc/rtas: improve ppc_rtas_rmo_buf_show > documentation > | * | 5ae5bc12d072 powerpc/eeh: Fix EEH handling for hugepages in ioremap > space. > XX | * | fd6db2892eba powerpc/xive: Modernize XIVE-IPI domain with an 'alloc' > handler > ZZ | * | 7dcc37b3eff9 powerpc/xive: Map one IPI interrupt per node > | * | 33e4bc594643 powerpc/xive: Fix xmon command "dxi" > | * | 6bf66eb8f404 powerpc/xive: Simplify the dump of XIVE interrupts under > xmon > | * | a74ce5926b20 powerpc/xive: Drop check on irq_data in > xive_core_debug_show() > | * | 5159d9872823 powerpc/xive: Simplify xive_core_debug_show() > | * | 1835e72942b5 powerpc/xive: Remove useless check on XIVE_IPI_HW_IRQ > | * | 7d348494136c powerpc/xive: Introduce an IPI interrupt domain > | * | 078277acbd7c powerpc/smp: Make some symbols static > | * | 95d143923379 macintosh/via-pmu: Make some symbols static > | * | 4204ecd598cb windfarm: make symbol 'wf_thread' static > | * | 13ddd0e3acf9 macintosh/windfarm: Make symbol 'pm121_sys_state' static > | * | f6f1f48e8b3b powerpc/mce: Make symbol 'mce_ue_event_work' static > | * | 7f262b4dcf7e powerpc/security: Make symbol 'stf_barrier' static > | * | 80edc68e0479 powerpc/32s: Define a MODULE area below kernel text all > the time > | * | 9132a2e82adc powerpc/8xx: Define a MODULE area below kernel text > | * | 2ec13df16704 powerpc/modules: Load modules closer to kernel text > | * | a5d6a3e73acb powerpc/mm: Add cond_resched() while removing hpte mappings > | * | 75b7c05ebf90 powerpc/papr_scm: Implement support for H_SCM_FLUSH hcall > | * | af072b1a9d4d powerpc/signal32: Fix build failure with CONFIG_SPE > | * | c46bbf5d2def powerpc/32: Remove powerpc specific definition of > 'ptrdiff_t' > | * | b27dadecdf91 powerpc: iommu: fix build when neither PCI or IBMVIO is set > | * | 01ed0510941a powerpc/pseries: remove unneeded semicolon > ZZ | * | 98db179a78dd powerpc/64s: power4 nap fixup in C > | * | 10f8f96179ec powerpc/perf: Fix PMU constraint check for EBB events > | * | 812aa68ef7d4 selftests/powerpc: Suggest memtrace instead of /dev/mem > for ci memory > ZZ | * | 08a022ad3dfa powerpc/powernv/memtrace: Allow mmaping trace buffers > | * | acd4dfeb49c8 powerpc/kexec: Don't use .machine ppc64 in trampoline_64.S > | * | c6b4c9147f8b powerpc/64: Move security code into security.c > | * | bd573a81312f powerpc/mm/64s: Allow STRICT_KERNEL_RWX again > | * | 87e65ad7bd3a powerpc/mm/64s/hash: Add real-mode change_memory_range() > for hash LPAR > | * | 6f223ebe9c3f powerpc/mm/64s/hash: Factor out change_memory_range() > ZZZ | * | 2c02e656a29d powerpc/64s: Use htab_convert_pte_flags() in > hash__mark_rodata_ro() > | * | b56d55a5aa4a powerpc/pseries: Add key to flags in > pSeries_lpar_hpte_updateboltedpp() > ZZZ | * | 56bec2f9d4d0 powerpc/mm/64s: Add _PAGE_KERNEL_ROX > | * | 29e3ea8cbd29 selftests/powerpc: Test for spurious kernel memory faults > on radix > | * | b8b2f37cf632 powerpc/64s: Fix pte update for kernel memory on radix > | * | 4763d3782764 powerpc: Spelling/typo fixes > | * | b0b3b2c78ec0 powerpc: Switch to relative jump labels > | * | 40272035e1d0 powerpc/bpf: Reallocate BPF registers to volatile > registers when possible on PPC32 > | * | 51c66ad849a7 powerpc/bpf: Implement extended BPF on PPC32 > | * | 355a8d26cd04 powerpc/asm: Add some opcodes in asm/ppc-opcode.h for > PPC32 eBPF > | * | c426810fcf9f powerpc/bpf: Change values of SEEN_ flags > | * | 4ea76e90a97d powerpc/bpf: Move common functions into bpf_jit_comp.c > | * | f1b1583d5faa powerpc/bpf: Move common helpers into bpf_jit.h > | * | ed573b57e77a powerpc/bpf: Change register numbering for > bpf_set/is_seen_register() > | * | 6944caad78fc powerpc/bpf: Remove classical BPF support for PPC32 > | * | c7393a71eb1a powerpc/signal32: Simplify logging in sigreturn() > BAD? | * | 887f3ceb51cd powerpc/signal32: Convert do_setcontext[_tm]() to > user access block > GOOD | * | 627b72bee84d powerpc/signal32: Convert restore_[tm]_user_regs() to > user access block > | * | 036fc2cb1dc2 powerpc/signal32: Reorder user reads in > restore_tm_user_regs() > > > Christophe