Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pSeAI-0002Z7-L3 for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Feb 2023 13:19:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pSeAH-000807-9Z for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Feb 2023 13:19:09 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pSeAG-0007zx-S8 for pgsql-hackers@lists.postgresql.org; Thu, 16 Feb 2023 13:19:09 +0000 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pSeAE-0006nK-Kr for pgsql-hackers@postgresql.org; Thu, 16 Feb 2023 13:19:07 +0000 Received: by mail-wr1-x436.google.com with SMTP id v30so633901wrv.3 for ; Thu, 16 Feb 2023 05:19:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=XD602NDcy4O8TgIVrZjKWt5sTu1AxtT/mBbKo/47igk=; b=kNEcoxJrb4g7jNVKyyyYyhMB+bLp7U5NHr3mmULnCj31xXSjE2RO04fkLS+uShpk2f 3U33c9L3wF5JdLE3sATk9xGBvOO7CNlvlYh7PQoDwof+ybqu7OQcL70LnTV2WEODKfxg K7XJNSSnl27Wr+ktMaeH53JEYfwP8hJQp4m1DsxOCBgoOrSiDtvjCtlMS9pncqwR7Dgf 8GqC9yT5CmpKzOWecBoW2FIHcAjxYyVlasqqgcgF84aDBBN4+x6aOHTA6cLKVi5Ylcf8 1ndEm/UZXzmqMd3g6B7MIK5yiKRSnoHHekqpItK6Y3XYa8HqbEYFz2Ga9zs7yr+5tul8 a8fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XD602NDcy4O8TgIVrZjKWt5sTu1AxtT/mBbKo/47igk=; b=IPwIs/ksvEOhwy8ysdU23qPBjt+R2S1U01B3eo/SEjrVNb2XynJ/brofnvRIfnwZfp tuU0yC7ke7xvuSP1W+/Sv6GLi8Ca9FgaTTzlornS0g1c8f4GMY9m+IkvAEbQPjL0z5sL 4wAqnVZg968V12HAuUMftvyMzabFWxYpQULVOIU5WXzzfUzb4oFxGmfSAYFEwSysKjtD jwfeNLnyA+KcQ7cdX696jG4aaxAiFwxuyOJmqB55DZz4hKPMt3jt52JM6GyQCoBdbWyj hIkJ0KtXN8T8o+vqK0dn+Tf4dM8gD2XD4fvi5xIXioOVxzW76uec4mTGOHlouw4wBzHx 73qA== X-Gm-Message-State: AO0yUKX1hYrfC4RcxT+ebpmfyiIHzpWXecCbHYikpR/X0fhuyj1h6Pzi hfWHiWKwQKtiHC6qx00qq2bQ+iVl1g286A== X-Google-Smtp-Source: AK7set/OBJ+84PhzEYnJJBkD9O4i29MmvKymyRhkqL7RigE/17ARSS5EU7K6U/pjRGcS9pgX7QVEkg== X-Received: by 2002:adf:ec48:0:b0:2c5:9eaa:831 with SMTP id w8-20020adfec48000000b002c59eaa0831mr358216wrn.69.1676553544016; Thu, 16 Feb 2023 05:19:04 -0800 (PST) Received: from [192.168.1.244] ([176.43.99.98]) by smtp.gmail.com with ESMTPSA id c1-20020adfe701000000b002c5526234d2sm1530038wrm.8.2023.02.16.05.19.02 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Feb 2023 05:19:03 -0800 (PST) Content-Type: multipart/mixed; boundary="------------kuHJ1pslCpEA2pjcwBWXu8ud" Message-ID: <1feedb83-7aa9-cb4b-5086-598349d3f555@gmail.com> Date: Thu, 16 Feb 2023 16:19:02 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Content-Language: en-US To: pgsql-hackers From: Nazir Bilal Yavuz Subject: Refactor calculations to use instr_time List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------kuHJ1pslCpEA2pjcwBWXu8ud Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, In 'instr_time.h' it is stated that: * When summing multiple measurements, it's recommended to leave the * running sum in instr_time form (ie, use INSTR_TIME_ADD or * INSTR_TIME_ACCUM_DIFF) and convert to a result format only at the end. So, I refactored 'PendingWalStats' to use 'instr_time' instead of 'PgStat_Counter' while accumulating 'wal_write_time' and 'wal_sync_time'. Also, I refactored some calculations to use 'INSTR_TIME_ACCUM_DIFF' instead of using 'INSTR_TIME_SUBTRACT' and 'INSTR_TIME_ADD'. What do you think? Regards, Nazir Bilal Yavuz Microsoft --------------kuHJ1pslCpEA2pjcwBWXu8ud Content-Type: text/x-diff; charset=UTF-8; name="v1-0001-Refactor-instr_time-calculations.patch" Content-Disposition: attachment; filename="v1-0001-Refactor-instr_time-calculations.patch" Content-Transfer-Encoding: base64 RnJvbSA1MjE2YzcwZGE1M2ZmMzJiOGU5ODk4NTk1NDQ1YWQ2ZjQ4ODBiMDZkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYXppciBCaWxhbCBZYXZ1eiA8YnlhdnV6ODFAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDIgRmViIDIwMjMgMTU6MDY6NDggKzAzMDAKU3ViamVjdDog W1BBVENIIHYxXSBSZWZhY3RvciBpbnN0cl90aW1lIGNhbGN1bGF0aW9ucwoKLS0tCiBzcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMgICAgICAgfCAgNiArKy0tLS0KIHNyYy9i YWNrZW5kL3N0b3JhZ2UvZmlsZS9idWZmaWxlLmMgICAgICB8ICA2ICsrLS0tLQogc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3dhbC5jIHwgMjcgKysrKysrKysrKysrLS0t LS0tLS0tLS0tLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgIHwg MTcgKysrKysrKysrKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCsp LCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJh bnNhbS94bG9nLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKaW5kZXgg ZjlmMGY2ZGI4ZDEuLjNjMzVkYzFjYTIzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS94bG9nLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxv Zy5jCkBAIC0yMjA2LDggKzIyMDYsNyBAQCBYTG9nV3JpdGUoWExvZ3dydFJxc3QgV3JpdGVS cXN0LCBUaW1lTGluZUlEIHRsaSwgYm9vbCBmbGV4aWJsZSkKIAkJCQkJaW5zdHJfdGltZQlk dXJhdGlvbjsKIAogCQkJCQlJTlNUUl9USU1FX1NFVF9DVVJSRU5UKGR1cmF0aW9uKTsKLQkJ CQkJSU5TVFJfVElNRV9TVUJUUkFDVChkdXJhdGlvbiwgc3RhcnQpOwotCQkJCQlQZW5kaW5n V2FsU3RhdHMud2FsX3dyaXRlX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlDUk9TRUMoZHVy YXRpb24pOworCQkJCQlJTlNUUl9USU1FX0FDQ1VNX0RJRkYoUGVuZGluZ1dhbFN0YXRzLndh bF93cml0ZV90aW1lLCBkdXJhdGlvbiwgc3RhcnQpOwogCQkJCX0KIAogCQkJCVBlbmRpbmdX YWxTdGF0cy53YWxfd3JpdGUrKzsKQEAgLTgyMDEsOCArODIwMCw3IEBAIGlzc3VlX3hsb2df ZnN5bmMoaW50IGZkLCBYTG9nU2VnTm8gc2Vnbm8sIFRpbWVMaW5lSUQgdGxpKQogCQlpbnN0 cl90aW1lCWR1cmF0aW9uOwogCiAJCUlOU1RSX1RJTUVfU0VUX0NVUlJFTlQoZHVyYXRpb24p OwotCQlJTlNUUl9USU1FX1NVQlRSQUNUKGR1cmF0aW9uLCBzdGFydCk7Ci0JCVBlbmRpbmdX YWxTdGF0cy53YWxfc3luY190aW1lICs9IElOU1RSX1RJTUVfR0VUX01JQ1JPU0VDKGR1cmF0 aW9uKTsKKwkJSU5TVFJfVElNRV9BQ0NVTV9ESUZGKFBlbmRpbmdXYWxTdGF0cy53YWxfc3lu Y190aW1lLCBkdXJhdGlvbiwgc3RhcnQpOwogCX0KIAogCVBlbmRpbmdXYWxTdGF0cy53YWxf c3luYysrOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2J1ZmZpbGUu YyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9idWZmaWxlLmMKaW5kZXggMGE1MTYyNGRm M2IuLmU1NWY4NmI2NzVlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUv YnVmZmlsZS5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9idWZmaWxlLmMKQEAg LTQ2OSw4ICs0NjksNyBAQCBCdWZGaWxlTG9hZEJ1ZmZlcihCdWZGaWxlICpmaWxlKQogCWlm ICh0cmFja19pb190aW1pbmcpCiAJewogCQlJTlNUUl9USU1FX1NFVF9DVVJSRU5UKGlvX3Rp bWUpOwotCQlJTlNUUl9USU1FX1NVQlRSQUNUKGlvX3RpbWUsIGlvX3N0YXJ0KTsKLQkJSU5T VFJfVElNRV9BREQocGdCdWZmZXJVc2FnZS50ZW1wX2Jsa19yZWFkX3RpbWUsIGlvX3RpbWUp OworCQlJTlNUUl9USU1FX0FDQ1VNX0RJRkYocGdCdWZmZXJVc2FnZS50ZW1wX2Jsa19yZWFk X3RpbWUsIGlvX3RpbWUsIGlvX3N0YXJ0KTsKIAl9CiAKIAkvKiB3ZSBjaG9vc2Ugbm90IHRv IGFkdmFuY2UgY3VyT2Zmc2V0IGhlcmUgKi8KQEAgLTU0NCw4ICs1NDMsNyBAQCBCdWZGaWxl RHVtcEJ1ZmZlcihCdWZGaWxlICpmaWxlKQogCQlpZiAodHJhY2tfaW9fdGltaW5nKQogCQl7 CiAJCQlJTlNUUl9USU1FX1NFVF9DVVJSRU5UKGlvX3RpbWUpOwotCQkJSU5TVFJfVElNRV9T VUJUUkFDVChpb190aW1lLCBpb19zdGFydCk7Ci0JCQlJTlNUUl9USU1FX0FERChwZ0J1ZmZl clVzYWdlLnRlbXBfYmxrX3dyaXRlX3RpbWUsIGlvX3RpbWUpOworCQkJSU5TVFJfVElNRV9B Q0NVTV9ESUZGKHBnQnVmZmVyVXNhZ2UudGVtcF9ibGtfd3JpdGVfdGltZSwgaW9fdGltZSwg aW9fc3RhcnQpOwogCQl9CiAKIAkJZmlsZS0+Y3VyT2Zmc2V0ICs9IGJ5dGVzdG93cml0ZTsK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF93YWwuYyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF93YWwuYwppbmRleCBlODU5OGIy ZjRlMC4uNTYyMTFmYmM2MWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF93YWwuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXRfd2FsLmMKQEAgLTIxLDcgKzIxLDcgQEAKICNpbmNsdWRlICJleGVjdXRvci9pbnN0cnVt ZW50LmgiCiAKIAotUGdTdGF0X1dhbFN0YXRzIFBlbmRpbmdXYWxTdGF0cyA9IHswfTsKK1Bn U3RhdF9QZW5kaW5nV2FsVXNhZ2UgUGVuZGluZ1dhbFN0YXRzID0gezB9OwogCiAvKgogICog V0FMIHVzYWdlIGNvdW50ZXJzIHNhdmVkIGZyb20gcGdXQUxVc2FnZSBhdCB0aGUgcHJldmlv dXMgY2FsbCB0bwpAQCAtODksMjYgKzg5LDI1IEBAIHBnc3RhdF9mbHVzaF93YWwoYm9vbCBu b3dhaXQpCiAJICogcHJldmlvdXMgY291bnRlcnMgZnJvbSB0aGUgY3VycmVudCBvbmVzLgog CSAqLwogCVdhbFVzYWdlQWNjdW1EaWZmKCZkaWZmLCAmcGdXYWxVc2FnZSwgJnByZXZXYWxV c2FnZSk7Ci0JUGVuZGluZ1dhbFN0YXRzLndhbF9yZWNvcmRzID0gZGlmZi53YWxfcmVjb3Jk czsKLQlQZW5kaW5nV2FsU3RhdHMud2FsX2ZwaSA9IGRpZmYud2FsX2ZwaTsKLQlQZW5kaW5n V2FsU3RhdHMud2FsX2J5dGVzID0gZGlmZi53YWxfYnl0ZXM7CiAKIAlpZiAoIW5vd2FpdCkK IAkJTFdMb2NrQWNxdWlyZSgmc3RhdHNfc2htZW0tPmxvY2ssIExXX0VYQ0xVU0lWRSk7CiAJ ZWxzZSBpZiAoIUxXTG9ja0NvbmRpdGlvbmFsQWNxdWlyZSgmc3RhdHNfc2htZW0tPmxvY2ss IExXX0VYQ0xVU0lWRSkpCiAJCXJldHVybiB0cnVlOwogCi0jZGVmaW5lIFdBTFNUQVRfQUND KGZsZCkgc3RhdHNfc2htZW0tPnN0YXRzLmZsZCArPSBQZW5kaW5nV2FsU3RhdHMuZmxkCi0J V0FMU1RBVF9BQ0Mod2FsX3JlY29yZHMpOwotCVdBTFNUQVRfQUNDKHdhbF9mcGkpOwotCVdB TFNUQVRfQUNDKHdhbF9ieXRlcyk7Ci0JV0FMU1RBVF9BQ0Mod2FsX2J1ZmZlcnNfZnVsbCk7 Ci0JV0FMU1RBVF9BQ0Mod2FsX3dyaXRlKTsKLQlXQUxTVEFUX0FDQyh3YWxfc3luYyk7Ci0J V0FMU1RBVF9BQ0Mod2FsX3dyaXRlX3RpbWUpOwotCVdBTFNUQVRfQUNDKHdhbF9zeW5jX3Rp bWUpOworI2RlZmluZSBXQUxTVEFUX0FDQyhmbGQsIHZhcl90b19hZGQpIFwKKyAJKHN0YXRz X3NobWVtLT5zdGF0cy5mbGQgKz0gdmFyX3RvX2FkZC5mbGQpCisjZGVmaW5lIFdBTExTVEFU X0FDQ19JTlNUUl9USU1FX1RZUEUoZmxkKSBcCisJKHN0YXRzX3NobWVtLT5zdGF0cy5mbGQg Kz0gSU5TVFJfVElNRV9HRVRfTUlDUk9TRUMoUGVuZGluZ1dhbFN0YXRzLmZsZCkpCisJV0FM U1RBVF9BQ0Mod2FsX3JlY29yZHMsIGRpZmYpOworCVdBTFNUQVRfQUNDKHdhbF9mcGksIGRp ZmYpOworCVdBTFNUQVRfQUNDKHdhbF9ieXRlcywgZGlmZik7CisJV0FMU1RBVF9BQ0Mod2Fs X2J1ZmZlcnNfZnVsbCwgUGVuZGluZ1dhbFN0YXRzKTsKKwlXQUxTVEFUX0FDQyh3YWxfd3Jp dGUsIFBlbmRpbmdXYWxTdGF0cyk7CisJV0FMU1RBVF9BQ0Mod2FsX3N5bmMsIFBlbmRpbmdX YWxTdGF0cyk7CisJV0FMTFNUQVRfQUNDX0lOU1RSX1RJTUVfVFlQRSh3YWxfd3JpdGVfdGlt ZSk7CisJV0FMTFNUQVRfQUNDX0lOU1RSX1RJTUVfVFlQRSh3YWxfc3luY190aW1lKTsKICN1 bmRlZiBXQUxTVEFUX0FDQwotCiAJTFdMb2NrUmVsZWFzZSgmc3RhdHNfc2htZW0tPmxvY2sp OwogCiAJLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1 ZGUvcGdzdGF0LmgKaW5kZXggZGI5Njc1ODg0ZjMuLjI5NWM1ZWFiZjM4IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAt NDQ1LDYgKzQ0NSwyMSBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfV2FsU3RhdHMKIAlUaW1l c3RhbXBUeiBzdGF0X3Jlc2V0X3RpbWVzdGFtcDsKIH0gUGdTdGF0X1dhbFN0YXRzOwogCisv KiBDcmVhdGVkIGZvciBhY2N1bXVsYXRpbmcgd2FsX3dyaXRlX3RpbWUgYW5kIHdhbF9zeW5j X3RpbWUgYXMgYSBpbnN0cl90aW1lCisgKiBidXQgaW5zdHJfdGltZSBjYW4ndCBiZSB1c2Vk IGFzIGEgdHlwZSB3aGVyZSBpdCBlbmRzIHVwIG9uLWRpc2sKKyAqIGJlY2F1c2UgaXRzIHVu aXRzIG1heSBjaGFuZ2UuIFBnU3RhdF9XYWxTdGF0cyB0eXBlIGlzIHVzZWQgZm9yCisgKiBp bi1tZW1vcnkvb24tZGlzayBkYXRhLiBTbywgUGdTdGF0X1BlbmRpbmdXYWxVc2FnZSBpcyBj cmVhdGVkIGZvcgorICogYWNjdW11bGF0aW5nIGludGVydmFscyBhcyBhIGluc3RyX3RpbWUu CisgKi8KK3R5cGVkZWYgc3RydWN0IFBnU3RhdF9QZW5kaW5nV2FsVXNhZ2UKK3sKKwlQZ1N0 YXRfQ291bnRlciB3YWxfYnVmZmVyc19mdWxsOworCVBnU3RhdF9Db3VudGVyIHdhbF93cml0 ZTsKKwlQZ1N0YXRfQ291bnRlciB3YWxfc3luYzsKKwlpbnN0cl90aW1lIHdhbF93cml0ZV90 aW1lOworCWluc3RyX3RpbWUgd2FsX3N5bmNfdGltZTsKK30gUGdTdGF0X1BlbmRpbmdXYWxV c2FnZTsKKwogCiAvKgogICogRnVuY3Rpb25zIGluIHBnc3RhdC5jCkBAIC03NTgsNyArNzcz LDcgQEAgZXh0ZXJuIFBHRExMSU1QT1JUIFNlc3Npb25FbmRUeXBlIHBnU3RhdFNlc3Npb25F bmRDYXVzZTsKICAqLwogCiAvKiB1cGRhdGVkIGRpcmVjdGx5IGJ5IGJhY2tlbmRzIGFuZCBi YWNrZ3JvdW5kIHByb2Nlc3NlcyAqLwotZXh0ZXJuIFBHRExMSU1QT1JUIFBnU3RhdF9XYWxT dGF0cyBQZW5kaW5nV2FsU3RhdHM7CitleHRlcm4gUEdETExJTVBPUlQgUGdTdGF0X1BlbmRp bmdXYWxVc2FnZSBQZW5kaW5nV2FsU3RhdHM7CiAKIAogI2VuZGlmCQkJCQkJCS8qIFBHU1RB VF9IICovCi0tIAoyLjM5LjEKCg== --------------kuHJ1pslCpEA2pjcwBWXu8ud--