From patchwork Wed Jan 16 17:57:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Keith Busch X-Patchwork-Id: 10766589 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 E209C1390 for ; Wed, 16 Jan 2019 17:59:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D2A392F0EC for ; Wed, 16 Jan 2019 17:59:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C69962F102; Wed, 16 Jan 2019 17:59:39 +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=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5BBA82F0EC for ; Wed, 16 Jan 2019 17:59:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 78C638E0003; Wed, 16 Jan 2019 12:59:38 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 73ADD8E0002; Wed, 16 Jan 2019 12:59:38 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 650B18E0003; Wed, 16 Jan 2019 12:59:38 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by kanga.kvack.org (Postfix) with ESMTP id 2354C8E0002 for ; Wed, 16 Jan 2019 12:59:38 -0500 (EST) Received: by mail-pf1-f199.google.com with SMTP id p9so5233385pfj.3 for ; Wed, 16 Jan 2019 09:59:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id; bh=1BfyS7DrfbWExhpoQAKzZHFCwAftOSXrfQHA3PA5+HE=; b=BM0eW3uIotLRaJuTnahPjhgXhH/6UoBuJC5D8jytjthdQHtH1Lk373CMWkLmWnVs3w ZLU7gz9xWFNDYAlQ6JrqkWRFqRFPK/9C5FDiAyDSW50Kb0/Tq9ObzEetAng7qTEseetA iFcLQkag4NMFUWlf/RfDvCCmXi3tBs4u4CHPdIEPeVpuST/pMnzkMJaXh5JMDm7fRBIU PmMgQFHUvYMYLbiQoFrLCGYc0WR8ybD7yxzkifvZypMhH14q3wcEvHwn6guaXaxqBnvj 7XD7jSN6gW5Vz/POdjOsBVGhY2H2vp2AXtj7MooqjEMun1XNsS52+i8qgHOCRrs3k3HQ J04g== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of keith.busch@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=keith.busch@intel.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Gm-Message-State: AJcUukdn2jVzft8dNH3LlWZrPmBfnAihl3V5A3KDsRJRL6ZXTgeLo0Je dI9BxDL5ENAzPT5BTlhQY6cchLbWalTiPvvcM0BJZcLId/RqJQjDZZDWaQqLxxJGp515DNDOkJT oVPK9MAR9IVX787GSvuQ3d6lb5r2NeffDiqTT0dEC4IA0rIAq+YfDLKRPartIUSRIUw== X-Received: by 2002:a62:ca9c:: with SMTP id y28mr10998871pfk.236.1547661577652; Wed, 16 Jan 2019 09:59:37 -0800 (PST) X-Google-Smtp-Source: ALg8bN6eanpbUSMG6aPHtUa0rcx4FwGvxs6Grs7SFnoZ5BwsEBgUlZKPLjXUBrvvP+sTkH0jt3ie X-Received: by 2002:a62:ca9c:: with SMTP id y28mr10998808pfk.236.1547661576542; Wed, 16 Jan 2019 09:59:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547661576; cv=none; d=google.com; s=arc-20160816; b=fASZf4bQB/o2uGyMUlzPttkhjL6yb3HIpeCyYQa4Dpc5hnLT0/6RBs42asuvS5kGbh lfNOWDjpgurbAX28ndbp/AhXm20kzxGi5Zk2hNIBzzxCkHRkhIR/R9shLqGPpuoUk0CH 0NK5Fa1JAjrd6fonAupLKzDxwd62lKecHV0Nb13bf0IOAJAFPoBqbjBeZVptkhzWTAyt W2wjt7k344fJAFHWIf1XWsMxf5rjMAGcLVb2avims0jynVdlU5PXOdpQJ6DsHUxjAd6+ aK81uEHVswcamaooZl1dGG923XTwjZjGxjDSiGLKdY+kDe4ltoiJTb66GauGtHqifN6v 2lGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from; bh=1BfyS7DrfbWExhpoQAKzZHFCwAftOSXrfQHA3PA5+HE=; b=zE/6w91PMkiBTZwJ+SSlbYH6jchBL1geebjEHdMQx52jFmkfFIEgCXDzFgmIb/4kmZ 1DpiwYJa+YZWqsLZnc8Ofoa9OmfJoKvNCZ5G81XicjP/eFXph7eL0hkFs3bCbP13fYVc MuINuNbimMC+R/wHP6Q07DkoxjgYXOrpJQkxIIcmssIJUlCmSTAk9Afsr6h2FlfNfCUQ I80Nx8onAQ0Tg6UbcTi33qEU7Adu3ndBK9g0D8pWq4fm+lGVsFPEsY1l2LVd/Pu1/OWJ HrQo+qWlHK8szUMtJoJBdU10gq/geBK+rSZF3gzDYeTxZVmvO3GK/bN2XgK8CwpPIDYF Pu+A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of keith.busch@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=keith.busch@intel.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from mga01.intel.com (mga01.intel.com. [192.55.52.88]) by mx.google.com with ESMTPS id y8si6735247plr.92.2019.01.16.09.59.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 09:59:36 -0800 (PST) Received-SPF: pass (google.com: domain of keith.busch@intel.com designates 192.55.52.88 as permitted sender) client-ip=192.55.52.88; Authentication-Results: mx.google.com; spf=pass (google.com: domain of keith.busch@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=keith.busch@intel.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Jan 2019 09:59:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,487,1539673200"; d="scan'208";a="117227760" Received: from unknown (HELO localhost.lm.intel.com) ([10.232.112.69]) by fmsmga008.fm.intel.com with ESMTP; 16 Jan 2019 09:59:35 -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: [PATCHv4 00/13] Heterogeneuos memory node attributes Date: Wed, 16 Jan 2019 10:57:51 -0700 Message-Id: <20190116175804.30196-1-keith.busch@intel.com> X-Mailer: git-send-email 2.13.6 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The series seems quite calm now. I've received some approvals of the on the proposal, and heard no objections on the new core interfaces. Please let me know if there is anyone or group of people I should request and wait for a review. And if anyone reading this would like additional time as well before I post a potentially subsequent version, please let me know. I also wanted to inquire on upstream strategy if/when all desired reviews are received. The series is spanning a few subsystems, so I'm not sure who's tree is the best candidate. I could see an argument for driver-core, acpi, or mm as possible paths. Please let me know if there's a more appropriate option or any other gating concerns. == Changes from v3 == I've fixed the documentation issues that have been raised for v3 Moved the hmat files according to Rafael's recommendation Added received Reviewed-by's Otherwise this v4 is much the same as v3. == 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. Keith Busch (13): 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 Documentation/ABI: Add new node sysfs attributes acpi/hmat: Register processor domain to its memory node: Add heterogenous memory access attributes 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 | 87 +++++- Documentation/admin-guide/mm/numaperf.rst | 184 +++++++++++++ arch/arm64/kernel/acpi_numa.c | 2 +- arch/arm64/kernel/smp.c | 4 +- arch/ia64/kernel/acpi.c | 12 +- arch/x86/kernel/acpi/boot.c | 36 +-- drivers/acpi/Kconfig | 1 + drivers/acpi/Makefile | 1 + drivers/acpi/hmat/Kconfig | 9 + drivers/acpi/hmat/Makefile | 1 + drivers/acpi/hmat/hmat.c | 375 ++++++++++++++++++++++++++ drivers/acpi/numa.c | 16 +- drivers/acpi/scan.c | 4 +- drivers/acpi/tables.c | 76 +++++- drivers/base/Kconfig | 8 + drivers/base/node.c | 317 +++++++++++++++++++++- 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 | 70 ++++- 25 files changed, 1172 insertions(+), 65 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