From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F03F124DCF9 for ; Tue, 24 Feb 2026 16:15:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771949758; cv=none; b=fvd5JTxsMy65UzdnXYlJdCFMOSStvZ2z+0pBCWFTy+J8LwxzDaBlSQnIC2uypzpVCR3bwYyllsRww47nzbR425/15P8Cev2I+P9W0NXEHXoL1wX53QpvJnZgJbwdRGOlFnmowHgyk+0UPM7vVWYL5THZaSNQndPRLo55J1YuCUw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771949758; c=relaxed/simple; bh=bVMkaiNjKWaZnVtvcIKh3VB6t4aZDQ0S1ikSe7sLAbs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=A08FuDQ/8GYBSR5h+uF2rFxlDvKUKb5fisuuyFC7xF3p1qF0Vo+AdDSQSNROmTicRqD7H1KjPTe3kiDK+msvpyhpmkUymMctx8MijZ1+MN8SNgzrTSqLswGzH1qn9JX8om/L3XoUP3r/Eg3kKxI8Gb/xihjvLg9Vo9F9DNkRkDw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=WKxutcDe; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="WKxutcDe" Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61O9qsTL3059391; Tue, 24 Feb 2026 16:15:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=pp1; bh=weTu0a7Bpwf+1Xncy96j6hQPtffnpn rZ0z4zozYl2d0=; b=WKxutcDeiGKVchbi8XCtX/0ff/hYoucAgDUQe0+4cGxcwj 2VRTGKh2jBDZDsncQ+r0SqjjNtwH5prRtwsCqLbnRWJY5w5xy8Pyo0983AD3lYWF cxJSXDIXSf60gKva4/W8yELJAz6LIeHyHEFxh/cunAgrUX2mir39lnhnwRT2LM1W 05K0Kz03AwzSBj8Xyiwd+hWpAZzPB/6VlVBhSBvz4t3/VTOgcU0vw+WZxo4fInPW Gqj+NK6HvqoSF4SKDNBQ+S0basVL/0esLafOQXzBEaiT79m5cl4PORqRBPRYEtIE 2rs7LsXp1tECHmH9GshhIHSXNuMuNff4XAgEX8oQ== Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4cf471ve7p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 24 Feb 2026 16:15:43 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 61ODaoqw003386; Tue, 24 Feb 2026 16:15:42 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4cfs8jsc0x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 24 Feb 2026 16:15:42 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 61OGFdDV55247124 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 24 Feb 2026 16:15:39 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DC1A820049; Tue, 24 Feb 2026 16:15:38 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5C9F820040; Tue, 24 Feb 2026 16:15:38 +0000 (GMT) Received: from osiris (unknown [9.87.147.7]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTPS; Tue, 24 Feb 2026 16:15:38 +0000 (GMT) Date: Tue, 24 Feb 2026 17:15:36 +0100 From: Heiko Carstens To: Heiko Carstens Cc: Peter Zijlstra , linux-kernel@vger.kernel.org, Thomas Gleixner , mathieu.desnoyers@efficios.com, Mark Rutland , cmarinas@kernel.org, maddy@linux.ibm.com, ryan.roberts@arm.com Subject: Re: [RFC] in-kernel rseq Message-ID: <20260224161536.20006G71-hca@linux.ibm.com> References: <20260223163843.GR1282955@noisy.programming.kicks-ass.net> <20260224111646.20006Ddc-hca@linux.ibm.com> <20260224152032.GZ1395266@noisy.programming.kicks-ass.net> <20260224160208.20006F04-hca@linux.ibm.com> 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=us-ascii Content-Disposition: inline In-Reply-To: <20260224160208.20006F04-hca@linux.ibm.com> X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: LUw6eoV2UiFYbKWc6M6kE8rB4FIry3BX X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjI0MDEzNCBTYWx0ZWRfXwx3NJkWXBbsd 2Uxn7z0ESn1dOhe0KvddxgZixey3m0Y8nNr4ghEzuJ2WJaUgR9cua8X2nhz3cvBUXcZpq8JzpW1 j6hMyR5C1a9UGUVKIEhVYFGBAmxkHVZCneI5XBCj/vOQ+4UciLskSHIqg7WNnSDCBEiOKt0JWSX 7wZWO/NWx9rLYc7DLM9+OPPOe6G5r7lM6HAUxHTG/z3G6MzOZm3tpjei8oDJobvOcM+YyU3H+c7 ly4C3sbjrF5et1zKfaSOiHLGm0HN2vNPzW+EbZ5Zh0WIwbz8gwdEm240+m5cwG3Ia8alHJuGeQE ZWW6nvyHByfyFrLfbtE2VXD/ajGJ7FDaoVuszeiDysdG2yEoJTJy/5nhqbFyT52PO8umXshqbXK sVytzovGCkzblYIXKP5yDjjwhjWQbw9jdbjIABXYCx5PqdGCgigBr7f8JTxmyXwC6fNemeAlK7m JC0TdrDcDYbW4Z/DqeA== X-Authority-Analysis: v=2.4 cv=R7wO2NRX c=1 sm=1 tr=0 ts=699dceaf cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=kj9zAlcOel0A:10 a=HzLeVaNsDn8A:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=eT7poaQZCo2R3HQzzS4A:9 a=CjuIK1q_8ugA:10 X-Proofpoint-GUID: LUw6eoV2UiFYbKWc6M6kE8rB4FIry3BX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-24_02,2026-02-23_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 impostorscore=0 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602240134 On Tue, Feb 24, 2026 at 05:02:10PM +0100, Heiko Carstens wrote: > On Tue, Feb 24, 2026 at 04:20:32PM +0100, Peter Zijlstra wrote: > > > With PREEMPT_LAZY this turns into: > > > > > > 0000000000000000 : > > > 0: c0 04 00 00 00 00 jgnop 0 > > > 6: eb af f0 68 00 24 stmg %r10,%r15,104(%r15) > > > c: b9 04 00 ef lgr %r14,%r15 > > > 10: b9 04 00 b2 lgr %r11,%r2 > > > 14: e3 f0 ff c8 ff 71 lay %r15,-56(%r15) > > > 1a: e3 e0 f0 98 00 24 stg %r14,152(%r15) <- up to here: create stack frame > > > > So some of that could be elided with that asm call thunk thing we talked > > about yesterday, right? > > Yes, with > #define __preempt_schedule_notrace() \ > asm volatile("brasl %%r14,preempt_schedule_notrace_thunk" : : : "cc", "memory", "r14") > > we would end up with: ...[random junk]... Sorry, that was an incorrect version, only handling this_cpu_add(). So with static DEFINE_PER_CPU(long, bar); long foo(long val) { return this_cpu_add_return(bar, val); } and the above define the result would be the below (no stack frame - up to the thunk to handle that, including register save/restore). 0000000000000000 : 0: c0 04 00 00 00 00 jgnop 0 6: eb 01 03 a8 00 6a asi 936,1 c: c0 10 00 00 00 00 larl %r1,c e: R_390_PC32DBL .data..percpu+0x2 12: a7 39 00 00 lghi %r3,0 16: e3 10 33 b8 00 08 ag %r1,952(%r3) 1c: eb 02 10 00 00 e8 laag %r0,%r2,0(%r1) 22: eb ff 03 a8 00 6e alsi 936,-1 28: a7 a4 00 05 jhe 32 2c: b9 08 00 20 agr %r2,%r0 30: 07 fe br %r14 32: e3 e0 f0 88 00 24 stg %r14,136(%r15) 38: c0 e5 00 00 00 00 brasl %r14,38 3a: R_390_PC32DBL preempt_schedule_notrace_thunk+0x2 3e: e3 e0 f0 88 00 04 lg %r14,136(%r15) 44: b9 08 00 20 agr %r2,%r0 48: 07 fe br %r14