Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rh3Yn-009M90-VF for pgsql-hackers@arkaria.postgresql.org; Mon, 04 Mar 2024 08:20:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rh3Yl-005tTX-SG for pgsql-hackers@arkaria.postgresql.org; Mon, 04 Mar 2024 08:20:32 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rh3Yk-005tTO-Vj for pgsql-hackers@lists.postgresql.org; Mon, 04 Mar 2024 08:20:32 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rh3Yd-002lek-8s for pgsql-hackers@postgresql.org; Mon, 04 Mar 2024 08:20:30 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.nyi.internal (Postfix) with ESMTP id 73D0A5C005B; Mon, 4 Mar 2024 03:20:23 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Mon, 04 Mar 2024 03:20:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1709540423; x=1709626823; bh=I3HtGiV8Hk d6Mef0dmwz12L7f6T0y8NT8tgOohcr16Q=; b=QHraaLDiJikjXDtU9b5mcTtUE9 /2nCEioxlEhG81vo8/gdJbGx7pxx8g7nV+t2TNsjEvGInN6Kt1GIOFWKHOe5r6h5 sdV+Hg8ERP0xUxsu6NMnUu2Bi2OuDn2q7zC9Ru7Yyy5KYfAT/PWyNJ0V3DkglsCi 6XP2Zmq2ZSrcxlBoZPaXPlnXICCtkodEha5VLYNbI4nVfyBGfKSS22fz7aaEi1uC 4TWDHnbzmIWbICiHkhgwlwvE/BvyP3J6QQ9LJOydUjdNcjcqyZPqQ0QetEAI+66n aHmZtOTMVSA/uvHp/C4JloeXnfxc/fGPkGXuUM1UbmhpckH6TxzBnVcUt1NA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1709540423; x=1709626823; bh=I3HtGiV8Hkd6Mef0dmwz12L7f6T0 y8NT8tgOohcr16Q=; b=nykN8A7TdIDUz+35TzNea4m6p/E9MEj1cdkAO91duLxV ijh2G2A+p7Csup9BX5BypH6LkO4dF9RrCcnfuiSrQ2wCMrDhLtapTlVcPMdZmw2p JCmHOqTTpeNAbPxGlAVF7IoiAh0h2iNfvO9DmhSbT/bfkFhC876BX+THQ+4n4Qrj aGRfrGU56SelQpbhgTdBbyh0RA6YjJiHH09Bddjl+m0AWr4F7xmWA9jtsTB+LXC/ bcUvd/gCMQbslBC7bmQ8lZDSrXLTjRXnNfS0bE/R+dnfyT6QsUdIu27hRn70YFne ZxLCaI4xHOa5lsPTIR6gby4Df8JNkYuuQQROGcwZjA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrheeigdduudeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkfhggtggujgesthdtredttddtvdenucfhrhhomheptehnughr vghsucfhrhgvuhhnugcuoegrnhgurhgvshesrghnrghrrgiivghlrdguvgeqnecuggftrf grthhtvghrnhepvdfffeevhfetveffgeeiteefhfdtvdffjeevhfeuteegleduheetvedu ieettddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh eprghnughrvghssegrnhgrrhgriigvlhdruggv X-ME-Proxy: Feedback-ID: id4a34324:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 4 Mar 2024 03:20:22 -0500 (EST) Date: Mon, 4 Mar 2024 00:20:21 -0800 From: Andres Freund To: David Rowley Cc: pgsql-hackers@postgresql.org, Robert Haas , Michael Paquier , Tomas Vondra Subject: Re: Avoid stack frame setup in performance critical routines using tail calls Message-ID: <20240304082021.bajbgem67qvgi644@alap3.anarazel.de> References: <20210719195950.gavgs6ujzmjfaiig@alap3.anarazel.de> <20230719085236.jltxal2eztqrprfg@awork3.anarazel.de> <20240222225343.7a57fiv7quehhlur@awork3.anarazel.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On 2024-03-04 17:43:50 +1300, David Rowley wrote: > On Thu, 29 Feb 2024 at 00:29, David Rowley wrote: > > I switched over to working on doing what you did in 0002 for > > generation.c and slab.c. > > > > See the attached patch which runs the same test as in [1] (aset.c is > > just there for comparisons between slab and generation) > > > > The attached includes some additional tuning to generation.c: > > I've now pushed this. Thanks for working on all these, much appreciated! Greetings, Andres Freund