Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp1441376imc; Mon, 11 Mar 2019 13:57:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqyswhe62uhG/+80FPACGJ9ziOCPNPiq8Y8XVGJAWilB2n4e1q7b0IJCHbfVx+gXHKft9nlC X-Received: by 2002:a62:4553:: with SMTP id s80mr34618388pfa.141.1552337833341; Mon, 11 Mar 2019 13:57:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552337833; cv=none; d=google.com; s=arc-20160816; b=SoAtSHS1Lglh2yC/3pxMcqGAPsagmc7bSQ4lIZa/ysgJKzjPf1e7zHFh3db+HLqNJJ d9D/f7z5OfaTBazs3q78d0yGA+3VQS8Uhpj5h0bzWEMSQ+hjDxBkAFp/u5f5qS2AE0dS 8eLSe6n5jl8C7PYKMHqHFcSdyvyhEvamaWJacDLMWeuyohv/TZk5c9/UgRo0TNMQt2yb 0wB20kXXwHxolhe+0zH6XHYEmBffiSz92PzAnSxmaAI21idRfl/LPkPpYXyjUEFiQzk7 N/hafvHfNl5X5WCh+iqz0ja9IN/1U/bfl0Did5JlDIcu9eOMUV/cCOY8lf2g/XXySCMf DYPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=ewJqgFUqDpv8Lqv/Yuto2PNWo7oT6nVxI/FcdI99OAY=; b=AazN2/IEkI+Xgw+O/7bHP1qHkFpc0wJUhsQfoJxogESOpQp1U412B6WVXu/iW9nKHy Vnoz+0/qL1YVe8ye0+OY/Hz+HsIVNfpod73VRNl1doff8To3A/63Z01tlO1RbzE+MnFM jVEH/z4FdG/lzFg49gR+fXezF8HZEwk2OeHHZqjlM0BZC8lG/kQ7qD/TLnRsRbKqb6ni 1RCLj10Toafyv6T/yKIkKLHdTVVeNK1fPoxz68WJLG4CvPTF8FFyshoghpWGe4SwhLBJ UROOVd4ukFwciYR7YfrIXodhFng3Yqkobb2c2Be7Tp6dHO5X17PTvPFSgDrhZF+pOtnl Pviw== 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 h69si6226012pfc.120.2019.03.11.13.56.58; Mon, 11 Mar 2019 13:57:13 -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 S1728471AbfCKU4P (ORCPT + 99 others); Mon, 11 Mar 2019 16:56:15 -0400 Received: from mga18.intel.com ([134.134.136.126]:10474 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728330AbfCKUzo (ORCPT ); Mon, 11 Mar 2019 16:55:44 -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:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,468,1544515200"; d="scan'208";a="139910190" Received: from unknown (HELO localhost.lm.intel.com) ([10.232.112.69]) by FMSMGA003.fm.intel.com with ESMTP; 11 Mar 2019 13:55:43 -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 08/10] acpi/hmat: Register performance attributes Date: Mon, 11 Mar 2019 14:56:04 -0600 Message-Id: <20190311205606.11228-9-keith.busch@intel.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20190311205606.11228-1-keith.busch@intel.com> References: <20190311205606.11228-1-keith.busch@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Save the best performance access attributes and register these with the memory's node if HMAT provides the locality table. While HMAT does make it possible to know performance for all possible initiator-target pairings, we export only the local pairings at this time. Acked-by: Rafael J. Wysocki Signed-off-by: Keith Busch --- drivers/acpi/hmat/Kconfig | 5 ++++- drivers/acpi/hmat/hmat.c | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/hmat/Kconfig b/drivers/acpi/hmat/Kconfig index 13cddd612a52..95a29964dbea 100644 --- a/drivers/acpi/hmat/Kconfig +++ b/drivers/acpi/hmat/Kconfig @@ -2,7 +2,10 @@ config ACPI_HMAT bool "ACPI Heterogeneous Memory Attribute Table Support" depends on ACPI_NUMA + select HMEM_REPORTING help If set, this option has the kernel parse and report the platform's ACPI HMAT (Heterogeneous Memory Attributes Table), - and register memory initiators with their targets. + register memory initiators with their targets, and export + performance attributes through the node's sysfs device if + provided. diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c index 01a6eddac6f7..7a3a2b50cadd 100644 --- a/drivers/acpi/hmat/hmat.c +++ b/drivers/acpi/hmat/hmat.c @@ -545,12 +545,20 @@ static __init void hmat_register_target_initiators(struct memory_target *target) } } +static __init void hmat_register_target_perf(struct memory_target *target) +{ + unsigned mem_nid = pxm_to_node(target->memory_pxm); + node_set_perf_attrs(mem_nid, &target->hmem_attrs, 0); +} + static __init void hmat_register_targets(void) { struct memory_target *target; - list_for_each_entry(target, &targets, node) + list_for_each_entry(target, &targets, node) { hmat_register_target_initiators(target); + hmat_register_target_perf(target); + } } static __init void hmat_free_structures(void) -- 2.14.4