Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1104218pxb; Tue, 9 Feb 2021 23:26:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJxorjfauhY+T+7xn/DGHjMKJJNOxYeeqfw2kHOxPYOraBj2So89I0UCmdMVa68DX0sgbjnM X-Received: by 2002:aa7:d618:: with SMTP id c24mr1907596edr.7.1612941994415; Tue, 09 Feb 2021 23:26:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612941994; cv=none; d=google.com; s=arc-20160816; b=ZuSCkFIzEkGDDwqxdkPLdtgxGFRRrYyLeRexbmj4/RXAtmGeBVSSqy8EeoHRNgRHcJ Ui1+mfnKvs/vRzaSrKa7WcAE8LTKyuScTAbNHUN4RsCBni6yllt08lPBiVE/f96z3/Gd KxWKJtYDDCEmlinVaC/pK+dSIqbwHgdWMovpz4iHZoJ7CUGVG1FmBYjPF4pvrWExpwI5 UgbsrtRbfC9DQMVHXOixA2U1K40pwFNQ4u42Ly8nmYw2tPX4DqLqlfJODCLsr4IEmhCb o/LmvvEEipIEsj1eFZ8m0+neIzGwfeqlwXbCWduxiPNX6a9CTYPQnXbcClN91IoVXa/G nqHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=s3smXO1Zxnb5BM5QUZXDa4Npg61qKqzYojrPIMbQkS0=; b=yydwy2b3zsFsW9wdPZOf12Lg1rjhay996L3ZgzDZRKN1j6GJcMDFisOXsccHgzA6DG U/aUHFtJlH42Qi9Y9VaxRSYuCosMT4y83MmLVyV5YoQnR7cN+4gOtofAAP/O1HmIvOre 55qFlfifG/W3z5InWAedA2DLL5llNlmlwQLuabGgOBTekit6bLhvuv4xyBzQRThdDi/m hfupBLC9E89mYINOfCqLQWXN/yDNjSxfwLmJdZ3F5gjBD46dRKTmgIoRqNg1lRY3pq0r BSU87RxDagR8pagHKOKK1b7x0wg6KuDH3yXRTxUAQmHSTA4rdF4LIs6vBHr3rY4XfTWz OCfw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z17si834405edl.91.2021.02.09.23.26.11; Tue, 09 Feb 2021 23:26:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232791AbhBIQOX (ORCPT + 99 others); Tue, 9 Feb 2021 11:14:23 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:23375 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232788AbhBIQOR (ORCPT ); Tue, 9 Feb 2021 11:14:17 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4DZnxl0tRtz9v0Jx; Tue, 9 Feb 2021 17:13:31 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id VNxI6Xy2d8lS; Tue, 9 Feb 2021 17:13:31 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 4DZnxk6yd8z9v0JL; Tue, 9 Feb 2021 17:13:30 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 7ED6B8B764; Tue, 9 Feb 2021 17:13:32 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id SpEj3Si2q6SX; Tue, 9 Feb 2021 17:13:32 +0100 (CET) Received: from [192.168.4.90] (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id BE8778B7EA; Tue, 9 Feb 2021 17:13:31 +0100 (CET) Subject: Re: [PATCH v5 16/22] powerpc/syscall: Avoid stack frame in likely part of system_call_exception() To: Nicholas Piggin , Benjamin Herrenschmidt , Michael Ellerman , msuchanek@suse.de, Paul Mackerras Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org References: <981edfd50d4c980634b74c4bb76b765c499a87ec.1612796617.git.christophe.leroy@csgroup.eu> <1612834634.qle1lc7n6y.astroid@bobo.none> From: Christophe Leroy Message-ID: Date: Tue, 9 Feb 2021 17:13:17 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <1612834634.qle1lc7n6y.astroid@bobo.none> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 09/02/2021 à 02:55, Nicholas Piggin a écrit : > Excerpts from Christophe Leroy's message of February 9, 2021 1:10 am: >> When r3 is not modified, reload it from regs->orig_r3 to free >> volatile registers. This avoids a stack frame for the likely part >> of system_call_exception() > > This doesn't on my 64s build, but it does reduce one non volatile > register save/restore. With quite a bit more register pressure > reduction 64s can avoid the stack frame as well. The stack frame is not due to the registers because on PPC64 you have the redzone that you don't have on PPC32. As far as I can see, this is due to a call to .arch_local_irq_restore(). On ppc32 arch_local_irq_restore() is just a write to MSR. > > It's a cool trick but quite code and compiler specific so I don't know > how worthwhile it is to keep considering we're calling out into random > kernel C code after this. > > Maybe just keep it PPC32 specific for the moment, will have to do more > tuning for 64 and we have other stuff to do there first. > > If you are happy to make it 32-bit only then I think we can leave without this, that's only one or two cycles won. > > Reviewed-by: Nicholas Piggin >