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 1tglHz-00DOHV-LF for pgsql-hackers@arkaria.postgresql.org; Sat, 08 Feb 2025 13:54:32 +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 1tglHx-0085kr-Kw for pgsql-hackers@arkaria.postgresql.org; Sat, 08 Feb 2025 13:54:29 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tglHx-0085kj-9D for pgsql-hackers@lists.postgresql.org; Sat, 08 Feb 2025 13:54:29 +0000 Received: from mail-lf1-x130.google.com ([2a00:1450:4864:20::130]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tglHu-004Ybq-1V for pgsql-hackers@postgresql.org; Sat, 08 Feb 2025 13:54:28 +0000 Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-545039b6a67so697380e87.0 for ; Sat, 08 Feb 2025 05:54:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1739022866; x=1739627666; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=j2iunOUHMMk6n/X59vYWnPXHoPiHKFcG0mPIJsu/714=; b=VlLnWfbOWL/cfrgUGFSbG4XcE6tu3B9kuTWWegzAu4XW3/Cw7/vKzR00vMjtgTGMBL 3RQV8nHXKDhyvP8DBqtKe2+3x2vSFcpR2vGrE3pY1UUqgRAGXulC5ZE10QiBEjCh16B9 Nm3YvDTmwdZ9emgj2cNRJ5qO6zvVqfLIRK037FX9Z8OStjORKVh72gyPQC0MYkxQFBY9 tp7i0oDgRfpdf+7Bwx+A0VA8t4KkPdNbAnFK7fXz938E75aY/tfkBkXz5P+L/3ZuBN/i OTfqQmh95gLs5mcFUbPhiKFNJv8kbTbh4pWRYGK/isxydpvry4TMf9mBnOiQc7lAD1Qy Tj6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739022866; x=1739627666; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=j2iunOUHMMk6n/X59vYWnPXHoPiHKFcG0mPIJsu/714=; b=kQCORXiSKEpfLD2Ebv3caxXxriDvGYRrOJ2CgQYCATtNzgsaOnQIxy54fkInQmJ+gw cR3AcFu5DnrKTnSb2DVxTKfx+eMesSuhQL9nZtL7vHeaZ+Q9HmXKyVReOAdKPhLTnjy1 y5GkmNYoAH9oZYqlMEfYwvO+zcnWzxWfRkZ2nV2z72fZwGkkbUvYywsRPvxLkmoHh48h V+PEkBqgr7IiQS1dawkFUsQWEU9g+i7fbZF3v8uo2M55eHfb8uojET+TF0WGvg+QWVqq WgFCO52c1JwG60EblkkZf63IQywdWgceqZEy695CV4kl3lSY2Yi7srKWnttfuVpR5C/O 2Vaw== X-Gm-Message-State: AOJu0YxEYpKWRvcEEVj6bxHNpVU4+eQi4lWCj7eMtccPXOzWaa+lYjX0 0we2lE9Y1yqmYjifBBSTABn3o4/mH7CbmSmQez0KdO7aprbNlVrXpmDtlcVfD/K1iH3agb06cyE v5p/vyxOrNDqFj/HoJrRg44jQBn4zCfOxUqQJ3w== X-Gm-Gg: ASbGnctFn0YFWO21pz/6zOgJ/+aFv7JZQifEokwuJgJxGzBGiyOfay0PqCtJ9S77Awk HuLB9qi5GNv5mhBA1WVbXDA5OPoaZY70byvVdEyGpIr3dFTJImka5kvb5wO8RBeauFo3mPtJGFw == X-Google-Smtp-Source: AGHT+IG9Gyt031YrfiV4jKEwTmR6Emv3sTPAFoV20BqNmSn+3ZI/sh/otTrQ/x+qUDjhcxRbLhs1qVhqlBrMALeFysA= X-Received: by 2002:ac2:58da:0:b0:545:6fa:bf69 with SMTP id 2adb3069b0e04-54506fac161mr354176e87.31.1739022865583; Sat, 08 Feb 2025 05:54:25 -0800 (PST) MIME-Version: 1.0 References: <1614321.1735055528@sss.pgh.pa.us> <3861403.1735576764@sss.pgh.pa.us> <1f22794321b745549d54359d343e37b8@oss.nttdata.com> <2c9d6eaf26df17bec13bb03bf1e9bcbb@oss.nttdata.com> In-Reply-To: <2c9d6eaf26df17bec13bb03bf1e9bcbb@oss.nttdata.com> From: Jelte Fennema-Nio Date: Sat, 8 Feb 2025 14:54:14 +0100 X-Gm-Features: AWEUYZmcgol_CnhvWHY51OQ4algI6d8i2nPbSP5P5k8OdOWVMLj-XVI2n_ue63c Message-ID: Subject: Re: RFC: Allow EXPLAIN to Output Page Fault Information To: torikoshia Cc: pgsql-hackers@postgresql.org, rjuju123@gmail.com, tgl@sss.pgh.pa.us, Bruce Momjian Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, 27 Jan 2025 at 10:05, torikoshia wrote: > Therefore, I believe it would be reasonable to report the raw values > as-is, as they should still be useful for understanding storage I/O > activity. Sounds reasonable. Below some feedback on the patch. It's all really minor. The patch looks great. I'll play around with it a bit next week. meta: it's confusing that this one is called v1 again, it would be clearer if it was called v2. nit: at line 528 the "if (es->buffers)" check can simply be merged with the if block above (which does the exact same check) > if (usage->inblock <= 0 && usage->outblock <= 0) > return false; > > else > return true; nit: You can replace that if-else with: return usage->inblock > 0 || usage->outblock > 0; > StorageIOUsageAccumDiff(StorageIOUsage *dst, const StorageIOUsage *add, const StorageIOUsage *sub) Missing a function comment