Received: by 2002:ac0:8c8e:0:0:0:0:0 with SMTP id r14csp891549ima; Wed, 6 Feb 2019 10:01:12 -0800 (PST) X-Google-Smtp-Source: AHgI3IbiS8FCVeUFvy1cdIaqALPug0TceHRoyS6Pm5FkM1TEXJGspeURgLsl0HINzotrZuqnMZv+ X-Received: by 2002:a17:902:6b46:: with SMTP id g6mr11921631plt.21.1549476072598; Wed, 06 Feb 2019 10:01:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549476072; cv=none; d=google.com; s=arc-20160816; b=DbfsfJoNSD81CkwgptuPum6XxCNCPwRsGZmaiM4ReUOUPKba801+je31aOikU/1rRU Cdjoq9lfYPjxSwGuE/Y9Zy9t6RcH41Ab+wHd0R9dlux1ryp+2mwYdbadY1EsEjz/oZio TH/10/Kg0U4ufnACSDIrC6oFdmA3T0h982pZTFM2j2WXw8MzWsrW1tAES8qznPlqj+/W Zz4SYTMLkIKBMYHt9CWygwOcW/GBszyEu3KHZM4+EaeXp4i+Zau0vO3XJKdfdfMGzxJu F1UgYJe2h5hXKQYxx1rrBvKntrzwXPa+n+4ZmBt5AxOrLFwPJDr0fKYba16LMUqIsTrf 6/YA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=GCtai/em14hjePYVVW7GMlAbDQUy6x/CDDg1jcvPuJE=; b=Zh9em4ZMcZDAN3uTYLBLFAhirFYHGEZiLa1myZfdF7w2nW6QKcAR4Cx7FrA11q40BD 7T3lU/01oNuXCQyb29ht1kafVI+gVCO2F0xuIVriVTzZw+0lWB22ZyAyW0r4kVRj9RRf xyV6G6kh9Uv+8iSZhQThGiiiQlI5INzpY4p+oM75qnxYQzh0QH2pj4zHL39kvIQq8dWL 1mVLDC8OUso9E1OlKTjy40/C0KvYwelJSibyWyn8kYSKCvlwivCBnWhTJH1W3QK5F0z/ 6yK7G88NcbtzvFK/9ZW2lR3MaGrOVpVHS/U/etSe4tdmn7+ZcnD+Ioo72yrmdUkfLFbh yKdw== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 33si6517702ply.312.2019.02.06.10.00.56; Wed, 06 Feb 2019 10:01:12 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729543AbfBFRax (ORCPT + 99 others); Wed, 6 Feb 2019 12:30:53 -0500 Received: from szxga07-in.huawei.com ([45.249.212.35]:52882 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726727AbfBFRau (ORCPT ); Wed, 6 Feb 2019 12:30:50 -0500 Received: from DGGEMS404-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id B25B56B7394A149B462B; Thu, 7 Feb 2019 01:30:47 +0800 (CST) Received: from localhost (10.202.226.61) by DGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP Server id 14.3.408.0; Thu, 7 Feb 2019 01:30:37 +0800 Date: Wed, 6 Feb 2019 17:30:27 +0000 From: Jonathan Cameron To: Keith Busch CC: , , , Greg Kroah-Hartman , "Rafael Wysocki" , Dave Hansen , "Dan Williams" , Subject: Re: [PATCHv5 00/10] Heterogeneuos memory node attributes Message-ID: <20190206173027.0000195c@huawei.com> In-Reply-To: <20190206171935.GJ28064@localhost.localdomain> References: <20190124230724.10022-1-keith.busch@intel.com> <20190206123100.0000094a@huawei.com> <20190206171935.GJ28064@localhost.localdomain> Organization: Huawei X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; i686-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.202.226.61] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 6 Feb 2019 10:19:37 -0700 Keith Busch wrote: > On Wed, Feb 06, 2019 at 12:31:00PM +0000, Jonathan Cameron wrote: > > On Thu, 24 Jan 2019 16:07:14 -0700 > > Keith Busch wrote: > > > > 1) It seems this version added a hard dependence on having the memory node > > listed in the Memory Proximity Domain attribute structures. I'm not 100% > > sure there is actually any requirement to have those structures. If you aren't > > using the hint bit, they don't convey any information. It could be argued > > that they provide info on what is found in the other hmat entries, but there > > is little purpose as those entries are explicit in what the provide. > > (Given I didn't have any of these structures and things worked fine with > > v4 it seems this is a new check). > > Right, v4 just used the node(s) with the highest performance. You mentioned > systems having nodes with different performance, but no winner across all > attributes, so there's no clear way to rank these for access class linkage. > Requiring an initiator PXM present clears that up. > > Maybe we can fallback to performance if the initiator pxm isn't provided, > but the ranking is going to require an arbitrary decision, like prioritize > latency over bandwidth. I'd certainly prefer to see that fall back and would argue it is the only valid route. What is 'best' if we don't put a preference on one parameter over the other. Perfectly fine to have another access class that does bandwidth preferred if that is of sufficient use to people. > > > This is also somewhat inconsistent. > > a) If a given entry isn't there, we still get for example > > node4/access0/initiators/[read|write]_* but all values are 0. > > If we want to do the check you have it needs to not create the files in > > this case. Whilst they have no meaning as there are no initiators, it > > is inconsistent to my mind. > > > > b) Having one "Memory Proximity Domain attribute structure" for node 4 linking > > it to node0 is sufficient to allow > > node4/access0/initiators/node0 > > node4/access0/initiators/node1 > > node4/access0/initiators/node2 > > node4/access0/initiators/node3 > > I think if we are going to enforce the presence of that structure then only > > the node0 link should exist. > > We'd link the initiator pxm in the Address Range Structure, and also any > other nodes with identical performance access. I think that makes sense. I disagree on this. It is either / or, it seem really illogical to build all of them if only one initiator is specified for the target. If someone deliberately only specified one initiator for this target then they meant to do that (hopefully). Probably because they wanted to set one of the flags. > > > 2) Error handling could perhaps do to spit out some nasty warnings. > > If we have an entry for nodes that don't exist we shouldn't just fail silently, > > that's just one example I managed to trigger with minor table tweaking. > > > > Personally I would just get rid of enforcing anything based on the presence of > > that structure. Thanks, Jonathan