From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5CE5DEB64DC for ; Thu, 6 Jul 2023 10:04:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E1AB28D0003; Thu, 6 Jul 2023 06:04:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DCAF28D0001; Thu, 6 Jul 2023 06:04:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C6B308D0003; Thu, 6 Jul 2023 06:04:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id B684B8D0001 for ; Thu, 6 Jul 2023 06:04:37 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 6D951B00D2 for ; Thu, 6 Jul 2023 10:04:37 +0000 (UTC) X-FDA: 80980752594.03.E5B4E9D Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf20.hostedemail.com (Postfix) with ESMTP id 90E251C0029 for ; Thu, 6 Jul 2023 10:04:34 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=mtrXAAOC; spf=pass (imf20.hostedemail.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688637874; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=hk8wmmW3ZzjhGioo4OrBZG6EgbCEDsVkdCNNa0rdVR0=; b=Skgsbnh1jWVs/YIf10g1kswrIzVDZ6nHnekkFn6u7q20ytIbJHTU16XkUFqH/3dD9LAfia jmCBN1wA9Wr/o8qWgaMacCtuBaQSAd3plAkb5m+QiwJMLXsZ7CSav5usqsRl1+5EEYnADv AIRUS8jNSPBcWUED7QeLLDhBEfINhNI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688637874; a=rsa-sha256; cv=none; b=Y5TqppjDH86cWZCw6W7cJCIwMF30R7GOYwZRuCh+l64mZzcgkxFBrF/5nwOaLBu5ggQrPH OE/tEOWaUSKfVJRWku/pkLTrHqvIgM8NRJgFSGzYR88T/U5+4afSYv6D6uxnO0ptrgBvOp YrbiLBGXVbMTjfzCvVuSEan110GxfqQ= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=mtrXAAOC; spf=pass (imf20.hostedemail.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3669nXtB031026; Thu, 6 Jul 2023 10:04:26 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=hk8wmmW3ZzjhGioo4OrBZG6EgbCEDsVkdCNNa0rdVR0=; b=mtrXAAOC2Y+MhNdXESWyD0a+zI96Y4RU7MrtowlGKAmEK+hU867qWWTx/6K/vtvOHc0v 91dzBXaciTU+3cImhlB+iUH19vXJxVYF84ZadYoLCuG6a+V8PjDxdwr4Zr3UJpsd5hGg AHYqH4YJsSNmonRxDf6qm/0ylXivSN2aIZJNGATk5RV+W3YNM0RyrxV663vk1barHfxi tsKKB863S3IgZXXL2MvF2wf30eLni6ye6v8fCus4DfOvKFUz20g839NTAdpdZ1r9MNLs LYfQ0LGIGCBlUg0qls5TNGh7j26OpUiVxAXU8g9TeEaWauf0o5Mvz9Eu7JOejp+uUplm oQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3rnuat09p3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 06 Jul 2023 10:04:26 +0000 Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3669oQh8032535; Thu, 6 Jul 2023 10:04:24 GMT Received: from ppma02fra.de.ibm.com (47.49.7a9f.ip4.static.sl-reverse.com [159.122.73.71]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3rnuat09kj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 06 Jul 2023 10:04:24 +0000 Received: from pps.filterd (ppma02fra.de.ibm.com [127.0.0.1]) by ppma02fra.de.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 3664Iaq8027517; Thu, 6 Jul 2023 10:04:19 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma02fra.de.ibm.com (PPS) with ESMTPS id 3rjbs4tcsx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 06 Jul 2023 10:04:19 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 366A4HOk19268280 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 6 Jul 2023 10:04:17 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E6E372004D; Thu, 6 Jul 2023 10:04:16 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CB22C20040; Thu, 6 Jul 2023 10:04:14 +0000 (GMT) Received: from [9.109.212.144] (unknown [9.109.212.144]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 6 Jul 2023 10:04:14 +0000 (GMT) Message-ID: <8763c269-90da-4754-85a2-ef32d2540362@linux.ibm.com> Date: Thu, 6 Jul 2023 15:34:13 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH v2 3/5] mm/hotplug: Simplify the handling of MHP_MEMMAP_ON_MEMORY flag Content-Language: en-US To: David Hildenbrand , linux-mm@kvack.org, akpm@linux-foundation.org, mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org, npiggin@gmail.com, christophe.leroy@csgroup.eu Cc: Oscar Salvador , Michal Hocko , Vishal Verma References: <20230706085041.826340-1-aneesh.kumar@linux.ibm.com> <20230706085041.826340-4-aneesh.kumar@linux.ibm.com> <0efcd10b-dff8-d011-e192-5feaedc2ee2d@redhat.com> From: Aneesh Kumar K V In-Reply-To: <0efcd10b-dff8-d011-e192-5feaedc2ee2d@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 5vd0HVowQYO414bbl9-rhjZrkdoMSmSi X-Proofpoint-ORIG-GUID: QVy0-bQlv0KaJQ-PIDUO6ToCjyZ9Eke1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-06_06,2023-07-06_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 phishscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 spamscore=0 impostorscore=0 priorityscore=1501 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307060089 X-Rspamd-Queue-Id: 90E251C0029 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: k75gmwjhuyaarqhakycjy3rt4uyy5izk X-HE-Tag: 1688637874-636830 X-HE-Meta: U2FsdGVkX193SjROMMmCYc9ZVahkVVqnHF1rWZJgFb4xr6bc3eWTePk/hyKBlDXxKV51ZMCgIEndJ7qI/M6HQjbBwWOqGZ2GyY5eOaRdn0w5SqLARiCm15rWBvKUwi3vOSJTI9aqoceuDT82bEQUMjtYmsUF09dgP+xfJjHUahMOxfiClz3rn16HqzCdM4e86GWAj6PMKbuij6c1ikBDgvH2Av3C4PtpeJ21pbmRLKn6LcwdL4ekmU0kjXkRvJgT0kcj4+pkPbkrGLSmlDTcX+E0sTPI7/9gNzMwW2HTKMIBDYGkOGEqfpMrHocBbNcO1nnFRPT3RbSrJxr1/nQwxBgSG8QXpyU4i2BJcwLYfyPeaWrC1i6gtvBRcjF0Z6u6WqKLJ0zW/GBv4lB4BomlixUPFh5uLFzNXEmQMiOgtAd86X7zMUCxqRAmunUaq6WaRQWMA/P1v1xfl7IaMi9Coh8wOC0qdklwl/iEM3GS3CnvuKOD98G6INSUp5xCKF9TO72zfmSdhzZEeWHOCsj/64B2is+fl5gYmtlrb2J6VmJWgveD0unkmgurI+XfeBA0izS/H/j69zK2MbVhAsOdl/6vXWnMvG1q3MeVnzJqMX2nRdldokysk+IUec08g9oDrK4grDsmbA/sZNdpthR2aWVU4WjNO2Rnxluq6vv3CHIOOriW3y5ImSzKtq/csryezv/F4LCaMBkNT+SB0EIP19Pru+5pI/RFH46X5F0dnrRdkbfeNgBXqdH3Tgu5xA29Sqx459Qip+DqSe4nNiWR4GBMn6UFBjPebQFV8w8JkbtylqzTFxB0LNx5MksdRVmE5z6tdu+2JPMnf2pJa/KGZdlRF1EtanJKEz37XpaQYIt6tlFLlw37tEL6zMWWxQ7Gsxd+vfahgFwR2A8Tq9T6KJRLS/0Ri1t+1eFIx0jayHS2LQw/cEu345m/8TU0DY20d6KYZ79hRbfsSbCTS9Q zgasB/mU PfCMZDRCh7bpWwkg9sN65+Ph1yxYlh2GSVa6BTaeM6iU4IZlUFmSFb/1NBAuXhcdEJq9asfXxSPpy1TvI0H92fZZWL8Gs4BEcalvTUvFBDM31vdvST3Qakk1HszbomSOlKw9qF3CU9KHZI9G+Nr+Hnx/9yOxFJNFQdqKx+I1M5traPZz7Bc4HRmRk5po4QsIhoXrPqkFhtDVzC5cy9L4f0Zc0ymYgsSIW3UTpF69zWZnYXiKhAg7+MnhmfasBaFL3I4tr/EqBmkHWvaIb61T2ZH+a/Re3/qwqEKDK X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 7/6/23 2:54 PM, David Hildenbrand wrote: > On 06.07.23 10:50, Aneesh Kumar K.V wrote: >> Instead of checking for memmap on memory feature enablement within the >> functions checking for alignment, use the kernel parameter to control the >> memory hotplug flags. The generic kernel now enables memmap on memory >> feature if the hotplug flag request for the same. >> >> The ACPI code now can pass the flag unconditionally because the kernel will >> fallback to not using the feature if the alignment rules are not met. >> >> Signed-off-by: Aneesh Kumar K.V >> --- >>   drivers/acpi/acpi_memhotplug.c |  3 +-- >>   include/linux/memory_hotplug.h | 14 ++++++++++++++ >>   mm/memory_hotplug.c            | 35 +++++++++++----------------------- >>   3 files changed, 26 insertions(+), 26 deletions(-) >> >> diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c >> index 24f662d8bd39..4d0096fc4cc2 100644 >> --- a/drivers/acpi/acpi_memhotplug.c >> +++ b/drivers/acpi/acpi_memhotplug.c >> @@ -211,8 +211,7 @@ static int acpi_memory_enable_device(struct acpi_memory_device *mem_device) >>           if (!info->length) >>               continue; >>   -        if (mhp_supports_memmap_on_memory(info->length)) >> -            mhp_flags |= MHP_MEMMAP_ON_MEMORY; >> +        mhp_flags |= get_memmap_on_memory_flags(); >>           result = __add_memory(mgid, info->start_addr, info->length, >>                         mhp_flags); >>   diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h >> index a769f44b8368..af7017122506 100644 >> --- a/include/linux/memory_hotplug.h >> +++ b/include/linux/memory_hotplug.h >> @@ -358,4 +358,18 @@ bool mhp_supports_memmap_on_memory(unsigned long size); >>   bool __mhp_supports_memmap_on_memory(unsigned long size); >>   #endif /* CONFIG_MEMORY_HOTPLUG */ >>   +#ifdef CONFIG_MHP_MEMMAP_ON_MEMORY >> +extern bool memmap_on_memory; >> +static inline unsigned long get_memmap_on_memory_flags(void) >> +{ >> +    if (memmap_on_memory) >> +        return MHP_MEMMAP_ON_MEMORY; >> +    return 0; >> +} >> +#else >> +static inline unsigned long get_memmap_on_memory_flags(void) >> +{ >> +    return 0; >> +} >> +#endif > > That's kind-of ugly TBH. > > > Why do we need this change? > I was trying to avoid rest of the kernel doing if (mhp_supports_memmap_on_memory(info->length)) mhp_flags |= MHP_MEMMAP_ON_MEMORY; I was also following pattern similar to static inline gfp_t alloc_hugepage_khugepaged_gfpmask(void) { return khugepaged_defrag() ? GFP_TRANSHUGE : GFP_TRANSHUGE_LIGHT; } Overall goal of the patch is to handle the fallback of not using altmap/memmap in memory inside add_memory_resource and the callsites only express the desire to use memmap on memory if possible/enabled. -aneesh