Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp106354imu; Mon, 10 Dec 2018 17:11:44 -0800 (PST) X-Google-Smtp-Source: AFSGD/W0u+2RhsKM5dO4txGxG9j8iyNKn8gDI+dR3d4VnDBvVllygexLssowdIyJIHVeHvgK70Gz X-Received: by 2002:a63:de04:: with SMTP id f4mr12596876pgg.292.1544490704555; Mon, 10 Dec 2018 17:11:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544490704; cv=none; d=google.com; s=arc-20160816; b=qdS9XKCzh67iAfB48UwCF9O+kB6vtLb0TMBBBehfqbROLjQHHZePDKAWxk6ZDDwfCK UVlUZbwBVQUCoHRsi+HSkXjkFqhqkJcOCdeqn2e9yr2zwO0MuEkaCuJosFGa6uA/pVvE GlePVUth0UvAU4yL80oewXlzPW/lUU3dUtoTsAsUNNjQX46IccmamUXN8l1U1eKHnXkn wWnl7eRv8Tb378iTpYFZ7znCSJlDOhWHNyflqA0qr2EgGKMhfdqk4TCnHdwgnuAfiatK nCOTfme2dRdcp5HQ2/5rcKqaK7uqbpyP5azSupqc4mEEfz5ImkB2i2F4oHdK3f6eGLFp rItw== 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=fdjJCFRwYiRxQLLhdNwGLvHzT8RPY2I9c020t3G4oy4=; b=PRz+csn9fz6pP2KdF18pyyZdoT0ZOT00vgUZHt0EaJvPQsd9TOtzYVD3wmcgzGct31 v/OjjlSgoB0aTOZOKDBjU02JR+wH+E3CgZpH88K/f2A4QixIH49tiJrgWv51FQfbV0zH lSmwAMxU/LXjzwdghUu+MAIDI+jWUNTzsKW2NdyMFaJzYCTr2tsKaNfeUfVDhsw2LO5c dv8kz3vEgF7j1MOp2LJCvE1gd8apCuYg1soCwrdFSZoLOho7FYeadjHtA46xR+NPaTTn gchILsZ4zkD6jD3HytpBysYHftL6WsqnCSv6E9kY4Rvz2IQFKryJYdFlv28855B4qQZA WvBQ== 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 i1si11403724pfj.276.2018.12.10.17.11.29; Mon, 10 Dec 2018 17:11:44 -0800 (PST) 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 S1729375AbeLKBFp (ORCPT + 99 others); Mon, 10 Dec 2018 20:05:45 -0500 Received: from mga02.intel.com ([134.134.136.20]:24609 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728509AbeLKBFo (ORCPT ); Mon, 10 Dec 2018 20:05:44 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Dec 2018 17:05:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,340,1539673200"; d="scan'208";a="117705161" Received: from unknown (HELO localhost.lm.intel.com) ([10.232.112.69]) by orsmga001.jf.intel.com with ESMTP; 10 Dec 2018 17:05:42 -0800 From: Keith Busch To: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-mm@kvack.org Cc: Greg Kroah-Hartman , Rafael Wysocki , Dave Hansen , Dan Williams , Keith Busch Subject: [PATCHv2 00/12] Heterogeneous memory node attributes Date: Mon, 10 Dec 2018 18:02:58 -0700 Message-Id: <20181211010310.8551-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 Here is the second version for adding heterogeneous memory attributes to the existing node sysfs representation. 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. Changes since v1: Reordered the patches. The ACPI and bare-bones HMAT parsing come first. The kernel interfaces, documentation and in-kernel users follow. For correctness, have the new generic ACPI parsing and their callbacks use the acpi union header type instead of the common header. Added node masks in addition to the node symlinks for primary memory and cpu nodes. Altered the naming conventions to clearly indicate the attributes are for primary access and capture the relationship for the new access attributes to their primary nodes. Added Documentation/ABI. Used 'struct device' instead of kobject for memory side caches. Initialize HMAT with subsys_initcall instead of device_init. Combined the numa performance documentation into a single file and moved it to admin-guide/mm/. Changelogs updated with spelling/grammar/editorial fixes, and include additional examples. Keith Busch (12): acpi: Create subtable parsing infrastructure acpi/hmat: Parse and report heterogeneous memory node: Link memory nodes to their compute nodes Documentation/ABI: Add new node sysfs attributes acpi/hmat: Register processor domain to its memory node: Add heterogenous memory performance Documentation/ABI: Add node performance attributes acpi/hmat: Register performance attributes node: Add memory caching attributes Documentation/ABI: Add node cache attributes acpi/hmat: Register memory side cache attributes doc/mm: New documentation for memory performance Documentation/ABI/stable/sysfs-devices-node | 96 ++++++- Documentation/admin-guide/mm/numaperf.rst | 171 ++++++++++++ arch/x86/kernel/acpi/boot.c | 36 +-- drivers/acpi/Kconfig | 9 + drivers/acpi/Makefile | 1 + drivers/acpi/hmat.c | 393 ++++++++++++++++++++++++++++ drivers/acpi/numa.c | 16 +- drivers/acpi/scan.c | 4 +- drivers/acpi/tables.c | 76 +++++- drivers/base/Kconfig | 8 + drivers/base/node.c | 269 +++++++++++++++++++ drivers/irqchip/irq-gic-v3.c | 2 +- drivers/mailbox/pcc.c | 2 +- include/linux/acpi.h | 6 +- include/linux/node.h | 49 ++++ 15 files changed, 1096 insertions(+), 42 deletions(-) create mode 100644 Documentation/admin-guide/mm/numaperf.rst create mode 100644 drivers/acpi/hmat.c -- 2.14.4