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 1tzgJm-0059uq-G6 for pgsql-hackers@arkaria.postgresql.org; Tue, 01 Apr 2025 18:26: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 1tzgJl-0053wf-5G for pgsql-hackers@arkaria.postgresql.org; Tue, 01 Apr 2025 18:26:33 +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 1tzgJk-0053wQ-Qe for pgsql-hackers@lists.postgresql.org; Tue, 01 Apr 2025 18:26:32 +0000 Received: from meesny.iki.fi ([2001:67c:2b0:1c1::201]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tzgJi-002o2N-1L for pgsql-hackers@lists.postgresql.org; Tue, 01 Apr 2025 18:26:32 +0000 Received: from [192.168.1.112] (iptv-hkibng21-58c090-167.dhcp.inet.fi [88.192.144.167]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: hlinnaka) by meesny.iki.fi (Postfix) with ESMTPSA id 4ZRxKH57VhzyR6; Tue, 1 Apr 2025 21:26:27 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=meesny; t=1743531987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=N4zncrG9rXo1HI+vgxOqiR/JQS5JN8n23GCOS2Gl+7M=; b=ba4W91NBzor2DOe3+KBCC3rf+ueIHBKL6JW1sHiUEQGcP01jjSMkDAok2XxsbhOlU8p/1g Xdvkm7k6DPh2maVqGc9y3UGz5zXzA0mVp9RhHP5jU7SMZqoH7DMwsIMQ2+uBIZK00bKFPv c3Wv4AQXO9OvoRYqjJrGZa6Ri0Zg3cw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=meesny; t=1743531987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=N4zncrG9rXo1HI+vgxOqiR/JQS5JN8n23GCOS2Gl+7M=; b=lzKR2mBms/fSnlrBnYzFx2fzPtqZor3NGGZjojmwQ8nDtNXhyKT45Hrdj2mEdAWJAAB+5n V7ECavZsHdIuH9GEIxeb45tAu0LnowWOawh/lZf/9uV75nJmwgAjTzxfEgkXrgVW83Wi42 MOq/+66w+rHVxDPzcb8r02Fxg8gt+R0= ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=hlinnaka smtp.mailfrom=hlinnaka@iki.fi ARC-Seal: i=1; s=meesny; d=iki.fi; t=1743531987; a=rsa-sha256; cv=none; b=HgAz5eiCbGrE28ohDisV005xUDqb3Dw3H3bF0BAMtX5T4FtZPTvvYo2KAILSglvHSD/tDa IzGwCruGev4he7sxqr400RJVmoYOCU0HVQT+HxyJ3ZS0iLud5gLkqtM8qNpTpOqIGUj0lK VerpPm+zvqc2DC6mHVl3CWbxS61tgXQ= Content-Type: multipart/mixed; boundary="------------dz0GjwiyzrA3zuFIIALy7pHH" Message-ID: Date: Tue, 1 Apr 2025 21:26:27 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: POC: make mxidoff 64 bits From: Heikki Linnakangas To: Maxim Orlov , wenhui qiu Cc: Alexander Korotkov , Postgres hackers References: <4535f3aa-3220-4760-b1f5-2bc91f248e03@iki.fi> <2bc58592-9d74-4af0-bdd1-1a88e8683f7c@iki.fi> <36531c0e-292c-409d-bbc7-a252cf6e910a@iki.fi> Content-Language: en-US In-Reply-To: <36531c0e-292c-409d-bbc7-a252cf6e910a@iki.fi> 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. --------------dz0GjwiyzrA3zuFIIALy7pHH Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 01/04/2025 21:25, Heikki Linnakangas wrote: > On 07/03/2025 13:30, Maxim Orlov wrote: >> Here is a rebase, v14. > > Thanks! I did some manual testing of this. I created a little helper > function to consume multixids, to test the autovacuum behavior, and > found one issue: Forgot to attach the test function I used, here it is. -- Heikki Linnakangas Neon (https://neon.tech) --------------dz0GjwiyzrA3zuFIIALy7pHH Content-Type: text/x-patch; charset=UTF-8; name="0001-TEST-add-consume_multixids-function.patch" Content-Disposition: attachment; filename="0001-TEST-add-consume_multixids-function.patch" Content-Transfer-Encoding: base64 RnJvbSBiMmYxNTZiZmRkMTVkZjIxYWUyNWIzMzY5ZDA5MGNmOTg5OWU4MGFhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIZWlra2kgTGlubmFrYW5nYXMgPGhlaWtraS5saW5u YWthbmdhc0Bpa2kuZmk+CkRhdGU6IFR1ZSwgMSBBcHIgMjAyNSAyMTowMTowNyArMDMwMApT dWJqZWN0OiBbUEFUQ0ggMS8xXSBURVNUOiBhZGQgY29uc3VtZV9tdWx0aXhpZHMgZnVuY3Rp b24KCi0tLQogc3JjL3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFyb3VuZC9NYWtlZmlsZSAgICAg IHwgIDEgKwogc3JjL3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFyb3VuZC9tZXNvbi5idWlsZCAg IHwgIDEgKwogLi4uL3hpZF93cmFwYXJvdW5kL211bHRpeGlkX3dyYXBhcm91bmQuYyAgICAg IHwgOTYgKysrKysrKysrKysrKysrKysrKwogLi4uL3hpZF93cmFwYXJvdW5kL3hpZF93cmFw YXJvdW5kLS0xLjAuc3FsICAgIHwgIDQgKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0 aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMveGlkX3dyYXBh cm91bmQvbXVsdGl4aWRfd3JhcGFyb3VuZC5jCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9k dWxlcy94aWRfd3JhcGFyb3VuZC9NYWtlZmlsZSBiL3NyYy90ZXN0L21vZHVsZXMveGlkX3dy YXBhcm91bmQvTWFrZWZpbGUKaW5kZXggN2E2ZTBmNjY3NjIuLmViYjNkOGZjYjNlIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3hpZF93cmFwYXJvdW5kL01ha2VmaWxlCisrKyBi L3NyYy90ZXN0L21vZHVsZXMveGlkX3dyYXBhcm91bmQvTWFrZWZpbGUKQEAgLTMsNiArMyw3 IEBACiBNT0RVTEVfYmlnID0geGlkX3dyYXBhcm91bmQKIE9CSlMgPSBcCiAJJChXSU4zMlJF UykgXAorCW11bHRpeGlkX3dyYXBhcm91bmQubyBcCiAJeGlkX3dyYXBhcm91bmQubwogUEdG SUxFREVTQyA9ICJ4aWRfd3JhcGFyb3VuZCAtIHRlc3RzIGZvciBYSUQgd3JhcGFyb3VuZCIK IApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFyb3VuZC9tZXNvbi5i dWlsZCBiL3NyYy90ZXN0L21vZHVsZXMveGlkX3dyYXBhcm91bmQvbWVzb24uYnVpbGQKaW5k ZXggZjdkYWRhNjdmNjcuLjk4YWQzODE2MTRjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1 bGVzL3hpZF93cmFwYXJvdW5kL21lc29uLmJ1aWxkCisrKyBiL3NyYy90ZXN0L21vZHVsZXMv eGlkX3dyYXBhcm91bmQvbWVzb24uYnVpbGQKQEAgLTEsNiArMSw3IEBACiAjIENvcHlyaWdo dCAoYykgMjAyMy0yMDI1LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAog CiB4aWRfd3JhcGFyb3VuZF9zb3VyY2VzID0gZmlsZXMoCisgICdtdWx0aXhpZF93cmFwYXJv dW5kLmMnLAogICAneGlkX3dyYXBhcm91bmQuYycsCiApCiAKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L21vZHVsZXMveGlkX3dyYXBhcm91bmQvbXVsdGl4aWRfd3JhcGFyb3VuZC5jIGIvc3Jj L3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFyb3VuZC9tdWx0aXhpZF93cmFwYXJvdW5kLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmFmNTY3YzZlNTQxCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFyb3VuZC9tdWx0aXhp ZF93cmFwYXJvdW5kLmMKQEAgLTAsMCArMSw5NiBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICoKKyAqIG11bHRpeGlkX3dyYXBhcm91bmQuYworICoJCVV0aWxpdGllcyBmb3IgdGVz dGluZyBtdWx0aXhpZHMKKyAqCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk2 LTIwMjUsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKiBQb3J0aW9u cyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2Fs aWZvcm5pYQorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkJc3JjL3Rlc3QvbW9kdWxlcy94 aWRfd3JhcGFyb3VuZC9tdWx0aXhpZF93cmFwYXJvdW5kLmMKKyAqCisgKiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgKi8KKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiYWNj ZXNzL211bHRpeGFjdC5oIgorI2luY2x1ZGUgImFjY2Vzcy94YWN0LmgiCisjaW5jbHVkZSAi bWlzY2FkbWluLmgiCisjaW5jbHVkZSAic3RvcmFnZS9wcm9jLmgiCisjaW5jbHVkZSAidXRp bHMveGlkOC5oIgorCitzdGF0aWMgaW50IG14YWN0TWVtYmVyQ29tcGFyYXRvcihjb25zdCB2 b2lkICphcmcxLCBjb25zdCB2b2lkICphcmcyKTsKKworLyoKKyAqIENvbnN1bWUgdGhlIHNw ZWNpZmllZCBudW1iZXIgb2YgbXVsdGktWElEcywgd2l0aCBzcGVjaWZpZWQgbnVtYmVyIG9m CisgKiBtZW1iZXJzIGVhY2guCisgKi8KK1BHX0ZVTkNUSU9OX0lORk9fVjEoY29uc3VtZV9t dWx0aXhpZHMpOworRGF0dW0KK2NvbnN1bWVfbXVsdGl4aWRzKFBHX0ZVTkNUSU9OX0FSR1Mp Cit7CisJaW50NjQJCW5tdWx0aXMgPSBQR19HRVRBUkdfSU5UNjQoMCk7CisJaW50MzIJCW5t ZW1iZXJzID0gUEdfR0VUQVJHX0lOVDMyKDEpOworCU11bHRpWGFjdE1lbWJlciAqbWVtYmVy czsKKwlNdWx0aVhhY3RJZAlsYXN0bXhpZCA9IEludmFsaWRNdWx0aVhhY3RJZDsKKworCWlm IChubXVsdGlzIDwgMCkKKwkJZWxvZyhFUlJPUiwgImludmFsaWQgbnhpZHMgYXJndW1lbnQ6 ICUiIFBSSWQ2NCwgbm11bHRpcyk7CisJaWYgKG5tZW1iZXJzIDwgMSkKKwkJZWxvZyhFUlJP UiwgImludmFsaWQgbm1lbWJlcnMgYXJndW1lbnQ6ICVkIiwgbm1lbWJlcnMpOworCisJLyoK KwkgKiBXZSBjb25zdW1lIFhJRHMgYnkgY2FsbGluZyBHZXROZXdUcmFuc2FjdGlvbklkKHRy dWUpLCB3aGljaCBtYXJrcyB0aGUKKwkgKiBjb25zdW1lZCBYSURzIGFzIHN1YnRyYW5zYWN0 aW9ucyBvZiB0aGUgY3VycmVudCB0b3AtbGV2ZWwgdHJhbnNhY3Rpb24uCisJICogRm9yIHRo YXQgdG8gd29yaywgdGhpcyB0cmFuc2FjdGlvbiBtdXN0IGhhdmUgYSB0b3AtbGV2ZWwgWElE LgorCSAqCisJICogR2V0TmV3VHJhbnNhY3Rpb25JZCByZWdpc3RlcnMgdGhlbSBpbiB0aGUg c3VieGlkIGNhY2hlIGluIFBHUFJPQywgdW50aWwKKwkgKiB0aGUgY2FjaGUgb3ZlcmZsb3dz LCBidXQgYmV5b25kIHRoYXQsIHdlIGRvbid0IGtlZXAgdHJhY2sgb2YgdGhlCisJICogY29u c3VtZWQgWElEcy4KKwkgKi8KKwkodm9pZCkgR2V0VG9wVHJhbnNhY3Rpb25JZCgpOworCisJ bWVtYmVycyA9IHBhbGxvYygobm11bHRpcyArIG5tZW1iZXJzKSAqIHNpemVvZihNdWx0aVhh Y3RNZW1iZXIpKTsKKwlmb3IgKGludDMyIGkgPSAwOyBpIDwgbm11bHRpcyArIG5tZW1iZXJz OyBpKyspCisJeworCQlGdWxsVHJhbnNhY3Rpb25JZCB4aWQ7CisKKwkJeGlkID0gR2V0TmV3 VHJhbnNhY3Rpb25JZCh0cnVlKTsKKwkJbWVtYmVyc1tpXS54aWQgPSBYaWRGcm9tRnVsbFRy YW5zYWN0aW9uSWQoeGlkKTsKKwkJbWVtYmVyc1tpXS5zdGF0dXMgPSBNdWx0aVhhY3RTdGF0 dXNGb3JLZXlTaGFyZTsKKwl9CisJLyoKKwkgKiBwcmUtc29ydCB0aGUgYXJyYXkgbGlrZSBt WGFjdENhY2hlR2V0QnlTZXQgZG9lcywgc28gdGhhdCB0aGUgcXNvcnQgY2FsbAorCSAqIGlu IG1YYWN0Q2FjaGVHZXRCeVNldCgpIGlzIGNoZWFwZXIuCisJICovCisJcXNvcnQobWVtYmVy cywgbm11bHRpcyArIG5tZW1iZXJzLCBzaXplb2YoTXVsdGlYYWN0TWVtYmVyKSwgbXhhY3RN ZW1iZXJDb21wYXJhdG9yKTsKKworCWZvciAoaW50NjQgaSA9IDA7IGkgPCBubXVsdGlzOyBp KyspCisJeworCQlsYXN0bXhpZCA9IE11bHRpWGFjdElkQ3JlYXRlRnJvbU1lbWJlcnMobm1l bWJlcnMsICZtZW1iZXJzW2ldKTsKKwkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKTsKKwl9CisK KwlwZnJlZShtZW1iZXJzKTsKKworCVBHX1JFVFVSTl9UUkFOU0FDVElPTklEKGxhc3RteGlk KTsKK30KKworLyogY29waWVkIGZyb20gbXVsdGl4YWN0LmMgKi8KK3N0YXRpYyBpbnQKK214 YWN0TWVtYmVyQ29tcGFyYXRvcihjb25zdCB2b2lkICphcmcxLCBjb25zdCB2b2lkICphcmcy KQoreworCU11bHRpWGFjdE1lbWJlciBtZW1iZXIxID0gKihjb25zdCBNdWx0aVhhY3RNZW1i ZXIgKikgYXJnMTsKKwlNdWx0aVhhY3RNZW1iZXIgbWVtYmVyMiA9ICooY29uc3QgTXVsdGlY YWN0TWVtYmVyICopIGFyZzI7CisKKwlpZiAobWVtYmVyMS54aWQgPiBtZW1iZXIyLnhpZCkK KwkJcmV0dXJuIDE7CisJaWYgKG1lbWJlcjEueGlkIDwgbWVtYmVyMi54aWQpCisJCXJldHVy biAtMTsKKwlpZiAobWVtYmVyMS5zdGF0dXMgPiBtZW1iZXIyLnN0YXR1cykKKwkJcmV0dXJu IDE7CisJaWYgKG1lbWJlcjEuc3RhdHVzIDwgbWVtYmVyMi5zdGF0dXMpCisJCXJldHVybiAt MTsKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMveGlkX3dy YXBhcm91bmQveGlkX3dyYXBhcm91bmQtLTEuMC5zcWwgYi9zcmMvdGVzdC9tb2R1bGVzL3hp ZF93cmFwYXJvdW5kL3hpZF93cmFwYXJvdW5kLS0xLjAuc3FsCmluZGV4IDk2MzU2YjRiOTc0 Li5lZDc1MjBjM2Q4NiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFy b3VuZC94aWRfd3JhcGFyb3VuZC0tMS4wLnNxbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3hp ZF93cmFwYXJvdW5kL3hpZF93cmFwYXJvdW5kLS0xLjAuc3FsCkBAIC0xMCwzICsxMCw3IEBA IEFTICdNT0RVTEVfUEFUSE5BTUUnIExBTkdVQUdFIEM7CiBDUkVBVEUgRlVOQ1RJT04gY29u c3VtZV94aWRzX3VudGlsKHRhcmdldHhpZCB4aWQ4KQogUkVUVVJOUyB4aWQ4IFZPTEFUSUxF IFBBUkFMTEVMIFVOU0FGRSBTVFJJQ1QKIEFTICdNT0RVTEVfUEFUSE5BTUUnIExBTkdVQUdF IEM7CisKK0NSRUFURSBGVU5DVElPTiBjb25zdW1lX211bHRpeGlkcyhubXVsdGlzIGJpZ2lu dCwgbm1lbWJlcnMgaW50NCkKK1JFVFVSTlMgYmlnaW50IFZPTEFUSUxFIFBBUkFMTEVMIFVO U0FGRSBTVFJJQ1QKK0FTICdNT0RVTEVfUEFUSE5BTUUnIExBTkdVQUdFIEM7Ci0tIAoyLjM5 LjUKCg== --------------dz0GjwiyzrA3zuFIIALy7pHH--