From patchwork Sat Jun 24 23:42:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alison Schofield X-Patchwork-Id: 11257 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp6662550vqr; Sat, 24 Jun 2023 17:26:45 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5lAnBcoFWt13QpPRIypshcrxC/nEyI46cRl0gI6SW9r84AKu3G9UIirL6mSFIZddpS3+2a X-Received: by 2002:a17:902:eccc:b0:1b1:9d14:1537 with SMTP id a12-20020a170902eccc00b001b19d141537mr4541612plh.55.1687652805543; Sat, 24 Jun 2023 17:26:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687652805; cv=none; d=google.com; s=arc-20160816; b=qSmuh/6BqNpO4ESGXBBLZRYndAHV5kh0SU/MifFdEhEoydyMN6iq8F9tXbo+xQoFaX 94E2Q/WCwUvn5+tLMChdeIKtGF+mZFf4rBo1mRU0sq67VJG7zMjjj6HRu7uW/Zgl9nTE nYNsgWto0J97gqC07c4Jiha083AdWLG1hfCb+pIvxxluya1jtyE7+E9kV0GEBK5BXfpk 30HkjZfB/G23chlmhKQG6KndKa7g1INFHsz4CPujVeqIHeDLLN23pVZ9IJoHBl3TkBHN qhay8I6igfl22KBbAsAl8a4gC8NW9ROe086LIpSdSz957nfG7NmEe/biVOvrfH1Op7+m uksQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=kcI14IXhJZy+vlm/yI9OK7FE4k2HkxE8M/WHTddQ+cs=; fh=FcVirBQlzeL4SpU3iKQLWf4lgOgFVef3IsOl13qKmeE=; b=iBq1qxbIvAMfiPhHO/XV36gSqtoCbzmeyjW88vVAEeSijFl9jZuUDph4Ps46ITkr6n 9WB32ZMP6H6B7qBiR/YNMKNFG/ms+bqkKc4//ozNyu/+l/xFAM0rkYLRgIF65+hqdFrp RVnzYf21q8M705/h03/zYFlTWH6bpXfLFh3KitUJUuK0x1EXgab5LQVhSWAMxpWxMZ7d PUEjkwqQtMDwH32Ptdsi0ozIFjWVj9iXoLCCSBn8+gkrHoJ2f/eh+MOtW54RO6kOZJQT nuMeibTc2lLgz9kmD7wayIOihGTVMT09tlZuX89XI1jlPiqpLYIHldu+PqmZtOoxzXW1 Z9qQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KfGbiS3Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d20-20020a170902aa9400b001b3dae77156si2121096plr.256.2023.06.24.17.26.33; Sat, 24 Jun 2023 17:26:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KfGbiS3Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229555AbjFXXma (ORCPT + 99 others); Sat, 24 Jun 2023 19:42:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54216 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229552AbjFXXm2 (ORCPT ); Sat, 24 Jun 2023 19:42:28 -0400 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0B3AB10F4; Sat, 24 Jun 2023 16:42:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687650148; x=1719186148; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=XulpVuQfuTZ4FuPcJLyEvjWsEHT8K+qOYMn61+EN9cc=; b=KfGbiS3Y8OodnGFfBN/Io0q/Ki2oCbNi51Fe0YFf3AI2VNUHZFL2IkcK GB/MDq8oznXisH75PZf1EsZ0ECHHKDqhwFLtxwF8U2gQiuQlOMNMQYQ/v 2n8cXDz4Z92eiZx8+eXc54GLU4+pMA9GCQoOzXczEcHEU/fV4KuiaOqH9 LIOi7j7RZOwBR4llbkBSBgxRLRUZqntJFuxwsU3ybdFx+GdcDFspJ32+m oLmckU+JdjLXY0/CkpAI1zhNU6i2a0s3GvfQXtQSaVgAmcMIxpMMFpQ6Y htFFIxcJf8b9Iohaqx7zJb78hSi9VoHFZ6F+d2icr2TDSiGw2koqHlzK1 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10751"; a="391123085" X-IronPort-AV: E=Sophos;i="6.01,156,1684825200"; d="scan'208";a="391123085" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jun 2023 16:42:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10751"; a="839839580" X-IronPort-AV: E=Sophos;i="6.01,156,1684825200"; d="scan'208";a="839839580" Received: from aschofie-mobl2.amr.corp.intel.com (HELO localhost) ([10.209.113.117]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jun 2023 16:42:26 -0700 From: alison.schofield@intel.com To: "Rafael J. Wysocki" , Len Brown , Dan Williams , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Andrew Morton , Jonathan Cameron , Dave Jiang , Mike Rapoport Cc: Alison Schofield , x86@kernel.org, linux-cxl@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 0/2] CXL: Apply SRAT defined PXM to entire CFMWS window Date: Sat, 24 Jun 2023 16:42:22 -0700 Message-Id: X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1769632227963310219?= X-GMAIL-MSGID: =?utf-8?q?1769632227963310219?= From: Alison Schofield Changes in v3: - Define CFMWS and add CXL Spec link in cover letter (Peter, Jonathan) - s/HPA/physical address in Patch 1 (Peter) - Remove overkill comment in Patch 1 (Dan) - Simplify cmp_memblk() in Patch 1 (Dan) v2: https://lore.kernel.org/linux-cxl/cover.1686712819.git.alison.schofield@intel.com/ ---- Cover Letter: The CXL subsystem requires the creation of NUMA nodes for CFMWS Windows[1] not described in the SRAT. The existing implementation only addresses windows that the SRAT describes completely or not at all. This work addresses the case of partially described CFMWS Windows by extending proximity domains in a portion of a CFMWS window to the entire window. Introduce a NUMA helper, numa_fill_memblks(), to fill gaps in a numa_meminfo memblk address range. Update the CFMWS parsing in the ACPI driver to use numa_fill_memblks() to extend SRAT defined proximity domains to entire CXL windows. An RFC of this patchset was previously posted for CXL folks review here[2]. The RFC feedback led to the implementation here, extending existing memblks (Dan). Also, both Jonathan and Dan influenced the changelog comments in the ACPI patch, with regards to setting expectations on this evolving heuristic. Repeating here to set reviewer expectations: *Note that this heuristic will evolve when CFMWS Windows present a wider range of characteristics. The extension of the proximity domain, implemented here, is likely a step in developing a more sophisticated performance profile in the future. [1] CFMWS is defined in CXL Spec 3.0 Section 9.17.1.3 : https://www.computeexpresslink.org/spec-landing A CXL Fixed Memory Window is a region of Host Physical Address (HPA) Space which routes accesses to CXL Host bridges. The 'S', of CFMWS, stand for the structure that describes the window, hence it's common name, CFMWS. [2] https://lore.kernel.org/linux-cxl/cover.1683742429.git.alison.schofield@intel.com/ Alison Schofield (2): x86/numa: Introduce numa_fill_memblks() ACPI: NUMA: Apply SRAT proximity domain to entire CFMWS window arch/x86/include/asm/sparsemem.h | 2 + arch/x86/mm/numa.c | 81 ++++++++++++++++++++++++++++++++ drivers/acpi/numa/srat.c | 11 +++-- include/linux/numa.h | 7 +++ 4 files changed, 98 insertions(+), 3 deletions(-) base-commit: 214a71b53bc7cb30f6b8d43089037e9fe7f3ae1f