Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp2300724iof; Wed, 8 Jun 2022 01:53:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxLalai6MLCWAnCP+z09up+9dxD4yAbhnWhRisSsoh3JlUl0jS1nvzOB1cMaVqEGqAQzJha X-Received: by 2002:a17:90b:1d83:b0:1e2:f63e:bc37 with SMTP id pf3-20020a17090b1d8300b001e2f63ebc37mr54720717pjb.119.1654678400348; Wed, 08 Jun 2022 01:53:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654678400; cv=none; d=google.com; s=arc-20160816; b=wH+5T+vcX5i6pgb+Ionf1m/T98+ax66Yc6e6+S7PJYmyOd1kuvREnAOZ/jfNy/27JT QN359pVgUW/Oo401h5EZPD7biHG4Civv/jPID19Nf+LXPMCjVqBJ1yvDxuBbH31pxmKd OcwNYyrF6RxO+rhWgcH29I5nGNjYfgrs2bhDawxzLW54NxEoKmWcoI9Ap3M7OY8zjqWg /rdeO/KmPNagHxW7YbEEgUlekzG4r2Et+JyLJU8oQ9KDRvtSGgHRl9H8KfvhFNajwdYH 6kUYU1d4lqZSgPRyRX8fP3qcU1EuYFGyfP0AY+dAATmnGjTuNiOLqFwXHcKomP7wKdoF 8xPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=Lcpl/hu2wCLqkPkKh95mnc/bj3H++s7UjMpYnZ0eA2U=; b=nw8DmCZe/9I2HwLOek22djw+kgVFTcnhIs2i8+Su/KyKBO7eYFeeHd+8tPgBgjF2I5 rJ1+eP5pEN7odoQ7j2wq4CUPWpKeuBSoYTwpDHFkyBlM1ZvpOIk15Z5QA8p7IC5ROQnL TVADCAMVKXpvCporBaJdpyO1ZhvulZ8Ox9PBV8ZH1F9aUaKYhj5Xn8ZHulc57FJaXV9X n6vtTf8Ov7O1hDVufHGwtdSUdy0Z3x1HYKhjyWKY5q8MRoXPy37sAce7Wn6xmjl5UKMb F0bA5Y2s2iJEWJIAAlVjNRJwcMHHMwVUAf9Vi7pUaKoQ9Asso2Wpu7pmFJ6uDuRtv2qh SQpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=jf5LTrJ1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id i12-20020a170902c94c00b001581aed9a23si24255736pla.194.2022.06.08.01.53.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jun 2022 01:53:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=jf5LTrJ1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id F093A3C503D; Wed, 8 Jun 2022 01:16:09 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235234AbiFHGCf (ORCPT + 99 others); Wed, 8 Jun 2022 02:02:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1350027AbiFHF7U (ORCPT ); Wed, 8 Jun 2022 01:59:20 -0400 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A92692F1831 for ; Tue, 7 Jun 2022 21:40:43 -0700 (PDT) Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2583gIIT018059; Wed, 8 Jun 2022 04:38:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=Lcpl/hu2wCLqkPkKh95mnc/bj3H++s7UjMpYnZ0eA2U=; b=jf5LTrJ1mWLlJvxXKUsot1rKHW/nB0mp3n2/q39azOjM2MUvlJBxxE/3UHo2ODOPTJ35 XB3uYRNyzacc3wkqmTbgSyvL+V9cCSB1aD9C7dta9D+rRKx/fVtQaFHShY3udos8ReTe laGoArfQQjwS62F0dQBzsM7/U/EFOVP1PgW1WYC/jjA4mcCPYiq4EmkeXWGN/pU9AxVI Smhq+aPSS22OZMbTKdM/1Qf3K7eCZ5wAW0ovN9n+vE4/izawUlf6aUBZ6pWIuDs3Mjln 9p8nu9ulx0mHPsIIsIaOE56FIzCPeYJiNikzwijfBk3o1RKjK3snax2ieNUEnuOS91jn mQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3gjm3c0v8j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 08 Jun 2022 04:38:11 +0000 Received: from m0098399.ppops.net (m0098399.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 2584NqwG002666; Wed, 8 Jun 2022 04:38:11 GMT Received: from ppma06ams.nl.ibm.com (66.31.33a9.ip4.static.sl-reverse.com [169.51.49.102]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3gjm3c0v7r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 08 Jun 2022 04:38:10 +0000 Received: from pps.filterd (ppma06ams.nl.ibm.com [127.0.0.1]) by ppma06ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 2584LvpR016888; Wed, 8 Jun 2022 04:38:08 GMT Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by ppma06ams.nl.ibm.com with ESMTP id 3gfxnhvmn8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 08 Jun 2022 04:38:08 +0000 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 2584c6qI20447578 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 8 Jun 2022 04:38:06 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EC0F152050; Wed, 8 Jun 2022 04:38:05 +0000 (GMT) Received: from [9.43.53.124] (unknown [9.43.53.124]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id 280105204E; Wed, 8 Jun 2022 04:37:58 +0000 (GMT) Message-ID: Date: Wed, 8 Jun 2022 10:07:57 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v5 1/9] mm/demotion: Add support for explicit memory tiers Content-Language: en-US To: Tim Chen , linux-mm@kvack.org, akpm@linux-foundation.org Cc: Wei Xu , Huang Ying , Greg Thelen , Yang Shi , Davidlohr Bueso , Tim C Chen , Brice Goglin , Michal Hocko , Linux Kernel Mailing List , Hesham Almatary , Dave Hansen , Jonathan Cameron , Alistair Popple , Dan Williams , Feng Tang , Jagdish Gediya , Baolin Wang , David Rientjes References: <20220603134237.131362-1-aneesh.kumar@linux.ibm.com> <20220603134237.131362-2-aneesh.kumar@linux.ibm.com> <92649c9a6e0b6931b34aeaaf22c0a1e874484b7f.camel@linux.intel.com> From: Aneesh Kumar K V In-Reply-To: <92649c9a6e0b6931b34aeaaf22c0a1e874484b7f.camel@linux.intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: odQegtFdMQwT5etSdPBJ-IP0pQSGG7DP X-Proofpoint-GUID: uA45QuyrJme5pNVVqxOvY6jsTXknm344 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.874,Hydra:6.0.517,FMLib:17.11.64.514 definitions=2022-06-08_01,2022-06-07_02,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxlogscore=999 spamscore=0 clxscore=1015 mlxscore=0 lowpriorityscore=0 phishscore=0 impostorscore=0 adultscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206080019 X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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 6/8/22 12:13 AM, Tim Chen wrote: ... >> >> + >> +static void memory_tier_device_release(struct device *dev) >> +{ >> + struct memory_tier *tier = to_memory_tier(dev); >> + > > Do we need some ref counts on memory_tier? > If there is another device still using the same memtier, > free below could cause problem. > >> + kfree(tier); >> +} >> + >> > ... The lifecycle of the memory_tier struct is tied to the sysfs device life time. ie, memory_tier_device_relese get called only after the last reference on that sysfs dev object is released. Hence we can be sure there is no userspace that is keeping one of the memtier related sysfs file open. W.r.t other memory device sharing the same memtier, we unregister the sysfs device only when the memory tier nodelist is empty. That is no memory device is present in this memory tier. -aneesh