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 1uZoL0-008W0A-CJ for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Jul 2025 10:17:10 +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 1uZoKy-00AzYq-EV for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Jul 2025 10:17:09 +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 1uZoKy-00AzYT-5P for pgsql-hackers@lists.postgresql.org; Thu, 10 Jul 2025 10:17:08 +0000 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uZoKw-006p6R-12 for pgsql-hackers@lists.postgresql.org; Thu, 10 Jul 2025 10:17:08 +0000 Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-556373661aaso647769e87.2 for ; Thu, 10 Jul 2025 03:17:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1752142625; x=1752747425; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=PoP/KDo9LHA7q4P+3p4Y3IuIrTqa8rh0s15eRaMnCPw=; b=cp7eq1q2eaaoH0BG06YmbVXTa9zWKUtg058u7HI2HGIgXV9yeUl6qRKizc2SQwYm7P xlCv6dF+/urrLd13r1X/kLQHJcplfsNm94BLKlXXTS7p8+ida4oE4630GjHZNeDL+sej nmLOhr95xobWvwKLkWT08c7GibDk+NSkhmT7waAqu/85vmJxIgeLHgSXzqJ6vPTA/zyr ho0paoJtiQKRy2AniXTpUfRqFJHaWb0EPCdLarmVRmrKrNA2wvoYcNPVP1kEUuC/2ZkP VcftOSOvEYolf+vsmcAEAZ4qoHS5ZeVqWSJFBmdqKQeA+KrJ9XEi3Ijqut+WpSGYFqTs UgDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752142625; x=1752747425; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PoP/KDo9LHA7q4P+3p4Y3IuIrTqa8rh0s15eRaMnCPw=; b=dy0B8PVUS+OaDv1awjDW9b+/vZAEd+4A+QMx7lhqv80JAVy5zYU4e4Pgz5t+kOXfhf W6QxI4LaCev5au3arBizRILF23peIsfz8Tn0TNcKbUioK0vzQzFwEnj/+AbrIel71Kdq GwuXi74NdrA/eGqWyIpCRdt25JE11mBioMemBzi+d6Lao3SQzVTom6tox5r3csYZbnzz q1HqaHt3+7jdJBy0UJtShHgPAOKN1R6ZWq+Tq8uFA3qtmkaXpHkb2eFezc5Li9+Kvjze y3lYuoIqQDKNxRvwf49NnZb5jAcw9XqHZXe1PJMQpVupxkWj99xtyV5NYUQlPFVVQMuW D9sg== X-Forwarded-Encrypted: i=1; AJvYcCV7DrrSc1xzfhjPJpZpx5TeTmsUHLpHr4GUxyksEdlRWoModkI3fT00mjz+jjpaIoawXCu+yQohwXD3qAmE@lists.postgresql.org X-Gm-Message-State: AOJu0YyNWdInZMqwEYBMEfhmEsN92+omlsTi00oZ0mm93SdClVZU/fEu 1cYMPomWxk500fm6sLJwANkZGC1n/D3y616uctY0zGA0gyheusn+esN1A7vln9PdW3nW4Wvx4ge bxR/juJx8+8tlf/KSH2ZKrin+MRp28+jGuzdhlcySSEpEobiiafQ5Dw== X-Gm-Gg: ASbGncuxx9/LnkluF1XSCvJORA4dHfH6iApursbDdGOXwstadqu37KaS2Lt2lmQc1JH NoLIktqJF/kU01dtuqlSZbNccvcbxPcY5AxmbMXzYKcNULkqdU4dq/jKYzrhZMR9ycnWI/eHp1y 1Fj6k+EPHWWm4KUDm80kvGtbo6m3Ld+CADov/cMxRhG8svKw== X-Google-Smtp-Source: AGHT+IHRCyGCPIcsvn9/H3K/1A0/F9eukJ/ve5trraK4jMU4Z/kyOJJNhuMKrudSJ4TVV+YMkCcFVWEjARuG5uy0B0M= X-Received: by 2002:a05:6512:2208:b0:553:2450:58a6 with SMTP id 2adb3069b0e04-558fa8709e7mr1784392e87.1.1752142625013; Thu, 10 Jul 2025 03:17:05 -0700 (PDT) MIME-Version: 1.0 References: <099b9433-2855-4f1b-b421-d078a5d82017@vondra.me> In-Reply-To: From: Jakub Wartak Date: Thu, 10 Jul 2025 12:16:41 +0200 X-Gm-Features: Ac12FXxe-HfeBjmhvdYSciUfUBEKwflziqlpDuhnEX3QOjTAoLoQSCyfNSGRUzI Message-ID: Subject: Re: Adding basic NUMA awareness To: Andres Freund Cc: Tomas Vondra , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Jul 9, 2025 at 9:42=E2=80=AFPM Andres Freund w= rote: > On 2025-07-01 21:07:00 +0200, Tomas Vondra wrote: > > Each patch has a numa_ GUC, intended to enable/disable that part. This > > is meant to make development easier, not as a final interface. I'm not > > sure how exactly that should look. It's possible some combinations of > > GUCs won't work, etc. > > Wonder if some of it might be worth putting into a multi-valued GUC (like > debug_io_direct). Long-term or for experimentation? Also please see below as it is related: [..] > FWIW, I don't think that's a safe assumption anymore. With CXL we can get= a) > PCIe attached memory and b) remote memory as a separate NUMA nodes, and t= hat > very well could end up as more NUMA nodes than cores. In my earlier apparently very way too naive approach, I've tried to handle this CXL scenario, but I'm afraid this cannot be done without further configuration, please see review/use cases [1] and [2] -J. [1] https://www.postgresql.org/message-id/attachment/178119/v4-0001-Add-cap= ability-to-interleave-shared-memory-across.patch - just see sgml/GUC and we have numa_parse_nodestring(3) [2] https://www.postgresql.org/message-id/aAKPMrX1Uq6quKJy%40ip-10-97-1-34.= eu-west-3.compute.internal