From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C83A3B8BBF for ; Mon, 27 Apr 2026 12:27:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777292880; cv=none; b=QMCk++jHk/WnI/M0c0aUyYocQpt/yAVBC7Le4FWmy2zVgv2ZY+JZSsOvKk1Dxtc3PiNe4y/hMx5bgWdLzcZsph7XNBnp2/smftAP3hotPJYaQZuehX/9ItZaBReXLP5qTKT9NQidaaOIISVUAj/ZFvtxWsshb84u9JNjpDedEIA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777292880; c=relaxed/simple; bh=n+XoXZd1ZUdqKCZ5TXgjIG39LKzTnd4uj/JR3x7og3g=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=LcFqRzzFY7r3pX+WavbYwFy6FuxuBRzkplHpvIVOKvhowK/NyuqG3QV19EjvF2AxeZTRgatUZYu+o0WSS+xaDvGe6l00QK8/hpRapSW9ic1zJQq7Q2Ch9hUEOdH27Nlbnr4Q1mDFsZboDIdZRQfpDVnsraYdDVp/I72/M4n7K9c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ccLxCr7U; arc=none smtp.client-ip=209.85.210.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ccLxCr7U" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-82748257f5fso5790121b3a.1 for ; Mon, 27 Apr 2026 05:27:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777292878; x=1777897678; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=A5+nWqwDcOBF7Fr/nIwR50jOx4j4ScLRDSFTu4WKkq8=; b=ccLxCr7U+U9vlNccNm3zqcxkU6c1u4oaT/CwrRR8vYDB4sfk4D/KX5HirRk2fd5ypN m1y0ka8oTFeum6uHiJLFAWfGoRwXMPB6Q+suucV31yKdfB1DGfkFiJh3aZpNoMPKWDf2 LuX8tgDzK61UwHIKOX4skjCj2YyW+cIzcHFYsgF3XSjJIAjzEoyK3LPkJ3BdKCc4460Y Vk8E2yO9bUlKJQUnBq5yhUgzm5KXDCsqW/zlPXyYalz5v5xI8QfT7e5yhNM/7QY4KVBu UIdfJ1Ut8EdBTK7qdwL69XJGIiUOSC1pyXZiy4pQOS7OGf8nYhrcTpSDB8kRrbzljApR M0TA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777292878; x=1777897678; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=A5+nWqwDcOBF7Fr/nIwR50jOx4j4ScLRDSFTu4WKkq8=; b=S6y9zmLD1s47UysoE4oSdrOimAdwH21ghyrhQXIhXTJAgsIEjvhbwzbxgTMpc7qzLP hEnxvKGuHbeKdQHAdKQk0seiYm4hfdN7LFBzWvfGLS35HwnvT/pveD1wymSp/ZaJ8bHm IgqIIBoowFRW2bTg0VlzrK8WnPWzXzba+51NPaCrr/cJYKqkRH+mN2ycg2bf7KzMevw8 mdi9rEwvcJS+pQNmtDFD0su2eRT3hh7IGbfcMyjcODD1RkLDBsuFRAQvuFUdS8/0JOpD o/tx7cNa/N1F/7XL9ezJyacUpOfFTP6aBl6vn297WEgkQlz35WaNAjqslmMdlgwaxqpZ iwaQ== X-Forwarded-Encrypted: i=1; AFNElJ89CeJUIT7utxqPBozIhIOzNlKX25mosx7CPitjl7Cjguw8T+fUUNjwOlvGyTR2j7T7Ant1bFg+xNC8l3I=@vger.kernel.org X-Gm-Message-State: AOJu0YxaKsFy9m3gGH6vEmHNAt1Om39HBRMgqxAGcogrl6/1pcJRa29s W5dMi2ibNP4MTLilMiAx0e8Y0ov5tWXriAdGB8wDAwMvH2STLyLOJusE X-Gm-Gg: AeBDievXTbh8Y16fDTaIxIqVYbc7H8jLyGW14GUrXweKC6H2yfpgQEieggOrwH0bH5u wXkkks+oyu3qKVXP4U4E4G7OHlRYz05ql/uqqgVTyZ+yVWJ69zDi5zJBSsobCrFL/i0B80TcM0C 0577X8DOyY3rkKPSvPlBTpf9uSnFfem8DAW9T3lKXGLg4gadBFV2Kw+0a0rs0hSAeKPf6zgTsSk 2VUpqPc/hqdklZ6ajgYzYRNU8LpC3wjwDWUunJrKwqJGSHBgr0wFtmrWnko5mSQR8w7cB6lmMN5 9VtKR79Yd/x7WTuRLJ6wPdui+OX1+vxaBor6S8apLGYPf/rwAr6k/wLA1uZ385jEhUfy6IgjeOe dswZzbfjawcLdhWep+WFqp07GI72266nqKKOtzIga1UIlfZLBfC48DHfS7w9NRH//dRVkrAVwdL 4EcOdBibz5Ba+9azeVY7/JygHXeF01anUJq/TU96Fw3aRaEqoEZiCoQtkuB0Y2qfwvOEqUQdbAc 2Ol0w== X-Received: by 2002:a05:6a00:3e09:b0:82f:456c:29f1 with SMTP id d2e1a72fcca58-82f8b385c38mr37432010b3a.12.1777292878196; Mon, 27 Apr 2026 05:27:58 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com ([129.41.58.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f8e9f7735sm32733466b3a.21.2026.04.27.05.27.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 05:27:57 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, vincenzo.frascino@arm.com, oleg@redhat.com, kees@kernel.org, luto@amacapital.net, wad@chromium.org, mchauras@linux.ibm.com, sshegde@linux.ibm.com, thuth@redhat.com, ruanjinjie@huawei.com, akpm@linux-foundation.org, macro@orcam.me.uk, ldv@strace.io, charlie@rivosinc.com, deller@gmx.de, kevin.brodsky@arm.com, ritesh.list@gmail.com, yeoreum.yun@arm.com, agordeev@linux.ibm.com, segher@kernel.crashing.org, mark.rutland@arm.com, ryan.roberts@arm.com, pmladek@suse.com, feng.tang@linux.alibaba.com, peterz@infradead.org, kan.liang@linux.intel.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com Cc: "Mukesh Kumar Chaurasiya (IBM)" Subject: [PATCH v5 0/8] Generic IRQ entry/exit support for powerpc Date: Mon, 27 Apr 2026 17:57:34 +0530 Message-ID: <20260427122742.210074-1-mkchauras@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding support for the generic irq entry/exit handling for PowerPC. The goal is to bring PowerPC in line with other architectures that already use the common irq entry infrastructure, reducing duplicated code and making it easier to share future changes in entry/exit paths. This is slightly tested of ppc64le and ppc32. The performance benchmarks are below: perf bench syscall usec/op (-ve is improvement) | Syscall | Base | test | change % | | ------- | ----------- | ----------- | -------- | | basic | 0.093543 | 0.093023 | -0.56 | | execve | 446.557781 | 450.107172 | +0.79 | | fork | 1142.204391 | 1156.377214 | +1.24 | | getpgid | 0.097666 | 0.092677 | -5.11 | perf bench syscall ops/sec (+ve is improvement) | Syscall | Base | New | change % | | ------- | -------- | -------- | -------- | | basic | 10690548 | 10750140 | +0.56 | | execve | 2239 | 2221 | -0.80 | | fork | 875 | 864 | -1.26 | | getpgid | 10239026 | 10790324 | +5.38 | IPI latency benchmark (-ve is improvement) | Metric | Base (ns) | New (ns) | % Change | | -------------- | ------------- | ------------- | -------- | | Dry run | 583136.56 | 584136.35 | 0.17% | | Self IPI | 4167393.42 | 4149093.90 | -0.44% | | Normal IPI | 61769347.82 | 61753728.39 | -0.03% | | Broadcast IPI | 2235584825.02 | 2227521401.45 | -0.36% | | Broadcast lock | 2164964433.31 | 2125658641.76 | -1.82% | Thats very close to performance earlier with arch specific handling. Tests done: - Build and boot on ppc64le pseries. - Build and boot on ppc64le powernv8 powernv9 powernv10. - Build and boot on ppc32. - Performance benchmark done with perf syscall basic on pseries. Changelog: V4 -> V5: - Rebased on latest mainline V4: https://lore.kernel.org/all/20260123073916.956498-1-mkchauras@linux.ibm.com/ V3 -> V4: - Fixed the issue in older gcc version where linker couldn't find mem functions - Merged IRQ enable and syscall enable into a single patch - Cleanup for unused functions done in separate patch. - Some other cosmetic changes V3: https://lore.kernel.org/all/20251229045416.3193779-1-mkchauras@linux.ibm.com/ V2 -> V3: - #ifdef CONFIG_GENERIC_IRQ_ENTRY removed from unnecessary places - Some functions made __always_inline - pt_regs padding changed to match 16byte interrupt stack alignment - And some cosmetic changes from reviews from earlier patch V2: https://lore.kernel.org/all/20251214130245.43664-1-mkchauras@linux.ibm.com/ V1 -> V2: - Fix an issue where context tracking was showing warnings for incorrect context V1: https://lore.kernel.org/all/20251102115358.1744304-1-mkchauras@linux.ibm.com/ RFC -> PATCH V1: - Fix for ppc32 spitting out kuap lock warnings. - ppc64le powernv8 crash fix. - Review comments incorporated from previous RFC. RFC https://lore.kernel.org/all/20250908210235.137300-2-mchauras@linux.ibm.com/ Mukesh Kumar Chaurasiya (8): powerpc: rename arch_irq_disabled_regs powerpc: Prepare to build with generic entry/exit framework powerpc: introduce arch_enter_from_user_mode powerpc: Introduce syscall exit arch functions powerpc: add exit_flags field in pt_regs powerpc: Prepare for IRQ entry exit powerpc: Enable GENERIC_ENTRY feature powerpc: Remove unused functions arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/entry-common.h | 533 ++++++++++++++++++++++++ arch/powerpc/include/asm/hw_irq.h | 4 +- arch/powerpc/include/asm/interrupt.h | 386 +++-------------- arch/powerpc/include/asm/kasan.h | 15 +- arch/powerpc/include/asm/ptrace.h | 6 +- arch/powerpc/include/asm/signal.h | 1 - arch/powerpc/include/asm/stacktrace.h | 6 + arch/powerpc/include/asm/syscall.h | 5 + arch/powerpc/include/asm/thread_info.h | 1 + arch/powerpc/include/uapi/asm/ptrace.h | 14 +- arch/powerpc/kernel/interrupt.c | 254 ++--------- arch/powerpc/kernel/ptrace/ptrace.c | 142 +------ arch/powerpc/kernel/signal.c | 25 +- arch/powerpc/kernel/syscall.c | 119 +----- arch/powerpc/kernel/traps.c | 2 +- arch/powerpc/kernel/watchdog.c | 2 +- arch/powerpc/perf/core-book3s.c | 2 +- 18 files changed, 690 insertions(+), 828 deletions(-) create mode 100644 arch/powerpc/include/asm/entry-common.h -- 2.53.0