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 1vs2SO-0027DY-2x for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Feb 2026 17:32:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vs2SN-004OoI-2B for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Feb 2026 17:32:23 +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.96) (envelope-from ) id 1vs2SN-004Oo7-11 for pgsql-hackers@lists.postgresql.org; Mon, 16 Feb 2026 17:32:23 +0000 Received: from lahtoruutu.iki.fi ([185.185.170.37]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vs2SL-000000013cv-26XN for pgsql-hackers@postgresql.org; Mon, 16 Feb 2026 17:32:23 +0000 Received: from [10.0.2.15] (unknown [130.41.208.2]) (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 lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4fF8wf6Kltz49Psn; Mon, 16 Feb 2026 19:32:18 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1771263139; 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=zmmhAd6x2RQp1Ans3598PNORJNSCUI4qyvauiqXivbY=; b=PI4yoFyD9gAgqt3x9KsNIDqP4v/GjHPgkoh9aSJqB09NbIRh/SwD95IVBceEq/DNdpLtgp v76MgpqzA6j3C6yU0okQ9ruyVTOTF3BMaLGuYXXMlyjB3OMwsnEdQW/Sz5nNzH/ySWTJUS c4wYiRjzZ+Wm7Fg26VofnCRBdekQKanpeALvsbn0dIiV9xY3TUcjPYYJsFR8O2TG7TOs1U Q6ofqX0gQ3f4OB1LYCZ2KpiYGK7IvyNHl7UBxoqnqu9N9xHKPnM0JlIMz6A1T6Vldm+HvH LjpvHWXr+OEpDoklnahcaUpq8POL0jaf0GWn21pp3xoHjL8Gjd2OfwoEo410LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1771263139; 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=zmmhAd6x2RQp1Ans3598PNORJNSCUI4qyvauiqXivbY=; b=oJJwxtU/xjnA3kKk63JoAVfPB+QO0bft09xUDwFU3Whss/xIsqIZXXfRqTTOq/9VrJMb+F TXlTHfm+QGhbql3Iu9ksAKkqZRx7Osfhi4U8QxaDtSyDZFHbp+UQyi5TXFrPaos42WmVsz L+W/PU0diZzHqXLM/nJo/qrnbFTcez84d+neuWByBarbkuOrWYazwRlBIqfAED5wK6w+4S jSwGxcWkNTGxAXkHSON51OdnXRmPcK8mtfmbWBDjp8QkfgVPPN7BotE7uCwcuSgmomK8MI H4FfcWEWqkEpy0IqqDZRG7dItLlj/3R6rGqiIBD7DF38ixWEOMJoppmY1K8ecA== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=hlinnaka smtp.mailfrom=hlinnaka@iki.fi ARC-Seal: i=1; a=rsa-sha256; d=iki.fi; s=lahtoruutu; cv=none; t=1771263139; b=nTIbD45X98FqskQP3DGXAXENKBFKducDxjmELmOZRgPoH/bEQoauRbiNhmDUkbAai3IZBx ggVJoHT3jXlwVnM7FHTW3L8U/fvK3gp5awlAaG0rjFu5fGMjCukVOWCAqVnCpcNBujhKt9 oYAGC7Tr5pREFq9C5v3Hp95GNZF3JMz4CHJunkFQpYgLaCDEfsDGtns34OVZZFkserj3xD Zpx9okw1giBiaVZoXDL/idjqKpfbII3i2O8TDCUIldq6n41J9zxli2myfXNnX4GnJWhpf5 /4QcS0TRiKLMvs+bOlp7jdTL/1wAAQax3t7Zpvq+2Rk3iP/i44g+mUdcxojjgw== Content-Type: multipart/mixed; boundary="------------cUq3ckw1l0ijnEVi7kMLW5b7" Message-ID: <6f427358-a115-47d9-9e31-b28342245215@iki.fi> Date: Mon, 16 Feb 2026 19:32:18 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Better shared data structure management and resizable shared data structures To: Ashutosh Bapat Cc: pgsql-hackers , Andres Freund , chaturvedipalak1911@gmail.com References: <5a37c2e3-619d-4816-84d7-0b27e3e6797f@iki.fi> Content-Language: en-US From: Heikki Linnakangas In-Reply-To: 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. --------------cUq3ckw1l0ijnEVi7kMLW5b7 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 16/02/2026 16:52, Ashutosh Bapat wrote: > 2. to use madvise() the address needs to be backed by a file, so > memfd_create is a must. It seems to work fine for anonymous mmapped memory here. See attached test program. - Heikki --------------cUq3ckw1l0ijnEVi7kMLW5b7 Content-Type: text/x-csrc; charset=UTF-8; name="test_mmap.c" Content-Disposition: attachment; filename="test_mmap.c" Content-Transfer-Encoding: base64 I2luY2x1ZGUgPHN5cy9tbWFuLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3Rk bGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGZjbnRsLmg+CiNpbmNsdWRl IDx1bmlzdGQuaD4KCiNkZWZpbmUgTUVNT1JZX1NJWkUgNDA5NiAvLyBTaXplIG9mIHRoZSBt ZW1vcnkgc2VnbWVudCBpbiBieXRlcwoKaW50IG1haW4oKQp7CiAgICB2b2lkICptZW1vcnlf c2VnbWVudDsKICAgIAogICAgbWVtb3J5X3NlZ21lbnQgPSBtbWFwKE5VTEwsIE1FTU9SWV9T SVpFLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAoJCQkgIE1BUF9BTk9OWU1PVVMgfCBNQVBf U0hBUkVELAoJCQkgIC0xLCAwKTsKICAgIGlmIChtZW1vcnlfc2VnbWVudCA9PSBNQVBfRkFJ TEVEKSB7CiAgICAgICAgcGVycm9yKCJtbWFwIik7CiAgICAgICAgZXhpdChFWElUX0ZBSUxV UkUpOwogICAgfQoKICAgIC8vIFdyaXRlIGRhdGEgdG8gdGhlIG1lbW9yeSBzZWdtZW50CiAg ICBjb25zdCBjaGFyICp0ZXN0X3N0cmluZyA9ICJIZWxsbywgbW1hcCEiOwogICAgc2l6ZV90 IHRlc3Rfc3RyaW5nX2xlbmd0aCA9IHN0cmxlbih0ZXN0X3N0cmluZykgKyAxOwoKICAgIG1l bWNweShtZW1vcnlfc2VnbWVudCwgdGVzdF9zdHJpbmcsIHRlc3Rfc3RyaW5nX2xlbmd0aCk7 CiAgICAKICAgIC8vIFJlYWQgZGF0YSBiYWNrIGZyb20gdGhlIG1lbW9yeSBzZWdtZW50IGFu ZCBwcmludCBpdAogICAgcHJpbnRmKCJyZWFkIGJlZm9yZSBtYWR2aXNlKE1BRFZfUkVNT1ZF KSBjYWxsOiAlc1xuIiwKCSAgIChjaGFyICopIG1lbW9yeV9zZWdtZW50KTsKCiAgICAvLyBB ZHZpc2UgdGhlIHN5c3RlbSBhYm91dCB0aGUgdXNhZ2UgcGF0dGVybiBvZiB0aGUgbWVtb3J5 IHNlZ21lbnQKICAgIHByaW50ZigiQ2FsbGluZyBtYWR2aXNlKE1BRFZfUkVNT1ZFKVxuIik7 CiAgICBpZiAobWFkdmlzZShtZW1vcnlfc2VnbWVudCwgTUVNT1JZX1NJWkUsIE1BRFZfUkVN T1ZFKSA9PSAtMSkgewogICAgICAgIHBlcnJvcigibWFkdmlzZSIpOwogICAgICAgIGV4aXQo RVhJVF9GQUlMVVJFKTsKICAgIH0KCiAgICBwcmludGYoInJlYWQgYWZ0ZXIgbWFkdmlzZShN QURWX1JFTU9WRSkgY2FsbDogJXNcbiIsCgkgICAoY2hhciAqKSBtZW1vcnlfc2VnbWVudCk7 CgogICAgLy8gV3JpdGUgdG8gaXQgYWdhaW4KICAgIG1lbWNweShtZW1vcnlfc2VnbWVudCwg dGVzdF9zdHJpbmcsIHRlc3Rfc3RyaW5nX2xlbmd0aCk7CgogICAgcHJpbnRmKCJyZWFkIGFm dGVyIHdyaXRpbmcgaXQgYWdhaW46ICVzXG4iLAoJICAgKGNoYXIgKikgbWVtb3J5X3NlZ21l bnQpOwogICAgCiAgICByZXR1cm4gMDsKfQo= --------------cUq3ckw1l0ijnEVi7kMLW5b7--