Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp1442429imc; Mon, 11 Mar 2019 13:59:01 -0700 (PDT) X-Google-Smtp-Source: APXvYqxwJSIuahnZFKjKkYVcDs5oDM7KTmHf5SCLMy5Glubk4+82SE9CNSkaNBooulvNSAbPUUYO X-Received: by 2002:a65:4204:: with SMTP id c4mr14679471pgq.136.1552337941838; Mon, 11 Mar 2019 13:59:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552337941; cv=none; d=google.com; s=arc-20160816; b=wQARxcuRdoojvuWJxvYeXUGNDlMbTTixym5NtiWymNm9PglFfkRGOb9YnXLimvDyQc 9lPLjQYJZ2qAYUhJhOmpKdFlWyUBeVsv0FdlbHePB3Ksudq7r20+NDJycuqozSBIb6QK 6raFYYgqdF0jP1gfPx9H1jbVa1FZ0IGuqcsbpaX1eh4a32t0q20xiCm6N1ze3EMRzwEg 2yZZ5SI09cSHFKqqliCXiiPegspDwcsEoK1HHvDowT6XhXi1uvipWUKcon8T77G6tJl6 M6ar4Xz6q9vnz4RhermqvnSIJyfQkuyPoeKOLsZj2f6n6k0w2TmYTVnMzf6LP9ZICFtt +vuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=CZ5LpoQlDUJ2t6PN49q7I9YAJQjIEhTDk43oykgNnb8=; b=sEoRsxCAFGABQb+XCoxvp/C3OITRZj5q09DHnvsGxHZQw+uU6wbvDo4P6fYkQt/nzB 33aLn53RBZwDhGs+HMP6VzUhu31oq9nJ476UWoU61u7IIsCnGK2HbpQiwDTnLo0yFgui AfS9dxSlH4KROeARYodsNAvxWH0goqRU2qxu2BTAAqSjuWCU+VBgmPvDvNIoLJMySOIS Ji4lRpgcvF4rsLlqFDiQjpgtTk2L0wwtUAerE8aHajb0cauPLcrEEzVh//RF0Yo7RNtN de87QA0GEjv6Kk90H3n6cyRduW10T6yQ9ZCzK+Xsbi+CxMcoYmkXRif3oE4/DMyJqR68 OlQA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m6si5631364pgq.24.2019.03.11.13.58.45; Mon, 11 Mar 2019 13:59:01 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728138AbfCKUzk (ORCPT + 99 others); Mon, 11 Mar 2019 16:55:40 -0400 Received: from mga18.intel.com ([134.134.136.126]:10469 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727773AbfCKUzk (ORCPT ); Mon, 11 Mar 2019 16:55:40 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Mar 2019 13:55:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,468,1544515200"; d="scan'208";a="139910152" Received: from unknown (HELO localhost.lm.intel.com) ([10.232.112.69]) by FMSMGA003.fm.intel.com with ESMTP; 11 Mar 2019 13:55:39 -0700 From: Keith Busch To: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-mm@kvack.org, linux-api@vger.kernel.org Cc: Greg Kroah-Hartman , Rafael Wysocki , Dave Hansen , Dan Williams , Jonathan Cameron , Brice Goglin , Keith Busch Subject: [PATCHv8 00/10] Heterogenous memory node attributes Date: Mon, 11 Mar 2019 14:55:56 -0600 Message-Id: <20190311205606.11228-1-keith.busch@intel.com> X-Mailer: git-send-email 2.13.6 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org == Changes since v7 == Fixed an early return that prevented reporting HMAT when there are no direct attached initiators. Fixed introducing a variable that was unused until several patches later. Miscellaneous typos, editorial clarifications, and whitespace fixups. Merged to most current linux-next. Added received review, test, and ack by's. I've published a git tree available on this branch: https://git.kernel.org/pub/scm/linux/kernel/git/kbusch/linux.git/log/?h=hmat-v8 == Background == Platforms may provide multiple types of cpu attached system memory. The memory ranges for each type may have different characteristics that applications may wish to know about when considering what node they want their memory allocated from. It had previously been difficult to describe these setups as memory rangers were generally lumped into the NUMA node of the CPUs. New platform attributes have been created and in use today that describe the more complex memory hierarchies that can be created. This series' objective is to provide the attributes from such systems that are useful for applications to know about, and readily usable with existing tools and libraries. Those applications may query performance attributes relative to a particular CPU they're running on in order to make more informed choices for where they want to allocate hot and cold data. This works with mbind() or the numactl library. Keith Busch (10): acpi: Create subtable parsing infrastructure acpi: Add HMAT to generic parsing tables acpi/hmat: Parse and report heterogeneous memory node: Link memory nodes to their compute nodes node: Add heterogenous memory access attributes node: Add memory-side caching attributes acpi/hmat: Register processor domain to its memory acpi/hmat: Register performance attributes acpi/hmat: Register memory side cache attributes doc/mm: New documentation for memory performance Documentation/ABI/stable/sysfs-devices-node | 87 +++- Documentation/admin-guide/mm/numaperf.rst | 169 +++++++ arch/arm64/kernel/acpi_numa.c | 2 +- arch/arm64/kernel/smp.c | 4 +- arch/ia64/kernel/acpi.c | 16 +- arch/x86/kernel/acpi/boot.c | 36 +- drivers/acpi/Kconfig | 1 + drivers/acpi/Makefile | 1 + drivers/acpi/hmat/Kconfig | 11 + drivers/acpi/hmat/Makefile | 1 + drivers/acpi/hmat/hmat.c | 666 ++++++++++++++++++++++++++ drivers/acpi/numa.c | 16 +- drivers/acpi/scan.c | 4 +- drivers/acpi/tables.c | 76 ++- drivers/base/Kconfig | 8 + drivers/base/node.c | 352 +++++++++++++- drivers/irqchip/irq-gic-v2m.c | 2 +- drivers/irqchip/irq-gic-v3-its-pci-msi.c | 2 +- drivers/irqchip/irq-gic-v3-its-platform-msi.c | 2 +- drivers/irqchip/irq-gic-v3-its.c | 6 +- drivers/irqchip/irq-gic-v3.c | 10 +- drivers/irqchip/irq-gic.c | 4 +- drivers/mailbox/pcc.c | 2 +- include/linux/acpi.h | 6 +- include/linux/node.h | 71 +++ 25 files changed, 1489 insertions(+), 66 deletions(-) create mode 100644 Documentation/admin-guide/mm/numaperf.rst create mode 100644 drivers/acpi/hmat/Kconfig create mode 100644 drivers/acpi/hmat/Makefile create mode 100644 drivers/acpi/hmat/hmat.c -- 2.14.4