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.96) (envelope-from ) id 1w9QGZ-001Q9P-06 for pgsql-hackers@arkaria.postgresql.org; Sun, 05 Apr 2026 16:24:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9QGX-003rI8-0E for pgsql-hackers@arkaria.postgresql.org; Sun, 05 Apr 2026 16:24:01 +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.96) (envelope-from ) id 1w9QGW-003rI0-26 for pgsql-hackers@lists.postgresql.org; Sun, 05 Apr 2026 16:24:01 +0000 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9QGV-00000000hhr-0iia for pgsql-hackers@postgresql.org; Sun, 05 Apr 2026 16:24:00 +0000 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-43cf73bbfbdso2063880f8f.1 for ; Sun, 05 Apr 2026 09:23:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775406236; cv=none; d=google.com; s=arc-20240605; b=E3WUOJpMkHDh/5405Bg/sgzIUQLMQKMqseQo+VPh8oDHkKJ9dhBEYBcqst4ssvbCEw dJj/ZVeUcyEXTA61rOlPGGHV+5+JohZZ6+KmauyqwHY+Ke2+wLSWpYANHljQkn2DeTL0 yLPZVg0cCJd8ot1LodcXJvp8onPOIIWjAZPrEjAu7mQK8QR2l81v0/vL7CN58NFll4jK dD/ovjy2rIIne2EbjNtrEgAU/6geiDb00QZJsuscX4Uru6buzlq12iKBRgD+dOWj7raV XCmdbyy9QYKDzz2c9e+79oqYqE1/T+y5hUnf83x8mM3IzWa/k5mxNQEgop222BIqZuaR leKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=bptSpmi5guERgEqtSfXqm/FZRAkNVaBRfLkfcrQaYak=; fh=k8KhFkQqcWOKxJsgqEORt83vkVlPeqNIGnsrpTk33TM=; b=DtkbjwNnDDoJ44UrojPlJiConJxZYfgSEo1xXLEG0uvXriD1St3eTBJ8iTJDdrGHSd uMhmalSbhZPl6+xU3ii0ClNXSNAee5pO6egeP4+68lrLuN0vvF02t3vMdBCfHDcZjTUR gkm5b1DAHPtQV78Tz/Fel1KsAQf8xA8sXL3jftc0r4rUR0XFL8YJGNHaFe8ClR0QNd6j n5OUPR+6i6ER4iNp7bBQqc49QCgKUOHvyRexNwPiFZ50TpBBdPoxgkQaBXISoh5x9Lv1 CRVAzp0honjfqkKv8hELstkzYMacbp4VwjnaqTz3MGLC+HtN5HpbqXHpOXv/XWJBuVmW cTZg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775406236; x=1776011036; 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=bptSpmi5guERgEqtSfXqm/FZRAkNVaBRfLkfcrQaYak=; b=JaTEyyvPNlBovvoCGCtSlTVuRMTcb1xRVL1chc0q9nuh91JIutlV9+WY+EqvXCMFpa bAsWHfsBw1CSEuIez6vtj6bmwg6+T/Y82emaa/FDAUll4UPDypzHqHp7vplduX4bCHhl xKt2HQNGruweI9cpPxIIBRkvmro+PLCwV3W8Nzzehf8Avx5WzirvYoNZ8OvVZRUYIlLx AIq1hhh8UHZ8yDB/xPL2oeNghqazb1X+rbL6IxXJvDpNZ5EHg5l380t+VpIcYIx3dyF7 d7AUR2QMm7ZxQkhHuFBRctGSUW2jWDaZEeAnqQ9/KOwHyxfk8P1Crt5q9qSM+4OgJ1S8 Kvlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775406236; x=1776011036; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=bptSpmi5guERgEqtSfXqm/FZRAkNVaBRfLkfcrQaYak=; b=RHXZFYkqZPzaiM4F5/foow00PhyD4Kf4mSLoxZ992c93mnsiJESqEdIAKZxmRTOGr7 OYEs5uhrRcAMv0F+JB6XCgSuithXD8TXRMRyUBTaLtRaZH1Jp1FNq0Igqt7wnbPekhzt BSWSf2UVpIrpVZAAe3kERjQWuW7EeF++hwq2K9oHrUT+li24MkCijIukJ+lBZ6p+NV/d gZIMfDfuuiQsTCJvpS7gNC3Y2cQynb1+TFiR0j3FZ0+JF1CQCL1k5BD75kt+BTkOubax nDQ9QWlBfhukUduJlhFHbDSLJGWInN5ObHe+8moZ9mOe3SGO1clgFDVmYw830xRQ85d5 m7uA== X-Forwarded-Encrypted: i=1; AJvYcCVyqeik+bl0dF/1plrT5G17PIvqiZ7yD6rdXi+P4uzX+Q/4h8LuAIDOWalzqu9EDHXQDLuRQ0/hIdnSdh0S@postgresql.org X-Gm-Message-State: AOJu0YxNkRrSHeupgclDTQMnJT72j/oOCjIKGjnJHyZlEmxRxLHWLzMK GBhQSK65eoWuC2d9dkWrAqK9TJkx1pnlNomY2E6VhtQZLvkKdzq+a+p7eZUZxrlKJRS3GC8I5xS 1irfDc4kc+yVegYRpqtRmllQrlNrT8sI= X-Gm-Gg: AeBDievxzI0dmWyXIMuNah88BsdFMBbup6ZMKVOkLhbSxUp4364agSVQH4rM1mSWZa0 wE54MOO0EBuO5s38X0Ewfw5CAShtm6mYrchyVu1kCDAlqyOQtP4tA42KzcFuxvbfoLzn8Tf2AZs sIOTkxYOnpHZO8pzZU/7jTdJ/UCe9y0asI4xDXy4rACBmHw01F2aHYXh8D9LNhpr8o63pD9wt9d xeeKAnQXgkGUw9/BJujQEflx12Pcoym4I+/kKn1JoyLZUiRidfcLWpB0/jAc+9s+chY7j1LQlES i0/3KmLcIaPh7No6aAU/NCAFegvdQt68z90Gi93u6hQMoRt/xw== X-Received: by 2002:a05:6000:400e:b0:43b:4981:1ba3 with SMTP id ffacd0b85a97d-43d2927f49emr15351186f8f.2.1775406236377; Sun, 05 Apr 2026 09:23:56 -0700 (PDT) MIME-Version: 1.0 References: <113724ab-0028-493f-9605-6e8570f0939f@iki.fi> <791c3f18-f4de-4d84-ac6b-c7ccc074dd38@iki.fi> <9d919bd9-94dd-4bda-8ccf-ebced4178c53@iki.fi> <7d3ba240-9350-4dfc-bbe1-be6584aee236@iki.fi> <1c3a07a7-158d-4800-927c-2641c73277d8@iki.fi> In-Reply-To: From: Ashutosh Bapat Date: Sun, 5 Apr 2026 21:53:43 +0530 X-Gm-Features: AQROBzCeQuE4tO1KK1GSibf7mgBl84QIwHALn8xX-K1uwGaMPN6BBydMdc8AL2Q Message-ID: Subject: Re: Better shared data structure management and resizable shared data structures To: Heikki Linnakangas Cc: Matthias van de Meent , Robert Haas , Andres Freund , pgsql-hackers , chaturvedipalak1911@gmail.com Content-Type: multipart/mixed; boundary="0000000000000d4949064eb8fac3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000d4949064eb8fac3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Apr 5, 2026 at 7:38=E2=80=AFPM Ashutosh Bapat wrote: > > On Sun, Apr 5, 2026 at 11:18=E2=80=AFAM Ashutosh Bapat > wrote: > > > > > > I will post my resizable shmem structures patch in a separate email in > > this thread but continue to review your patches. > > I reviewed the SLRU patch. This is the first time I am looking at SLRU > code, so my review may not be sufficient. As far as I understand, the > patch faithfully copies the functionality from the old system to the > new system. I didn't find any issues there. > > I think calls to SimpleLruRequest() reads much better than SimpleLruInit(= ). > > Both MultiXactShmemInit and MultiXactShmemAttach set > OldestMemberMXactId, OldestVisibleMXactId. In future if we add another > global variable to point to the shared memory, somebody needs to > remember to initialize it in both these functions. Maybe deduplicate > it with something like attached? Similarly for PredicateLock related > changes. Sorry, I attached the wrong patch. Here's the right patch. --=20 Best Wishes, Ashutosh Bapat --0000000000000d4949064eb8fac3 Content-Type: application/octet-stream; name="v11-0010-edits.patch.nocibot" Content-Disposition: attachment; filename="v11-0010-edits.patch.nocibot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnlyzywb0 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL211bHRpeGFjdC5jIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVsdGl4YWN0LmMKaW5kZXggNjJkNThkYTRhYmMuLjg1 MDE4NDgyNzk4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0aXhh Y3QuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0aXhhY3QuYwpAQCAtMTgx OCwxNCArMTgxOCwxOSBAQCBNdWx0aVhhY3RTaG1lbVJlcXVlc3Qodm9pZCAqYXJnKQogCSAqLwog fQogCi1zdGF0aWMgdm9pZAotTXVsdGlYYWN0U2htZW1Jbml0KHZvaWQgKmFyZykKK3N0YXRpYyB2 b2lkIE11bHRpWGFjdFNldHVwUG9pbnRlcnModm9pZCkKIHsKIAkvKgogCSAqIFNldCB1cCBhcnJh eSBwb2ludGVycy4KIAkgKi8KIAlPbGRlc3RNZW1iZXJNWGFjdElkID0gTXVsdGlYYWN0U3RhdGUt PnBlckJhY2tlbmRYYWN0SWRzOwogCU9sZGVzdFZpc2libGVNWGFjdElkID0gT2xkZXN0TWVtYmVy TVhhY3RJZCArIE51bU1lbWJlclNsb3RzOworfQorCitzdGF0aWMgdm9pZAorTXVsdGlYYWN0U2ht ZW1Jbml0KHZvaWQgKmFyZykKK3sKKwlNdWx0aVhhY3RTZXR1cFBvaW50ZXJzKCk7CiAKIAlTbHJ1 UGFnZVByZWNlZGVzVW5pdFRlc3RzKE11bHRpWGFjdE9mZnNldEN0bCwgTVVMVElYQUNUX09GRlNF VFNfUEVSX1BBR0UpOwogfQpAQCAtMTgzMywxMSArMTgzOCw3IEBAIE11bHRpWGFjdFNobWVtSW5p dCh2b2lkICphcmcpCiBzdGF0aWMgdm9pZAogTXVsdGlYYWN0U2htZW1BdHRhY2godm9pZCAqYXJn KQogewotCS8qCi0JICogU2V0IHVwIGFycmF5IHBvaW50ZXJzLgotCSAqLwotCU9sZGVzdE1lbWJl ck1YYWN0SWQgPSBNdWx0aVhhY3RTdGF0ZS0+cGVyQmFja2VuZFhhY3RJZHM7Ci0JT2xkZXN0Vmlz aWJsZU1YYWN0SWQgPSBPbGRlc3RNZW1iZXJNWGFjdElkICsgTnVtTWVtYmVyU2xvdHM7CisJTXVs dGlYYWN0U2V0dXBQb2ludGVycygpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv c3RvcmFnZS9sbWdyL3ByZWRpY2F0ZS5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3ByZWRp Y2F0ZS5jCmluZGV4IDljMzg5YjIzNTA2Li4yOGY5NjNlZTAzNSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvc3RvcmFnZS9sbWdyL3ByZWRpY2F0ZS5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2Uv bG1nci9wcmVkaWNhdGUuYwpAQCAtMTI0Niw2ICsxMjQ2LDE3IEBAIFByZWRpY2F0ZUxvY2tTaG1l bVJlcXVlc3Qodm9pZCAqYXJnKQogCQkpOwogfQogCitzdGF0aWMgdm9pZAorUHJlZGljYXRlTG9j a1NldEdsb2JhbHModm9pZCkKK3sKKwkvKiBUaGlzIG5ldmVyIGNoYW5nZXMsIHNvIGxldCdzIGtl ZXAgYSBsb2NhbCBjb3B5LiAqLworCU9sZENvbW1pdHRlZFN4YWN0ID0gUHJlZFhhY3QtPk9sZENv bW1pdHRlZFN4YWN0OworCisJLyogUHJlLWNhbGN1bGF0ZSB0aGUgaGFzaCBhbmQgcGFydGl0aW9u IGxvY2sgb2YgdGhlIHNjcmF0Y2ggZW50cnkgKi8KKwlTY3JhdGNoVGFyZ2V0VGFnSGFzaCA9IFBy ZWRpY2F0ZUxvY2tUYXJnZXRUYWdIYXNoQ29kZSgmU2NyYXRjaFRhcmdldFRhZyk7CisJU2NyYXRj aFBhcnRpdGlvbkxvY2sgPSBQcmVkaWNhdGVMb2NrSGFzaFBhcnRpdGlvbkxvY2soU2NyYXRjaFRh cmdldFRhZ0hhc2gpOworfQorCiBzdGF0aWMgdm9pZAogUHJlZGljYXRlTG9ja1NobWVtSW5pdCh2 b2lkICphcmcpCiB7CkBAIC0xMzIzLDEyICsxMzM0LDcgQEAgUHJlZGljYXRlTG9ja1NobWVtSW5p dCh2b2lkICphcmcpCiAJc2VyaWFsQ29udHJvbC0+dGFpbFhpZCA9IEludmFsaWRUcmFuc2FjdGlv bklkOwogCUxXTG9ja1JlbGVhc2UoU2VyaWFsQ29udHJvbExvY2spOwogCi0JLyogVGhpcyBuZXZl ciBjaGFuZ2VzLCBzbyBsZXQncyBrZWVwIGEgbG9jYWwgY29weS4gKi8KLQlPbGRDb21taXR0ZWRT eGFjdCA9IFByZWRYYWN0LT5PbGRDb21taXR0ZWRTeGFjdDsKLQotCS8qIFByZS1jYWxjdWxhdGUg dGhlIGhhc2ggYW5kIHBhcnRpdGlvbiBsb2NrIG9mIHRoZSBzY3JhdGNoIGVudHJ5ICovCi0JU2Ny YXRjaFRhcmdldFRhZ0hhc2ggPSBQcmVkaWNhdGVMb2NrVGFyZ2V0VGFnSGFzaENvZGUoJlNjcmF0 Y2hUYXJnZXRUYWcpOwotCVNjcmF0Y2hQYXJ0aXRpb25Mb2NrID0gUHJlZGljYXRlTG9ja0hhc2hQ YXJ0aXRpb25Mb2NrKFNjcmF0Y2hUYXJnZXRUYWdIYXNoKTsKKwlQcmVkaWNhdGVMb2NrU2V0R2xv YmFscygpOwogCiAJU2xydVBhZ2VQcmVjZWRlc1VuaXRUZXN0cyhTZXJpYWxTbHJ1Q3RsLCBTRVJJ QUxfRU5UUklFU1BFUlBBR0UpOwogfQpAQCAtMTMzNiwxMiArMTM0Miw3IEBAIFByZWRpY2F0ZUxv Y2tTaG1lbUluaXQodm9pZCAqYXJnKQogc3RhdGljIHZvaWQKIFByZWRpY2F0ZUxvY2tTaG1lbUF0 dGFjaCh2b2lkICphcmcpCiB7Ci0JLyogVGhpcyBuZXZlciBjaGFuZ2VzLCBzbyBsZXQncyBrZWVw IGEgbG9jYWwgY29weS4gKi8KLQlPbGRDb21taXR0ZWRTeGFjdCA9IFByZWRYYWN0LT5PbGRDb21t aXR0ZWRTeGFjdDsKLQotCS8qIFByZS1jYWxjdWxhdGUgdGhlIGhhc2ggYW5kIHBhcnRpdGlvbiBs b2NrIG9mIHRoZSBzY3JhdGNoIGVudHJ5ICovCi0JU2NyYXRjaFRhcmdldFRhZ0hhc2ggPSBQcmVk aWNhdGVMb2NrVGFyZ2V0VGFnSGFzaENvZGUoJlNjcmF0Y2hUYXJnZXRUYWcpOwotCVNjcmF0Y2hQ YXJ0aXRpb25Mb2NrID0gUHJlZGljYXRlTG9ja0hhc2hQYXJ0aXRpb25Mb2NrKFNjcmF0Y2hUYXJn ZXRUYWdIYXNoKTsKKwlQcmVkaWNhdGVMb2NrU2V0R2xvYmFscygpOwogfQogCiAvKgo= --0000000000000d4949064eb8fac3--