Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp353871imu; Mon, 26 Nov 2018 23:01:54 -0800 (PST) X-Google-Smtp-Source: AJdET5dYnT5UC9wx58+VHwaHdSoHruY/yt0KEN1hoCxdvjWO7a2ta+lLVmUIlvTilZys3ku1zean X-Received: by 2002:a62:2292:: with SMTP id p18mr32448616pfj.9.1543302114133; Mon, 26 Nov 2018 23:01:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543302114; cv=none; d=google.com; s=arc-20160816; b=pLmAJkiPx66xlBhiZsObFaaxcHEBpQCj1DfNzC/KSrx1/QA2QoSBdGPzSAZr4ZWXYg nu7pZCYyOyqHCNo6XqWcuprFY9oywPeCapaa6STLlgVLZ1gvuIpESw0dWmbuh2wPlowE /uCJERPpkDN/yH0UrzbRD+zfPXvfzUHWcgIEmEKhfp0K3nXDzAggffsXiq/0e4igER/t vQo0h0yXvO1MyzKZaj+sjIMSRZqmp+SRwHJ9DOUzCTxQYw3vquIE8xEgsntb4z6H1AO5 0rG7DZHsONpSid7Z+oe65/XvP3u3AKp/BXiQ2n2ShEPjOXJ/24iXZjPIG9vbsFALNfSH C0cQ== 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=Wl8sBScMZNM+xRd5P2NninIaWx8EbP/d9eQyxsxEsZ4=; b=t2pF70DssQ6eKyWM8CSNHu4Q9Hj5xMhXsYd49+M+bLi3srRd+hXTwzosDoJ/IseyXc Jv2v7rdEErsLx6THAk/B2xGJK5Z7+S+l9Xa/mP7cljJuqOwMgut8GOMXVCOyxzxDYgWG 2Ivw4Q7iRiFEeiUp7l7ewp75ysz6Gluvdin+y87wd47DSYhW+TYhYaOr20UY3r8ODONd eproSSZ13ryAZ25uiz4njLUOxL0ohdfgIXe3k42yTaVAfOusxsfhN+bKThcOhezuphEj Pw7QqCLkszBTBeQqvIV86YWigQxGFH208i1PEuYyMQpcTzfE2s1yJ5E5ohMsB92DrJ9f S29A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=mvdtw7Eb; 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 186si2812059pgi.424.2018.11.26.23.01.38; Mon, 26 Nov 2018 23:01:54 -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=mvdtw7Eb; 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 S1728571AbeK0R5N (ORCPT + 99 others); Tue, 27 Nov 2018 12:57:13 -0500 Received: from mail-ot1-f68.google.com ([209.85.210.68]:41968 "EHLO mail-ot1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727537AbeK0R5N (ORCPT ); Tue, 27 Nov 2018 12:57:13 -0500 Received: by mail-ot1-f68.google.com with SMTP id u16so19181940otk.8 for ; Mon, 26 Nov 2018 23:00:20 -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=Wl8sBScMZNM+xRd5P2NninIaWx8EbP/d9eQyxsxEsZ4=; b=mvdtw7EbLSCK9KvG2uL0l9Cc0k3nyyovNDbJgXTyxCvMp9efwL5774nVluQBC3dH2N YfV+k6DaLRTHbD4ouwtXpa/ygYER2g1i49pPLMVePBGOnMHfFZT6Tb/frFxZltoIWQFu DABBYRduyTk8CRH32O+hGsPU6Y55tz7rwQerEl+gN83VSOVv9AMeosiJvbj6zK5Ql7O+ /+kuh1fKrpRsuyhtvUqCVNlftAjgt7sEP7TV22gS4LpO0BGZVVNNcs01v2N3t3wcI/Xi K8KlUe6TJb6j/4BBDkt3emLYGvEdnaFLDtRCPa4WmN/Uq4uMfeLuLI8E7XZreNozUii3 v6ew== 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=Wl8sBScMZNM+xRd5P2NninIaWx8EbP/d9eQyxsxEsZ4=; b=gojU4iaZPx0OeJqC7fclNbQxZ6PpRvI40OzkDJl9ys0lhhx0rjnJQ02Do6mFKPcS9S 1t3738IPOOpF3o+njoymGCB+LOOxAtVRnLZ9yYxJBG4rKd9rCYKyOZak1ICUNU/f1t29 TRhnxUWZOneDRaTpxo+CBUyzdrrnQ7Pr6M6wJXyOdPLcMq9P4ZOOhU23gL06wzVE+62k WgL3yXtQhnJLOkunzPpqaZDu/IKmbgSkQfv43fbvHZVV5TzL711hFR64adn5YeJcp948 c5horA479xgTiBKh7FPFysQtpxC6Ilgv+sLbrmQI52A9jC4FKbksKEVjOJpXFUx06k4L duDw== X-Gm-Message-State: AA+aEWYCce+fO5dEbiVGnSOifuU0JbHcEvoHJnFYKVKBHr3aKZ12fxfL Ri6io5lhHAIEu4Bqp8es8xRH7itjFhKM5Egi7QG33Q== X-Received: by 2002:a9d:7dd5:: with SMTP id k21mr18037823otn.214.1543302019822; Mon, 26 Nov 2018 23:00:19 -0800 (PST) MIME-Version: 1.0 References: <20181114224921.12123-2-keith.busch@intel.com> <20181114224921.12123-3-keith.busch@intel.com> In-Reply-To: <20181114224921.12123-3-keith.busch@intel.com> From: Dan Williams Date: Mon, 26 Nov 2018 23:00:09 -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 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. 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.