Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp229508imu; Tue, 27 Nov 2018 11:29:17 -0800 (PST) X-Google-Smtp-Source: AFSGD/WHY7xyMx19gbDNNuX4jGdYDDtHRomWqUgD5EnmHUfnhnBXAhVijAJhZyWk7Oju5dsFhi2F X-Received: by 2002:a63:5f95:: with SMTP id t143mr30740657pgb.395.1543346957111; Tue, 27 Nov 2018 11:29:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543346957; cv=none; d=google.com; s=arc-20160816; b=y66ckX2hsRuHJbxUgMN2l2da8EFqtB/nnfy/fo7+dZHS7/nOxPfe716hGQDUf6nmIe lGURcz6wUPXPDAcBQcvVQGONC1U//vR8Ujd2/68rJiE1WwuxQhCQGP8w2FlV3NDgCds7 QW2040J+g4X3dELPGkqulzaZcfVW9Ajoo3Jh1NsYgXvYJ93JocCWG7UC2Lm5Qc02oPSC N3hBFLnCe7mxV0Wfy09/zF2s+2syAT1k8IkkDoNmFUdqdoQL9p093Ye/h6dlZC4TNTUJ XLM5phn4f0G9x8GIr9ftAW7dFbcjEVNhBZkp8vaz1k5mbmzVsdN8z9LZ9TlEDnKEbJ71 iTgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=W6kqbdoIdoOTcEMfh8M3eg7P++NjiSNDJAcPi/8vdBw=; b=c5cY283uSULrmwldEiFmb6RLxbYLxk4fJL3epGSnXqduJmK/iyesR0KofFqO+1Pxtc fSQq/twMtRoGn6OpEEwIJQkdiORV5wJG0XwjUbuef1Wg05qHmpyWOr5Jn4uTouJZmqYA GwJhWSuVLEE35easChHDTvmSKOMLX/fpJDnJMSQAR+2nEyaChKdJIl6urHPnTghs7AJ+ Fk50TCT2Ix2JlKzfyOR4EPLMGMSihkOVlHNAELCrJ/ZOn7aKGIfTs9UNGvLAG/UkKVFs yqiBHW3uz9crdRufzYl0KXpn1rDJ5tcVMgBGUu2P5U0gvQ9z6vwFvPk8T1wlF3xoM/31 ugAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=oud5sjbV; 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 b6si4554769pls.367.2018.11.27.11.29.02; Tue, 27 Nov 2018 11:29:17 -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; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=oud5sjbV; 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 S1731819AbeK1Elr (ORCPT + 99 others); Tue, 27 Nov 2018 23:41:47 -0500 Received: from mail-oi1-f193.google.com ([209.85.167.193]:35463 "EHLO mail-oi1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726288AbeK1Elq (ORCPT ); Tue, 27 Nov 2018 23:41:46 -0500 Received: by mail-oi1-f193.google.com with SMTP id v6so20062751oif.2 for ; Tue, 27 Nov 2018 09:43:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=W6kqbdoIdoOTcEMfh8M3eg7P++NjiSNDJAcPi/8vdBw=; b=oud5sjbVeBFfvW6GQ6O0/nJR3O0tkTdfklfksZnfyr/QUkxVDR3j40K/AgpTNWsL3E VEAtDP6g8fVx0om6CV+ZZkJE/XJg/7/bFkYPYW062bl/x1M5IO3r939LaM9zAQo89Bh0 wJ7YCN0tP58WUNEeYOzPgyqCgQ7IPXanDwXlFUMDTIk3wbyVSbJN2ir/1gXAoacEgL+H tkbXJpAKsGnayckXmvuaz+8werplOfzjd4AyWpFL1TghbRLYprooBtQo//1ENrtQSXvM sVvWydIvR/kR4ReMeVhhoOHY6cfNWDkvvVC7JWo3HcvV4wYB2Ku5JuwZnDzvg51bK3PA 5KpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=W6kqbdoIdoOTcEMfh8M3eg7P++NjiSNDJAcPi/8vdBw=; b=feM4XHIvI20YqZvR0JYY+zQuEh4y/Vd89Ud/uzxHTLUte1sR/WjarkR+qJXiuQt0l6 WoybdtpFMGYT3xfjnOOGW2wDkS/qguoqmB7m0YV00UwK7RsDWHJizugG9plDG+xSDumB AVuS0PODHgxElTDzQ2nrV19aHg1QR8sW7H3GW3COPSN4kIPqMsBxFqg1FWL/CXRJrFNb Sb+p2ZHQL6McqMTXcpokueLzRMid5Xf7QWquhSr18ukKDXkllBRGz3RJqZB1aNgHvgft W2Pd/ytcZfCLN6qmTFF+lUqrpbSyWaKw0PBnL25vl2RjxGeg3HLICvRF58OYGXPyUSK1 27QQ== X-Gm-Message-State: AGRZ1gJBgKk+bt16vOZ2/9wbM/EKrV8Y3D7rSkNclwujz0EkzXYDlDsC NMIXDmD4w2USFI0sfHU/dKl9cv/LC5NVqgey19If3g== X-Received: by 2002:aca:e691:: with SMTP id d139-v6mr17528580oih.232.1543340587265; Tue, 27 Nov 2018 09:43:07 -0800 (PST) MIME-Version: 1.0 References: <20181114224921.12123-2-keith.busch@intel.com> <20181114224921.12123-3-keith.busch@intel.com> In-Reply-To: From: Dan Williams Date: Tue, 27 Nov 2018 09:42:54 -0800 Message-ID: Subject: Re: [PATCH 2/7] node: Add heterogenous memory performance To: Keith Busch Cc: Linux Kernel Mailing List , Linux ACPI , Linux MM , Greg KH , "Rafael J. Wysocki" , Dave Hansen Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 26, 2018 at 11:00 PM Dan Williams wrote: > > On Wed, Nov 14, 2018 at 2:53 PM Keith Busch wrote: > > > > Heterogeneous memory systems provide memory nodes with latency > > and bandwidth performance attributes that are different from other > > nodes. Create an interface for the kernel to register these attributes > > under the node that provides the memory. If the system provides this > > information, applications can query the node attributes when deciding > > which node to request memory. > > > > When multiple memory initiators exist, accessing the same memory target > > from each may not perform the same as the other. The highest performing > > initiator to a given target is considered to be a local initiator for > > that target. The kernel provides performance attributes only for the > > local initiators. > > > > The memory's compute node should be symlinked in sysfs as one of the > > node's initiators. > > > > The following example shows the new sysfs hierarchy for a node exporting > > performance attributes: > > > > # tree /sys/devices/system/node/nodeY/initiator_access > > /sys/devices/system/node/nodeY/initiator_access > > |-- read_bandwidth > > |-- read_latency > > |-- write_bandwidth > > `-- write_latency > > With the expectation that there will be nodes that are initiator-only, > target-only, or both I think this interface should indicate that. The > 1:1 "local" designation of HMAT should not be directly encoded in the > interface, it's just a shortcut for finding at least one initiator in > the set that can realize the advertised performance. At least if the > interface can enumerate the set of initiators then it becomes clear > whether sysfs can answer a performance enumeration question or if the > application needs to consult an interface with specific knowledge of a > given initiator-target pairing. Sorry, I misread patch1, this series does allow publishing the multi-initiator case that shares the same performance profile to a given target. > It seems a precursor to these patches is arranges for offline node > devices to be created for the ACPI proximity domains that are > offline-by default for reserved memory ranges. Likely still need this though because node devices don't tend to show up until they have a cpu or online memory.