Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp1618202rwe; Fri, 2 Sep 2022 00:19:31 -0700 (PDT) X-Google-Smtp-Source: AA6agR6cehSd3yUM8t9kNGld0XpjDzBQAohU6YQ+6NLmYinjuNlEtPcbH6UTxtNbgUrk+dOwxoz+ X-Received: by 2002:a05:6402:538a:b0:43a:298e:bc2b with SMTP id ew10-20020a056402538a00b0043a298ebc2bmr31292744edb.125.1662103171493; Fri, 02 Sep 2022 00:19:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662103171; cv=none; d=google.com; s=arc-20160816; b=EDbMf4IJ8Tf8/+oSjJh85SdYzFFjqYhl8Liwg0jlQnkO/CUMHUSJellqYmCLTREkGn PsGz+ykOI0MVz6g5lHaKPUfKNOMLzdwDJeAeF7f7Jd69kyBzR/s/9DQDb8VHrfXivP00 0Y0nKLhTjvlK57qMwN1BAXLiXzoqsj90laDdX6qevaLu1OfqiDGIMi8YoiX+9nLrcyeR ddJfbKtdTC5X3g7Al7h9r5qL+zpAluUeMMv/WTzlovqIMWPdh3wW2/OnYj43nf5DpU+i 5rI285ZvjUOSwLjrfg5FB8mxi6iyXAltX+923K6GkFc8yfz6iXoje5rKJ5+WWGs1oNdl KDUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=uXkNYxalU3/JcnK0TgVrr2SUQW7bkm9aHsz+BnGWP4M=; b=gB3Dl62tFTmZoeD+MUT8573Z54RXqRIpQXbfsIjsqXtnu8qKqiYSUtzgHPTacSDzvO cmEWjlDnV72nPFNlOPNRlxeEst6ARiY2Jr/5sF8VDJ80QGJ0ftWUC+/Wfz1nObL2jpZm XhHYdklWB+GBsKo8RJSchvdyJrHmUzLj5wcjFw3Kno/I7Kh66OVBS58zfYwOP4TMDadg iqW88tOnfyNNU5HO3nuoxwOfQ0BePjGIqBdHqtai/nQ7HbcY+o3gcad4GBsXocNXVJ8H nAAhg+4ZHmfN21AyzVFsFYo7Ij4tHtXd3bbbL8uchWrOChIOKAbq3Zjvc7UrXtPSk0n/ rJlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="bUW/6CvL"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o9-20020a170906974900b0073d82e941desi1215246ejy.735.2022.09.02.00.19.05; Fri, 02 Sep 2022 00:19:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="bUW/6CvL"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234778AbiIBHCU (ORCPT + 99 others); Fri, 2 Sep 2022 03:02:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44948 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232927AbiIBHCS (ORCPT ); Fri, 2 Sep 2022 03:02:18 -0400 Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7905BC101 for ; Fri, 2 Sep 2022 00:02:17 -0700 (PDT) Received: by mail-pj1-x102d.google.com with SMTP id z3-20020a17090abd8300b001fd803e34f1so4663801pjr.1 for ; Fri, 02 Sep 2022 00:02:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=uXkNYxalU3/JcnK0TgVrr2SUQW7bkm9aHsz+BnGWP4M=; b=bUW/6CvLUDYW0zbfCP9LCMgQ6TAJJPu2/+w9PaaDjrm5uRaLAErHNIrLG35W+7dPBp iz4APoLne29HYgGTr3djCIrRA2QO6RIDrM/7gmuZibGir+ybNjWk4Tc6evIgdn6epN+i 95os2rQS+J+e90fqJA91RsJfiKAKCeWjnEJvgWDKYFrS2wWv0ank1E/tAAEqQfmjIHwm BvgN05t5fibh9LeV1OnGnc875ySVeP090LPZOvIi5iCd+nVfyYOW/7WkGLGDg3EPlPY/ yrZRwr0dC84rQ6GseSm35y1jdepf+X8hFuYHdbS2Mif2s5/rQ0cg2yOa9qq38vFxnf86 56kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=uXkNYxalU3/JcnK0TgVrr2SUQW7bkm9aHsz+BnGWP4M=; b=51JOWMmfp6jjtS2zu9V7rC/6aKg1AuK2/AG8JtM+lZ19WdpD453JQZYirzEsWpy0iQ VApqjHFgejWbO3Lf7Sh9sDjjd0zrGC3wtn/0yeh2AnBhYedIZNwdk1kW4rdmrMP6scWQ N2FsIFmIlzEaY8LzufU1KJSKDp7UHL0BEeXBj1HbXctjqyjy5w1t/QV8e43Eh9qlyiGu 42oYhOPH3tvykZOYq7UHcIDoaIEHcpdgvGbGseCE25+MvpSbiQ7xUgFuEvc30G/5xYFY 46XZxnMwXdxJ4W1ySM6et6nxs2Wz3PFh7Dafqxe7eAM0F9noiiX4wL8rIboyp5XSdJBV WrHA== X-Gm-Message-State: ACgBeo1zxFeyuU4pkpTL9bSw7gGcJg8GE0GNKorKobtt1yqwSWRoLekY /OsoiDM50Eg9AYje5UA28F36Z9Kk9E0SW65amMSXDw== X-Received: by 2002:a17:902:e5cc:b0:16f:1e31:da6c with SMTP id u12-20020a170902e5cc00b0016f1e31da6cmr34239381plf.66.1662102137014; Fri, 02 Sep 2022 00:02:17 -0700 (PDT) MIME-Version: 1.0 References: <20220830081736.119281-1-aneesh.kumar@linux.ibm.com> <87tu5rzigc.fsf@yhuang6-desk2.ccr.corp.intel.com> <87pmgezkhp.fsf@yhuang6-desk2.ccr.corp.intel.com> <87fshaz63h.fsf@yhuang6-desk2.ccr.corp.intel.com> <698120ce-d4df-3d13-dea9-a8f5c298783c@linux.ibm.com> <87bkryz4nh.fsf@yhuang6-desk2.ccr.corp.intel.com> <2b4ddc45-74ae-27df-d973-6724f61f4e18@linux.ibm.com> <877d2mz3c1.fsf@yhuang6-desk2.ccr.corp.intel.com> <45488760-02b5-115b-c16d-5219303f2f33@linux.ibm.com> In-Reply-To: <45488760-02b5-115b-c16d-5219303f2f33@linux.ibm.com> From: Wei Xu Date: Fri, 2 Sep 2022 00:02:05 -0700 Message-ID: Subject: Re: [PATCH v3 updated] mm/demotion: Expose memory tier details via sysfs To: Aneesh Kumar K V Cc: "Huang, Ying" , Johannes Weiner , Linux MM , Andrew Morton , Yang Shi , Davidlohr Bueso , Tim C Chen , Michal Hocko , Linux Kernel Mailing List , Hesham Almatary , Dave Hansen , Jonathan Cameron , Alistair Popple , Dan Williams , jvgediya.oss@gmail.com, Bharata B Rao , Greg Thelen , Greg Kroah-Hartman , "Rafael J. Wysocki" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 1, 2022 at 11:44 PM Aneesh Kumar K V wrote: > > On 9/2/22 12:10 PM, Huang, Ying wrote: > > Aneesh Kumar K V writes: > > > >> On 9/2/22 11:42 AM, Huang, Ying wrote: > >>> Aneesh Kumar K V writes: > >>> > >>>> On 9/2/22 11:10 AM, Huang, Ying wrote: > >>>>> Aneesh Kumar K V writes: > >>>>> > >>>>>> On 9/2/22 10:39 AM, Wei Xu wrote: > >>>>>>> On Thu, Sep 1, 2022 at 5:33 PM Huang, Ying wrote: > >>>>>>>> > >>>>>>>> Aneesh Kumar K V writes: > >>>>>>>> > >>>>>>>>> On 9/1/22 12:31 PM, Huang, Ying wrote: > >>>>>>>>>> "Aneesh Kumar K.V" writes: > >>>>>>>>>> > >>>>>>>>>>> This patch adds /sys/devices/virtual/memory_tiering/ where all memory tier > >>>>>>>>>>> related details can be found. All allocated memory tiers will be listed > >>>>>>>>>>> there as /sys/devices/virtual/memory_tiering/memory_tierN/ > >>>>>>>>>>> > >>>>>>>>>>> The nodes which are part of a specific memory tier can be listed via > >>>>>>>>>>> /sys/devices/virtual/memory_tiering/memory_tierN/nodes > >>>>>>>>>> > >>>>>>>>>> I think "memory_tier" is a better subsystem/bus name than > >>>>>>>>>> memory_tiering. Because we have a set of memory_tierN devices inside. > >>>>>>>>>> "memory_tier" sounds more natural. I know this is subjective, just my > >>>>>>>>>> preference. > >>>>>>>>>> > >>>>>> > >>>>>> > >>>>>> I missed replying to this earlier. I will keep memory_tiering as subsystem name in v4 > >>>>>> because we would want it to a susbsystem where all memory tiering related details can be found > >>>>>> including memory type in the future. This is as per discussion > >>>>>> > >>>>>> https://lore.kernel.org/linux-mm/CAAPL-u9TKbHGztAF=r-io3gkX7gorUunS2UfstudCWuihrA=0g@mail.gmail.com > >>>>> > >>>>> I don't think that it's a good idea to mix 2 types of devices in one > >>>>> subsystem (bus). If my understanding were correct, that breaks the > >>>>> driver core convention. > >>>>> > >>>> > >>>> All these are virtual devices .I am not sure i follow what you mean by 2 types of devices. > >>>> memory_tiering is a subsystem that represents all the details w.r.t memory tiering. It shows > >>>> details of memory tiers and can possibly contain details of different memory types . > >>> > >>> IMHO, memory_tier and memory_type are 2 kind of devices. They have > >>> almost totally different attributes (sysfs file). So, we should create > >>> 2 buses for them. Each has its own attribute group. "virtual" itself > >>> isn't a subsystem. > >> > >> Considering both the details are related to memory tiering, wouldn't it be much simpler we consolidate > >> them within the same subdirectory? I am still not clear why you are suggesting they need to be in different > >> sysfs hierarchy. It doesn't break any driver core convention as you mentioned earlier. > >> > >> /sys/devices/virtual/memory_tiering/memory_tierN > >> /sys/devices/virtual/memory_tiering/memory_typeN > > > > I think we should add > > > > /sys/devices/virtual/memory_tier/memory_tierN > > /sys/devices/virtual/memory_type/memory_typeN > > > > I am trying to find if there is a technical reason to do the same? > > > I don't think this is complex. Devices of same bus/subsystem should > > have mostly same attributes. This is my understanding of driver core > > convention. > > > > I was not looking at this from code complexity point. Instead of having multiple directories > with details w.r.t memory tiering, I was looking at consolidating the details > within the directory /sys/devices/virtual/memory_tiering. (similar to all virtual devices > are consolidated within /sys/devics/virtual/). > > -aneesh Here is an example of /sys/bus/nd/devices (I know it is not under /sys/devices/virtual, but it can still serve as a reference): ls -1 /sys/bus/nd/devices namespace2.0 namespace3.0 ndbus0 nmem0 nmem1 region0 region1 region2 region3 So I think it is not unreasonable if we want to group memory tiering related interfaces within a single top directory. Wei