From patchwork Wed Nov 14 22:49:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Keith Busch X-Patchwork-Id: 10683275 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4BEDA13BF for ; Wed, 14 Nov 2018 22:52:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3D9572BF47 for ; Wed, 14 Nov 2018 22:52:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3163E2BF61; Wed, 14 Nov 2018 22:52:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 69D742BF47 for ; Wed, 14 Nov 2018 22:52:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726492AbeKOI5p (ORCPT ); Thu, 15 Nov 2018 03:57:45 -0500 Received: from mga04.intel.com ([192.55.52.120]:42175 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726487AbeKOI5p (ORCPT ); Thu, 15 Nov 2018 03:57:45 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Nov 2018 14:52:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,234,1539673200"; d="scan'208";a="96351484" Received: from unknown (HELO localhost.lm.intel.com) ([10.232.112.69]) by FMSMGA003.fm.intel.com with ESMTP; 14 Nov 2018 14:52:32 -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: [PATCH 0/7] ACPI HMAT memory sysfs representation Date: Wed, 14 Nov 2018 15:49:02 -0700 Message-Id: <20181114224902.12082-1-keith.busch@intel.com> X-Mailer: git-send-email 2.13.6 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This series provides a new sysfs representation for heterogeneous system memory. The previous series that was specific to HMAT that this series was based on was last posted here: https://lkml.org/lkml/2017/12/13/968 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 first creates new generic APIs under the kernel's node representation. These new APIs can be used to create links among local memory and compute nodes and export characteristics about the memory nodes. Documentation desribing the new representation are provided. Finally the series adds a kernel user for these new APIs from parsing the ACPI HMAT. Keith Busch (7): node: Link memory nodes to their compute nodes node: Add heterogenous memory performance doc/vm: New documentation for memory performance node: Add memory caching attributes doc/vm: New documentation for memory cache acpi: Create subtable parsing infrastructure acpi/hmat: Parse and report heterogeneous memory Documentation/vm/numacache.rst | 76 ++++++++ Documentation/vm/numaperf.rst | 71 ++++++++ drivers/acpi/Kconfig | 9 + drivers/acpi/Makefile | 1 + drivers/acpi/hmat.c | 384 +++++++++++++++++++++++++++++++++++++++++ drivers/acpi/tables.c | 85 +++++++-- drivers/base/Kconfig | 8 + drivers/base/node.c | 193 +++++++++++++++++++++ include/linux/node.h | 47 +++++ 9 files changed, 864 insertions(+), 10 deletions(-) create mode 100644 Documentation/vm/numacache.rst create mode 100644 Documentation/vm/numaperf.rst create mode 100644 drivers/acpi/hmat.c