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 1ruFq7-003wiN-L5 for pgsql-hackers@arkaria.postgresql.org; Tue, 09 Apr 2024 18:05:00 +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 1ruFq5-008ri0-SL for pgsql-hackers@arkaria.postgresql.org; Tue, 09 Apr 2024 18:04:57 +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 1ruFq5-008rhr-92 for pgsql-hackers@lists.postgresql.org; Tue, 09 Apr 2024 18:04:57 +0000 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1ruFq1-00233D-6I for pgsql-hackers@lists.postgresql.org; Tue, 09 Apr 2024 18:04:55 +0000 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-6ecff9df447so4680084b3a.1 for ; Tue, 09 Apr 2024 11:04:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1712685892; x=1713290692; darn=lists.postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=M0jum2SBg7W9U4eK6YcP7tJKOCyb7Flz/hR++X91clU=; b=klX9vLNINZLpITbfEEsEKt9xTAi0c9U0K2L6cQQ/dnlTxPJRYjupLaBLyxLrzrl7L6 pCtAb6+/9yrosuNKumxtlWyzYOYKbFCFzWWX3lxH3LH+QRBw2aXPKsXi3PIRKjQDfsSk A/RnizKRmd/WC2mlQDQM7EFLu7uupvdfOL4a2seCxr4T4LLZ8pFvkmEd27mNTao8+eGH DMLG3C5yfZt5O6JaESeVm3VkQpOd+DMX0k0bGPoOgas8fhwqYg/OzKdjgvSdgE8ocVLh 4tt/AgSFOy7xByyTat9bxQ5D2amEsf9n5o8C+Pp+Nk5BBHlTgBe8iJ52Cu6pvmPnrEPA CYZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712685892; x=1713290692; h=mime-version:user-agent: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=M0jum2SBg7W9U4eK6YcP7tJKOCyb7Flz/hR++X91clU=; b=DSKVCNzjPmaq5sQ7qw0/QWjD8QfIq8MeDEpnX7/SdZAcym64KcgfyY50ckeEf9+Pbv ms+PTX9xMsxmTsjfa4Cyfa51p4ERBdnr0HstU3xhYbKeKcSfXeibg2jlmSiEsUttjj0d fb2mAmkrxRa1ikcop+Rhk1779SeMcnHGss7GH/211rMEbtydr+iLazPWk3/WuW5ue4h3 MFp0pevkMap4CPbp8fmnCTgvkEMi3E0Ri3NOlvyfvBv3llVu5RJqjPiFWKgnaFnI+iRc YQS1OGPlRsXW6d4+WtTEOYcr+LfsMUGggU4Ft/lrx7FRSXdwO3wkhuI/lGPxN3llRAQ5 bvRg== X-Forwarded-Encrypted: i=1; AJvYcCUQmfEdhxyeYLvwX91Dp08NXzNswQAX7q+7SJ0K8j81CG6Mg1u/LgWJpSRpaGg+Ek/DzawPl/8n2/+CdlGO5BoxyLzNlDB0HSYuFlei6KyJNgbB X-Gm-Message-State: AOJu0YxuNglxNEYdeyH7+9rmcpFJ+xNX+YPCsuA+nYeytZy/Cn9AOBuM OC/XzvEUqkT/0WF7HAXvLAEclpeWJXl/sa4b5uQQSW+foj/aRDBOQ/wkHaJU6w== X-Google-Smtp-Source: AGHT+IEKi7b5r+eCy1n23F5tGUneqIqJ9fCDdwOikROZK8fLMSRiO04uovxJ7wVc0C5jv3W6VotJpQ== X-Received: by 2002:a05:6a00:4f90:b0:6ed:1c7:8c5d with SMTP id ld16-20020a056a004f9000b006ed01c78c5dmr389748pfb.12.1712685892144; Tue, 09 Apr 2024 11:04:52 -0700 (PDT) Received: from jeff-laptop.lan (c-76-102-242-158.hsd1.ca.comcast.net. [76.102.242.158]) by smtp.gmail.com with ESMTPSA id g14-20020aa7874e000000b006e69a142458sm8608236pfo.213.2024.04.09.11.04.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 11:04:51 -0700 (PDT) Message-ID: <791d98f474e518387d09eb390b8a12f265d130cc.camel@j-davis.com> Subject: Re: Improve eviction algorithm in ReorderBuffer From: Jeff Davis To: Masahiko Sawada Cc: Amit Kapila , vignesh C , Peter Smith , Tomas Vondra , "Hayato Kuroda (Fujitsu)" , Shubham Khanna , Dilip Kumar , PostgreSQL Hackers Date: Tue, 09 Apr 2024 11:04:49 -0700 In-Reply-To: References: <23e03725-8c77-431d-9f53-51709260ffeb@enterprisedb.com> <787cd90b-48ff-4c4a-a63e-a2b3f494385d@enterprisedb.com> <12747c15811d94efcc5cda72d6b35c80d7bf3443.camel@j-davis.com> Content-Type: multipart/mixed; boundary="=-hFgQDeb/a/gmTv/l2TCo" 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 --=-hFgQDeb/a/gmTv/l2TCo Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2024-04-05 at 16:58 +0900, Masahiko Sawada wrote: > > I have some further comments and I believe changes are required for > > v17. I also noticed that the simplehash is declared in binaryheap.h with "SH_SCOPE extern", which seems wrong. Attached is a rough patch to bring the declarations into binaryheap.c. Note that the attached patch uses "SH_SCOPE static", which makes sense to me in this case, but causes a bunch of warnings in gcc. I will post separately about silencing that warning, but for now you can either use: SH_SCOPE static inline which is probably fine, but will encourage the compiler to inline more code, when not all callers even use the hash table. Alternatively, you can do: SH_SCOPE static pg_attribute_unused() which looks a bit wrong to me, but seems to silence the warnings, and lets the compiler decide whether or not to inline. Also probably needs comment updates, etc. Regards, Jeff Davis --=-hFgQDeb/a/gmTv/l2TCo Content-Disposition: attachment; filename*0=v1-0001-binaryheap-move-hash-table-out-of-header-into-bin.pat; filename*1=ch Content-Type: text/x-patch; name="v1-0001-binaryheap-move-hash-table-out-of-header-into-bin.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAwOGRjZjIxNjQ2ZTRkZWQyMmIxMGZkMGVkNTM2ZDNiYmY2ZmMxMzI4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDkgQXByIDIwMjQgMTA6NDU6MDAgLTA3MDAKU3ViamVjdDogW1BBVENIIHYxXSBiaW5hcnlo ZWFwOiBtb3ZlIGhhc2ggdGFibGUgb3V0IG9mIGhlYWRlciBpbnRvCiBiaW5hcnloZWFwLmMuCgpD b21taXQgYjg0MDUwODY0NCBkZWNsYXJlZCB0aGUgaW50ZXJuYWwgaGFzaCB0YWJsZSBpbiB0aGUg aGVhZGVyIHdpdGgKc2NvcGUgImV4dGVybiIsIHdoaWNoIHdhcyB1bm5lY2Vzc2FyeS4KLS0tCiBz cmMvY29tbW9uL2JpbmFyeWhlYXAuYyAgICAgIHwgMTUgKysrKysrKysrKysrKystCiBzcmMvaW5j bHVkZS9saWIvYmluYXJ5aGVhcC5oIHwgMjUgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBm aWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMvY29tbW9uL2JpbmFyeWhlYXAuYyBiL3NyYy9jb21tb24vYmluYXJ5aGVhcC5jCmlu ZGV4IGMyMGVkNTBhY2MuLjI1MDFkYWQ2ZjIgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vYmluYXJ5 aGVhcC5jCisrKyBiL3NyYy9jb21tb24vYmluYXJ5aGVhcC5jCkBAIC0yNSw2ICsyNSwxOCBAQAog I2luY2x1ZGUgImNvbW1vbi9oYXNoZm4uaCIKICNpbmNsdWRlICJsaWIvYmluYXJ5aGVhcC5oIgog CisvKgorICogU3RydWN0IGZvciBhIGhhc2ggdGFibGUgZWxlbWVudCB0byBzdG9yZSB0aGUgbm9k ZSdzIGluZGV4IGluIHRoZSBiaF9ub2RlcworICogYXJyYXkuCisgKi8KK3R5cGVkZWYgc3RydWN0 IGJoX25vZGVpZHhfZW50cnkKK3sKKwliaF9ub2RlX3R5cGUga2V5OworCWludAkJCWluZGV4OwkJ CS8qIGVudHJ5J3MgaW5kZXggd2l0aGluIHRoZSBub2RlIGFycmF5ICovCisJY2hhcgkJc3RhdHVz OwkJCS8qIGhhc2ggc3RhdHVzICovCisJdWludDMyCQloYXNoOwkJCS8qIGhhc2ggdmFsdWVzIChj YWNoZWQpICovCit9IGJoX25vZGVpZHhfZW50cnk7CisKIC8qCiAgKiBEZWZpbmUgcGFyYW1ldGVy cyBmb3IgaGFzaCB0YWJsZSBjb2RlIGdlbmVyYXRpb24uIFRoZSBpbnRlcmZhY2UgaXMgKmFsc28q CiAgKiBkZWNsYXJlZCBpbiBiaW5hcnloZWFwLmggKHRvIGdlbmVyYXRlIHRoZSB0eXBlcywgd2hp Y2ggYXJlIGV4dGVybmFsbHkKQEAgLTM3LDEyICs0OSwxMyBAQAogI2RlZmluZSBTSF9IQVNIX0tF WSh0Yiwga2V5KSBcCiAJaGFzaF9ieXRlcygoY29uc3QgdW5zaWduZWQgY2hhciAqKSAma2V5LCBz aXplb2YoYmhfbm9kZV90eXBlKSkKICNkZWZpbmUgU0hfRVFVQUwodGIsIGEsIGIpIChtZW1jbXAo JmEsICZiLCBzaXplb2YoYmhfbm9kZV90eXBlKSkgPT0gMCkKLSNkZWZpbmUgU0hfU0NPUEUgZXh0 ZXJuCisjZGVmaW5lIFNIX1NDT1BFIHN0YXRpYwogI2lmZGVmIEZST05URU5ECiAjZGVmaW5lIFNI X1JBV19BTExPQ0FUT1IgcGdfbWFsbG9jMAogI2VuZGlmCiAjZGVmaW5lIFNIX1NUT1JFX0hBU0gK ICNkZWZpbmUgU0hfR0VUX0hBU0godGIsIGEpIGEtPmhhc2gKKyNkZWZpbmUgU0hfREVDTEFSRQog I2RlZmluZSBTSF9ERUZJTkUKICNpbmNsdWRlICJsaWIvc2ltcGxlaGFzaC5oIgogCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9saWIvYmluYXJ5aGVhcC5oIGIvc3JjL2luY2x1ZGUvbGliL2JpbmFy eWhlYXAuaAppbmRleCA0YzFhMWJiMjc0Li44YjQ3MTMyZmMzIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9saWIvYmluYXJ5aGVhcC5oCisrKyBiL3NyYy9pbmNsdWRlL2xpYi9iaW5hcnloZWFwLmgK QEAgLTI5LDI5ICsyOSw2IEBAIHR5cGVkZWYgRGF0dW0gYmhfbm9kZV90eXBlOwogICovCiB0eXBl ZGVmIGludCAoKmJpbmFyeWhlYXBfY29tcGFyYXRvcikgKGJoX25vZGVfdHlwZSBhLCBiaF9ub2Rl X3R5cGUgYiwgdm9pZCAqYXJnKTsKIAotLyoKLSAqIFN0cnVjdCBmb3IgYSBoYXNoIHRhYmxlIGVs ZW1lbnQgdG8gc3RvcmUgdGhlIG5vZGUncyBpbmRleCBpbiB0aGUgYmhfbm9kZXMKLSAqIGFycmF5 LgotICovCi10eXBlZGVmIHN0cnVjdCBiaF9ub2RlaWR4X2VudHJ5Ci17Ci0JYmhfbm9kZV90eXBl IGtleTsKLQlpbnQJCQlpbmRleDsJCQkvKiBlbnRyeSdzIGluZGV4IHdpdGhpbiB0aGUgbm9kZSBh cnJheSAqLwotCWNoYXIJCXN0YXR1czsJCQkvKiBoYXNoIHN0YXR1cyAqLwotCXVpbnQzMgkJaGFz aDsJCQkvKiBoYXNoIHZhbHVlcyAoY2FjaGVkKSAqLwotfSBiaF9ub2RlaWR4X2VudHJ5OwotCi0v KiBEZWZpbmUgcGFyYW1ldGVycyBuZWNlc3NhcnkgdG8gZ2VuZXJhdGUgdGhlIGhhc2ggdGFibGUg aW50ZXJmYWNlLiAqLwotI2RlZmluZSBTSF9QUkVGSVggYmhfbm9kZWlkeAotI2RlZmluZSBTSF9F TEVNRU5UX1RZUEUgYmhfbm9kZWlkeF9lbnRyeQotI2RlZmluZSBTSF9LRVlfVFlQRSBiaF9ub2Rl X3R5cGUKLSNkZWZpbmUgU0hfU0NPUEUgZXh0ZXJuCi0jaWZkZWYgRlJPTlRFTkQKLSNkZWZpbmUg U0hfUkFXX0FMTE9DQVRPUiBwZ19tYWxsb2MwCi0jZW5kaWYKLSNkZWZpbmUgU0hfREVDTEFSRQot I2luY2x1ZGUgImxpYi9zaW1wbGVoYXNoLmgiCi0KIC8qCiAgKiBiaW5hcnloZWFwCiAgKgpAQCAt NzYsNyArNTMsNyBAQCB0eXBlZGVmIHN0cnVjdCBiaW5hcnloZWFwCiAJICogbm9kZSdzIGluZGV4 IGluIGJoX25vZGVzLiBUaGlzIGVuYWJsZXMgdGhlIGNhbGxlciB0byBwZXJmb3JtCiAJICogYmlu YXJ5aGVhcF9yZW1vdmVfbm9kZV9wdHIoKSwgYmluYXJ5aGVhcF91cGRhdGVfdXAvZG93biBpbiBP KGxvZyBuKS4KIAkgKi8KLQliaF9ub2RlaWR4X2hhc2ggKmJoX25vZGVpZHg7CisJc3RydWN0IGJo X25vZGVpZHhfaGFzaCAqYmhfbm9kZWlkeDsKIH0gYmluYXJ5aGVhcDsKIAogZXh0ZXJuIGJpbmFy eWhlYXAgKmJpbmFyeWhlYXBfYWxsb2NhdGUoaW50IG51bV9ub2RlcywKLS0gCjIuMzQuMQoK --=-hFgQDeb/a/gmTv/l2TCo--