From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-f69.google.com (mail-io1-f69.google.com [209.85.166.69]) by kanga.kvack.org (Postfix) with ESMTP id 88A4A6B709F for ; Tue, 4 Dec 2018 15:47:33 -0500 (EST) Received: by mail-io1-f69.google.com with SMTP id v8so18479582ioh.11 for ; Tue, 04 Dec 2018 12:47:33 -0800 (PST) Received: from ale.deltatee.com (ale.deltatee.com. [207.54.116.67]) by mx.google.com with ESMTPS id i8si9506000ioh.24.2018.12.04.12.47.32 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 04 Dec 2018 12:47:32 -0800 (PST) References: <20181203233509.20671-1-jglisse@redhat.com> <20181203233509.20671-3-jglisse@redhat.com> <875zw98bm4.fsf@linux.intel.com> <20181204182421.GC2937@redhat.com> <20181204185725.GE2937@redhat.com> <20181204201432.GH18167@tassilo.jf.intel.com> From: Logan Gunthorpe Message-ID: <8ed92aba-a129-144f-34ab-f77102d54cfc@deltatee.com> Date: Tue, 4 Dec 2018 13:47:17 -0700 MIME-Version: 1.0 In-Reply-To: <20181204201432.GH18167@tassilo.jf.intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-CA Content-Transfer-Encoding: 7bit Subject: Re: [RFC PATCH 02/14] mm/hms: heterogenenous memory system (HMS) documentation Sender: owner-linux-mm@kvack.org List-ID: To: Andi Kleen Cc: Jerome Glisse , Dan Williams , Linux MM , Andrew Morton , Linux Kernel Mailing List , "Rafael J. Wysocki" , Ross Zwisler , Dave Hansen , Haggai Eran , balbirs@au1.ibm.com, "Aneesh Kumar K.V" , Benjamin Herrenschmidt , "Kuehling, Felix" , Philip.Yang@amd.com, "Koenig, Christian" , "Blinzer, Paul" , John Hubbard , rcampbell@nvidia.com On 2018-12-04 1:14 p.m., Andi Kleen wrote: >> Also, in the same vein, I think it's wrong to have the API enumerate all >> the different memory available in the system. The API should simply > We need an enumeration API too, just to display to the user what they > have, and possibly for applications to size their buffers > (all we do with existing NUMA nodes) Yes, but I think my main concern is the conflation of the enumeration API and the binding API. An application doesn't want to walk through all the possible memory and types in the system just to get some memory that will work with a couple initiators (which it somehow has to map to actual resources, like fds). We also don't want userspace to police itself on which memory works with which initiator. Enumeration is definitely not the common use case. And if we create a new enumeration API now, it may make it difficult or impossible to unify these types of memory with the existing NUMA node hierarchies if/when this gets more integrated with the mm core. Logan