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 1whd5I-000KqU-2G for pgsql-committers@arkaria.postgresql.org; Thu, 09 Jul 2026 00:57:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1whd5G-00AFoZ-0G for pgsql-committers@arkaria.postgresql.org; Thu, 09 Jul 2026 00:57:46 +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 1whd5F-00AFoR-2U for pgsql-committers@lists.postgresql.org; Thu, 09 Jul 2026 00:57:46 +0000 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1whd5D-00000000NSJ-2pYh for pgsql-committers@lists.postgresql.org; Thu, 09 Jul 2026 00:57:46 +0000 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-69eb8b6bea8so620276eaf.3 for ; Wed, 08 Jul 2026 17:57:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783558662; cv=none; d=google.com; s=arc-20260327; b=Q3xkQ7qzMpLaO1BFj8IdLSNJoQa2xHiRXOxpRe9HuEb0fK7WW/V4DXYzXbZlFglXJh 1iSIaPH7XzwT1Sh4tE6A4IkOYZhEY8kQhzLG+FqNzI857cxssBD0Djw7NZAhThs2URW7 Oo7q4c796kC9rxfsxokbGv4MAKNgwC+Y5sL0/Gqi/v9O4hP70pj7XdFe0wibwUXgsOvj EsBEZPG0xtmBafzg3sRaLlc6YX76EfMjmcoTW13ri9Y83Skm4JvNjTRI40ENqUQhlA9D fvyxcDyCyq9HBXhXhae3ZjlTYU/hTDMpIkgq5wCucerFOB3sLvIkGhkNKxS4V6Wv0wrh M8RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=tcGClHIgQ6MXe26QJH1BcVXC1Jl7oULNnKMxoUoVQ1A=; fh=Y/lT1PdjNEH/rOyPOah7W5x5p9AgVs8v2tNXspVAM7w=; b=c7cBC9BSSqR8KtszQrFAW3T6c8nSO1cZ27PZAJ1cyumjntqqGV9vMnLHcdT9H1DXCt fT9Ng3Wk1HF9/QCJCk16HR5+isYKpQaB67FivRpmMVNDV1r1MHQNX/YxUejgeVczDIGJ ON50jYZQMaFvrTnrbQ9ttTje4O5cd5/nDPTA9XjztFvwXVidoDMHQnNGBVaF35jylGOg ZwX3Ayr7kLqyAUFawhZTtGLObGKMUBg36cesyKsOI7Kti1kiy0sJZZsL3DQipkW/0feM 9trW+8ueFWibGEUZ59/wtpuiEyrS2TfmvQ7zFNzDSJgACGGLq55CqikrMWGq03rRzu1a FhjA==; darn=lists.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=1783558662; x=1784163462; darn=lists.postgresql.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=tcGClHIgQ6MXe26QJH1BcVXC1Jl7oULNnKMxoUoVQ1A=; b=YSBagB0NGwCQbdm9EMR+fQOPJRJSPdUIf2TUXsmkLzWTAdWb3aRtSDZ/jZqKFRkS3z ZEd9ppFSnPGbvzk7wf1uYbvUJg51QkiN9D0XpiSTZjgfxSYyQ1dvYU0L73HPxkdjmHkX 6QRFzCvMfllu/RiJJb6bxirFCgOs6CXMOnOAfzlU8pSyczwRBiIs7dyvS7TkPJJLmoqs bUm5eAfCRl3HShVkvxJIZTHjWwIkUkH1fgZcHYBwfO/XyO99cpNuSmH5IcEn6YfAlTHv mZrE1T/992N3aUrDB9oerOJM+LKSmKIbl5YulJxwO3hFzPmEgpPFWvhrT1Vh0PfQL/nB IOyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783558662; x=1784163462; h=content-type: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:content-type; bh=tcGClHIgQ6MXe26QJH1BcVXC1Jl7oULNnKMxoUoVQ1A=; b=jb61vo37w6dyXo6YqmbZPP1gOEm38v2lEFDqa3ghre9+N6k0M4C+QDLY5LjkTEJVju ec13UylOaIlPyK1j+sXjkCtm59C3z/Qq7tikmAYF/iSy6wWInJxon5rh5LEQkUowDRw8 wES0KVM1H0DUyfEwSHekjjOwityyxZZskJYJJzpj4GoNA9ADd1EqkqwFSPzIRTu9UBEY WCG3mbA91DoImZIAwQbRj4xCxBaFeDFWE1VDFCsYskjZAIAP9FFjUMeKKJEgbeLGvxjG ZIqLLmJ7HjoJcWjRJ0H6K4c9N0jTDAUPpVhCCI9nEk0X2D1bfmKQly1farSZxIure2w8 XZgw== X-Forwarded-Encrypted: i=1; AFNElJ9bikWmmiszEgIP0qSFXjFewYVh4lClEayFktQYGcM+Ic39S/GVssPEvB2LRnMoz8dFGSbBNQxKDazIVQ+jHaY+@lists.postgresql.org X-Gm-Message-State: AOJu0YyyxycGbef/2Be0YV1D3tuM3NwkzgTJRBHdHpsRiwvVRHAY4d9E 5KMrS+p4GTnM3ERw64KnxRTvbsTXCvuSv3o38QjQqYJYqCcTbwHvmUPB3MuvLLQdgDINogISwnu S95atag23ByZ72rxn169c8P6yTchpSp8= X-Gm-Gg: AfdE7cmEht2bWpaAV2ph2gpIOKThloghjgr2QHlA02eC8tt8q5o5YAYTluw6XST+5Y7 ELkAk4e94x/K2Y1bTavkCAoOpNZdgGHkTJZM1BBT9fSsz6ZzGMPAZ9kf251rEKQMme0tEEkqdKB gGhqg6w3W3JwiR5U/YIFLMM16hTCfwRnFFP10e5tnVij8THh1wNEuIF5r11kPx2OpIKZ4xBAccP XkzUnho/fKkcWQ9JxZITGR43yI8GW2ZGqjR84DE61/+301kic/Q1rSdMH735bdIFigz9diWkttA EoQ+ayT5TljiFUP5CZHU5Vri61DtYIYw7I0X6bftebQU5+cHZ9fcjUrVN8KANMRQzscDkBZ3EjL PPJdy17HWC0A= X-Received: by 2002:a05:6820:212:b0:6a0:f319:6903 with SMTP id 006d021491bc7-6a36d8982d0mr3201868eaf.6.1783558662582; Wed, 08 Jul 2026 17:57:42 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Fujii Masao Date: Thu, 9 Jul 2026 09:57:27 +0900 X-Gm-Features: AVVi8CfaLfklCQzkizfYMOcKVgZuR4AGbQ1ogL-msnngA--RoduuUt4XMwjAQyE Message-ID: Subject: Re: pgsql: Refactor how some aux processes advertise their ProcNumber To: Thom Brown Cc: Heikki Linnakangas , pgsql-committers@lists.postgresql.org Content-Type: multipart/mixed; boundary="00000000000085378e0656231cd3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000085378e0656231cd3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jul 9, 2026 at 6:57=E2=80=AFAM Thom Brown wrote: > @@ -724,6 +725,14 @@ InitAuxiliaryProcess(void) > */ > PGSemaphoreReset(MyProc->sem); > > + /* Some aux processes are also advertised in ProcGlobal */ > + if (MyBackendType =3D=3D B_AUTOVAC_LAUNCHER) > + pg_atomic_write_u32(&ProcGlobal->avLauncherProc, MyProcNumber); > > I'm looking for the places this gets called from. I can only see > auxprocess.c which the launcher doesn't go through. The same question > for similar code in AuxiliaryProcKill(). You're right. The autovacuum launcher does not go through AuxiliaryProcessMainCommon(), so it never calls InitAuxiliaryProcess(). Instead, it initializes its PGPROC with InitProcess(). As a result, the avLauncherProc assignment added to InitAuxiliaryProcess() is never executed for the launcher, and the corresponding cleanup in AuxiliaryProcKill() is never reached either. It seems we should move the avLauncherProc set/clear operations to InitProcess()/ProcKill() path, as in the attached patch. Regards, --=20 Fujii Masao --00000000000085378e0656231cd3 Content-Type: application/octet-stream; name="v1-0001-Advertise-autovacuum-launcher-s-ProcNumber-from-I.patch" Content-Disposition: attachment; filename="v1-0001-Advertise-autovacuum-launcher-s-ProcNumber-from-I.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mrcsrlxl0 RnJvbSA4NmQ4NGI4MWU1MzQ5N2NkZGE5NzIyY2IyMjNkZjUzOTcwNDkxNzE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IFRodSwgOSBKdWwgMjAyNiAwOToyMzo0NiArMDkwMApTdWJqZWN0OiBbUEFUQ0ggdjFdIEFk dmVydGlzZSBhdXRvdmFjdXVtIGxhdW5jaGVyJ3MgUHJvY051bWJlciBmcm9tCiBJbml0UHJvY2Vz cwoKLS0tCiBzcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5jIHwgMTYgKysrKysrKysrLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5jIGIvc3JjL2JhY2tlbmQv c3RvcmFnZS9sbWdyL3Byb2MuYwppbmRleCA1OTY0MGJiNGY5Ny4uY2U0NDI1YjU1NjggMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcm9jLmMKKysrIGIvc3JjL2JhY2tlbmQv c3RvcmFnZS9sbWdyL3Byb2MuYwpAQCAtNTUwLDYgKzU1MCw5IEBAIEluaXRQcm9jZXNzKHZvaWQp CiAJICovCiAJUEdTZW1hcGhvcmVSZXNldChNeVByb2MtPnNlbSk7CiAKKwlpZiAoTXlCYWNrZW5k VHlwZSA9PSBCX0FVVE9WQUNfTEFVTkNIRVIpCisJCXBnX2F0b21pY193cml0ZV91MzIoJlByb2NH bG9iYWwtPmF2TGF1bmNoZXJQcm9jLCBNeVByb2NOdW1iZXIpOworCiAJLyoKIAkgKiBBcnJhbmdl IHRvIGNsZWFuIHVwIGF0IGJhY2tlbmQgZXhpdC4KIAkgKi8KQEAgLTcyNiw4ICs3MjksNiBAQCBJ bml0QXV4aWxpYXJ5UHJvY2Vzcyh2b2lkKQogCVBHU2VtYXBob3JlUmVzZXQoTXlQcm9jLT5zZW0p OwogCiAJLyogU29tZSBhdXggcHJvY2Vzc2VzIGFyZSBhbHNvIGFkdmVydGlzZWQgaW4gUHJvY0ds b2JhbCAqLwotCWlmIChNeUJhY2tlbmRUeXBlID09IEJfQVVUT1ZBQ19MQVVOQ0hFUikKLQkJcGdf YXRvbWljX3dyaXRlX3UzMigmUHJvY0dsb2JhbC0+YXZMYXVuY2hlclByb2MsIE15UHJvY051bWJl cik7CiAJaWYgKE15QmFja2VuZFR5cGUgPT0gQl9XQUxfV1JJVEVSKQogCQlwZ19hdG9taWNfd3Jp dGVfdTMyKCZQcm9jR2xvYmFsLT53YWx3cml0ZXJQcm9jLCBNeVByb2NOdW1iZXIpOwogCWlmIChN eUJhY2tlbmRUeXBlID09IEJfQ0hFQ0tQT0lOVEVSKQpAQCAtOTg5LDYgKzk5MCwxMiBAQCBQcm9j S2lsbChpbnQgY29kZSwgRGF0dW0gYXJnKQogCVN3aXRjaEJhY2tUb0xvY2FsTGF0Y2goKTsKIAlE aXNvd25MYXRjaCgmTXlQcm9jLT5wcm9jTGF0Y2gpOwogCisJaWYgKE15QmFja2VuZFR5cGUgPT0g Ql9BVVRPVkFDX0xBVU5DSEVSKQorCXsKKwkJQXNzZXJ0KHBnX2F0b21pY19yZWFkX3UzMigmUHJv Y0dsb2JhbC0+YXZMYXVuY2hlclByb2MpID09IE15UHJvY051bWJlcik7CisJCXBnX2F0b21pY193 cml0ZV91MzIoJlByb2NHbG9iYWwtPmF2TGF1bmNoZXJQcm9jLCBJTlZBTElEX1BST0NfTlVNQkVS KTsKKwl9CisKIAlwcm9jID0gTXlQcm9jOwogCXByb2NnbG9iYWxsaXN0ID0gcHJvYy0+cHJvY2ds b2JhbGxpc3Q7CiAKQEAgLTExMTMsMTEgKzExMjAsNiBAQCBBdXhpbGlhcnlQcm9jS2lsbChpbnQg Y29kZSwgRGF0dW0gYXJnKQogCS8qCiAJICogSWYgdGhpcyB3YXMgb25lIG9mIHRoZSBhdXggcHJv Y2Vzc2VzIGFkdmVydGlzZWQgaW4gUHJvY0dsb2JhbCwgY2xlYXIgaXQKIAkgKi8KLQlpZiAoTXlC YWNrZW5kVHlwZSA9PSBCX0FVVE9WQUNfTEFVTkNIRVIpCi0JewotCQlBc3NlcnQocGdfYXRvbWlj X3JlYWRfdTMyKCZQcm9jR2xvYmFsLT5hdkxhdW5jaGVyUHJvYykgPT0gTXlQcm9jTnVtYmVyKTsK LQkJcGdfYXRvbWljX3dyaXRlX3UzMigmUHJvY0dsb2JhbC0+YXZMYXVuY2hlclByb2MsIElOVkFM SURfUFJPQ19OVU1CRVIpOwotCX0KIAlpZiAoTXlCYWNrZW5kVHlwZSA9PSBCX1dBTF9XUklURVIp CiAJewogCQlBc3NlcnQocGdfYXRvbWljX3JlYWRfdTMyKCZQcm9jR2xvYmFsLT53YWx3cml0ZXJQ cm9jKSA9PSBNeVByb2NOdW1iZXIpOwotLSAKMi41NS4wCgo= --00000000000085378e0656231cd3--