Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2556858imu; Thu, 24 Jan 2019 15:10:38 -0800 (PST) X-Google-Smtp-Source: ALg8bN6IAkdc0yhdeTjD5g8qK+Z/av3fmBhD9YCPD0zRhGPoIGIH0FbgS/YW1paG+fGnBraIMzjs X-Received: by 2002:a62:6303:: with SMTP id x3mr8706378pfb.110.1548371438608; Thu, 24 Jan 2019 15:10:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548371438; cv=none; d=google.com; s=arc-20160816; b=JCq08BheIeL7YBNtwOE/i7n5jwXwiZxlCCaz48wc6FExvxumPhU3Eg+/Lb6R04mON5 qJSabghlnzgQ0N0RT0YKjdSiO72EAygyT4mK4AfaWGlll/kEp2SBkM3BArOcqhGkW2yG HTuoj+IaZAJoQ6v2CWCCJCMGxZonGbQ8k7LtYZWDrEu1Dc5egkNv63UlIMAeRQV7BmTs JdsDP/Nj2MxXeoFmVR3lmIgOaLHM46QeubmtUm48eY5TduzljG30x2at2HDsGuieuusQ iDnU1WQlebZtOQgCe0ER9GT5xcTLuP1K1UXEvKx5lAgGKp4DE4px5E0B7jHnOEtTZ9yN 6LwQ== 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=FRDRCFrDBJCWT4+sqy4x4IANtSFwW3A+1kaR80id7To=; b=FoggGN+D6Qc9kC+4cDFbQXoiRykY4w/7JOjgwXxGWEwTq7GDwOySqI2qmU5DJhzHew MzwOA+eZNW1q9ZfUFED8HSQzGJZrubB+i+7agZfWxivd7Nuvl1xh9cl+KirZUG96MOUp 1Jlm8Mer3sCWDGRTxVy0jOgOazSeTvc8PU03Uefs5bTOK9kwera1rRNuIpUyGkeerpy6 s2VW2O8+Vv1m7p331SGiuILHRna+7YzTKXhyOAVLcKj9RYpp7Bl9KFV7r/ibW6gH0nRE jT4+MiK8AQoCzYhGd9cVsn346vOv5oEzn1MfvOO58PZuPlRANEaRfIMH65rzU5FsBODT kppw== 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 a16si1359279pls.146.2019.01.24.15.10.23; Thu, 24 Jan 2019 15:10:38 -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 S1728326AbfAXXJD (ORCPT + 99 others); Thu, 24 Jan 2019 18:09:03 -0500 Received: from mga03.intel.com ([134.134.136.65]:21167 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728033AbfAXXIa (ORCPT ); Thu, 24 Jan 2019 18:08:30 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jan 2019 15:08:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,518,1539673200"; d="scan'208";a="313295772" Received: from unknown (HELO localhost.lm.intel.com) ([10.232.112.69]) by fmsmga006.fm.intel.com with ESMTP; 24 Jan 2019 15:08:26 -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: [PATCHv5 07/10] acpi/hmat: Register performance attributes Date: Thu, 24 Jan 2019 16:07:21 -0700 Message-Id: <20190124230724.10022-8-keith.busch@intel.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20190124230724.10022-1-keith.busch@intel.com> References: <20190124230724.10022-1-keith.busch@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Register the local attached performace access attributes 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 and matching pairings at this time. Signed-off-by: Keith Busch --- drivers/acpi/hmat/Kconfig | 1 + drivers/acpi/hmat/hmat.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/drivers/acpi/hmat/Kconfig b/drivers/acpi/hmat/Kconfig index c9637e2e7514..08e972ead159 100644 --- a/drivers/acpi/hmat/Kconfig +++ b/drivers/acpi/hmat/Kconfig @@ -2,6 +2,7 @@ config ACPI_HMAT bool "ACPI Heterogeneous Memory Attribute Table Support" depends on ACPI_NUMA + select HMEM_REPORTING help If set, this option causes the kernel to set the memory NUMA node relationships and access attributes in accordance with ACPI HMAT diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c index 85fd835c2e23..917e6122b3f0 100644 --- a/drivers/acpi/hmat/hmat.c +++ b/drivers/acpi/hmat/hmat.c @@ -430,6 +430,19 @@ static __init void hmat_register_target_initiators(struct memory_target *target) hmat_register_if_local(target, initiator); } +static __init void hmat_register_target_perf(struct memory_target *target) +{ + unsigned mem_nid = pxm_to_node(target->memory_pxm); + struct node_hmem_attrs hmem_attrs = { + .read_bandwidth = target->read_bandwidth, + .write_bandwidth= target->write_bandwidth, + .read_latency = target->read_latency, + .write_latency = target->write_latency, + }; + + node_set_perf_attrs(mem_nid, &hmem_attrs, 0); +} + static __init void hmat_register_targets(void) { struct memory_target *target, *tnext; @@ -439,6 +452,7 @@ static __init void hmat_register_targets(void) list_for_each_entry_safe(target, tnext, &targets, node) { list_del(&target->node); hmat_register_target_initiators(target); + hmat_register_target_perf(target); kfree(target); } -- 2.14.4