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 1rR0Ss-004jhU-T9 for pgsql-hackers@arkaria.postgresql.org; Sat, 20 Jan 2024 01:48:07 +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 1rR0Sp-00BkNU-Hd for pgsql-hackers@arkaria.postgresql.org; Sat, 20 Jan 2024 01:48:03 +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 1rR0Sp-00BkNJ-3M for pgsql-hackers@lists.postgresql.org; Sat, 20 Jan 2024 01:48:03 +0000 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rR0Sm-002PK3-Ev for pgsql-hackers@lists.postgresql.org; Sat, 20 Jan 2024 01:48:01 +0000 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-28beb1d946fso1339216a91.0 for ; Fri, 19 Jan 2024 17:48:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1705715279; x=1706320079; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=D7wF03oOdHE55gVkntvc0BYoyU5MKrLzNWZQGVGBt6k=; b=LycGSmjwXLe+bcJL3NT0zMirp2T7Y8ZEjn3jWvRzMGNuOznrgaDYJV6rSqsdCkl//R 50n+qF2g0Zbr50JfSfdaRHB66iGMj7nObu2q1IshvQB0LtYgIuQjLZ7Djq4R+x1C8mmA C8NYDHSFReK1r1UJycf3ExBLBZXopifCkN/j4XyFzG73x2VHawDxTu9QsCnEgJqZk4Kp +ib3UykGGRqI2vEq3/xfsZu3SCM4nA6GNIKXNEAONoHNrxQKJPMBIdqEf4rViR2BAP6f R8/z0NTG0yTZwj5k1I/gxwUy1E2WZJvop4zwhkMNNtwm/33CX7yahNKTZRyZZ5RiDYjb 2pLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705715279; x=1706320079; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=D7wF03oOdHE55gVkntvc0BYoyU5MKrLzNWZQGVGBt6k=; b=dlFheLsZnuBdYYtySNGdtSksvvEYmK0YO52avyiyskzF37rqQPX80HWJ0xQat+Niyo UpeCbXkpgdBhutDRVm9b4Ujuhxd6gb/K4ZDAydC6zn+/AjqNcPxHttxhrUie1OqxtywG huVkWyFl8yEUo8RLZM8L5YLlA3w1DWvybiuF0+i5SVkxMqqbilxMx/uL95yL+2F+0upk DxgsnFZyXFQF2k/2GvD7AWiMNZ1dYaGubvVj1azTx/HxNrX5wOGBA+l2yJLGdemXfENO k1QveEAwYL5/CvgUpNtab1I1WXll57oGvCH+lLl7452BQJ9SgZXZGf4nmPvvFW+jiNq8 3PwA== X-Gm-Message-State: AOJu0YyLraofYfw/NBbFVaU9V6T87OnUG5humDg+y7n3Wcl4v106GS8r mkTXCQylFygh1Xlj+e/93BodlId+Vzacd2T0FFGY15YKSZNO96WdWNKM6DVd6w== X-Google-Smtp-Source: AGHT+IFgltd7WFmQeoKGtXHxbhiVaOrG5C23fozw9Iq0iHRIh7LHRaSLzKC/2T/eYlULxfvAENWmXw== X-Received: by 2002:a17:902:d485:b0:1d3:fa43:6a08 with SMTP id c5-20020a170902d48500b001d3fa436a08mr1101832plg.44.1705715279343; Fri, 19 Jan 2024 17:47:59 -0800 (PST) Received: from [172.24.2.15] ([12.126.244.130]) by smtp.gmail.com with ESMTPSA id cz4-20020a17090ad44400b0028c8a2a9c73sm4805049pjb.25.2024.01.19.17.47.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jan 2024 17:47:58 -0800 (PST) Message-ID: <60727ac9d5da9330bb4bea0c691fec2ce37296ca.camel@j-davis.com> Subject: Re: Improve WALRead() to suck data directly from WAL buffers when possible From: Jeff Davis To: Bharath Rupireddy Cc: Andres Freund , Dilip Kumar , Kyotaro Horiguchi , pgsql-hackers@lists.postgresql.org, Nathan Bossart , Masahiko Sawada Date: Fri, 19 Jan 2024 17:47:57 -0800 In-Reply-To: References: <0d84c025e38673cb575dcf4987d050fe7b1e1a1f.camel@j-davis.com> <20231011224353.cl7c2s222dw3de4j@awork3.anarazel.de> <5c6e8e60c5c156a9f51ccf850f70829e45a985a1.camel@j-davis.com> <4132fe48f831ed6f73a9eb191af5fe475384969c.camel@j-davis.com> <20231104004348.zhxzk2p266i3r2z2@awork3.anarazel.de> <20231109205836.zjoawdrn4q77yemv@awork3.anarazel.de> <3750ff9c2a5556808827e7fc5bcc0bd16e9facf4.camel@j-davis.com> <73df9831747b01ced949102610dc44ca6026ee1c.camel@j-davis.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.4-0ubuntu2 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 2024-01-10 at 19:59 +0530, Bharath Rupireddy wrote: > I've addressed the above review comments and attached v19 patch-set. Regarding: - if (!WALRead(state, cur_page, targetPagePtr, XLOG_BLCKSZ, tli, - &errinfo)) + if (!WALRead(state, cur_page, targetPagePtr, count, tli, &errinfo)) I'd like to understand the reason it was using XLOG_BLCKSZ before. Was it a performance optimization? Or was it to zero the remainder of the caller's buffer (readBuf)? Or something else? If it was to zero the remainder of the caller's buffer, then we should explicitly make that the caller's responsibility. Regards, Jeff Davis