From patchwork Tue Aug 8 09:14:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aneesh Kumar K.V" X-Patchwork-Id: 13345888 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 1587CC001DB for ; Tue, 8 Aug 2023 09:15:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8F7B26B0071; Tue, 8 Aug 2023 05:15:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8A7846B0074; Tue, 8 Aug 2023 05:15:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7480C8D0001; Tue, 8 Aug 2023 05:15:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 6280D6B0071 for ; Tue, 8 Aug 2023 05:15:23 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 26F9CC0C6F for ; Tue, 8 Aug 2023 09:15:23 +0000 (UTC) X-FDA: 81100378926.12.CA1A7BA Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf25.hostedemail.com (Postfix) with ESMTP id 6C7FDA001E for ; Tue, 8 Aug 2023 09:15:20 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=QsOEoBMH; spf=pass (imf25.hostedemail.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 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=1691486120; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=WI/iOsZMkdaB+MqnzGJRwLm9hPaOeKiGAruY28wN0iA=; b=OmS642/sER+wjPxpoDE34T0NUlFgznWmqS1GxtoslxdcCCDxSlm3dhdXGB0JBz2deo36MH dZPriD5rzq10FDPPClYpB/Vtg3feN2bWsvvdSy6vXA/H4WTXeTQ4soVDvKE1Mpp4E+h4F7 A6hymcbJz9o1/cqlG6uALSQmE9CKsOs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691486120; a=rsa-sha256; cv=none; b=sbTwUG33NSToynBUIs72IRhOrc1SP3PRqgIGvRJFw0sS8pTVHbzUSfd/RpuaBQz+KpszF8 d6p7iXR+9PXkGR3iBN/mx/xz1IOmhkvzWhhu626gFXHNPUhU6HNDLI+Jbr+ZMMxb2f+qOf t4KEV0olIBvCKUSykMj6P5HqD+jtsc8= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=QsOEoBMH; spf=pass (imf25.hostedemail.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37898jUG010752; Tue, 8 Aug 2023 09:15:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : mime-version; s=pp1; bh=WI/iOsZMkdaB+MqnzGJRwLm9hPaOeKiGAruY28wN0iA=; b=QsOEoBMHbwDtCit/oO6tdqQ9Z1+73+fq6VKrNKgDLJF86nA/QtT+jaaPmL70zS5qH9nr yIJgcN/kZuS99NN5zUAQHpl+TyNxm/AN9vWGySUy2a1vzNHVQrQmciPbvHFmNqWENfAk sxu8Ww9XhSsTUdb3j2ly+J+BuosLr1achMUTTfIWc35AGjmFoJs1wPnyUbeh0DApL9b4 UzQsHGW+wJyFbpeBS/BgJsGM3CX7f034Z4VDwYKtvQkTnzj1w5Nfxgw8IOJcnnOwaTTD gJB3FyxA+ywVjDkLcmRQylgQ1imoFrPM2IlfV0SAdo8btFjt1rdll6dgnfPmGKUQxM+H nQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3sbjpt8fqy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 08 Aug 2023 09:15:10 +0000 Received: from m0353725.ppops.net (m0353725.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 37898uUw011933; Tue, 8 Aug 2023 09:15:10 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3sbjpt8fqj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 08 Aug 2023 09:15:10 +0000 Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 37887EdP001802; Tue, 8 Aug 2023 09:15:09 GMT Received: from smtprelay06.dal12v.mail.ibm.com ([172.16.1.8]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 3sa3f1mmbx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 08 Aug 2023 09:15:09 +0000 Received: from smtpav03.dal12v.mail.ibm.com (smtpav03.dal12v.mail.ibm.com [10.241.53.102]) by smtprelay06.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 3789F9Q53015320 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 8 Aug 2023 09:15:09 GMT Received: from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E72B058063; Tue, 8 Aug 2023 09:15:08 +0000 (GMT) Received: from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B11145803F; Tue, 8 Aug 2023 09:15:05 +0000 (GMT) Received: from skywalker.in.ibm.com (unknown [9.109.212.144]) by smtpav03.dal12v.mail.ibm.com (Postfix) with ESMTP; Tue, 8 Aug 2023 09:15:05 +0000 (GMT) From: "Aneesh Kumar K.V" To: 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 , David Hildenbrand , Michal Hocko , Vishal Verma , "Aneesh Kumar K.V" Subject: [PATCH v8 0/6] Add support for memmap on memory feature on ppc64 Date: Tue, 8 Aug 2023 14:44:55 +0530 Message-ID: <20230808091501.287660-1-aneesh.kumar@linux.ibm.com> X-Mailer: git-send-email 2.41.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: Kjwa2iD_JmXWZHQQuwArdCFUHgzr2qL0 X-Proofpoint-ORIG-GUID: omO4p3pgJMWh4rvzy95AIuyg9P1i4nm8 X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-08-08_07,2023-08-03_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxlogscore=923 adultscore=0 impostorscore=0 mlxscore=0 spamscore=0 phishscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2308080081 X-Rspamd-Queue-Id: 6C7FDA001E X-Rspam-User: X-Stat-Signature: g9zeekyj6hrxn75c475no8fb1z1fgsoi X-Rspamd-Server: rspam03 X-HE-Tag: 1691486120-111184 X-HE-Meta: U2FsdGVkX1+a/rXbD0NVWQf0x4HxvBUgUY2mniXsDByDikmV1MJ1k7rcas7LPC6zggKg3+DB5EKxY7O4WZh5xgifzcq8Gd2L09otslfh2bP0w7KznqGBYe/YyB4Zn4jqjvi2Xhk3ZMccIeIYI8Fox3GXsYoJdVF6hIr2Vhcaop6qtjonu0PaNk73RFGFfzbwYQiPKqGLfGtgmbBXh63Is6ZWykQYjxWBD2LBMRhsQVvUxOxfyHZpv5/gWot7FPv6FPBx0Q7bR1/xKb9NCAHfuPazoa+cvNNCzignU2ODog5lezaLTzb/kuBmSeS1ek4/KUg0In+blKUvCrdWiyfdSgN7iTAmGqJKtXtDcXE5jbE6lOfHDmKiGnIaZ/coz6zpq3oj0LkB9j7zx9AiRF3qqCuUPzDWR1J0sChnMgVTxWo3Qxu5VaM0mXYM1BMZx1Mg884YYHt/4GbnDvPFBPoQl2P2euN+Qju3x8N01/QlIg2OOP2wNbURyaSy/SODp63AMe1G/Jy/FVabpPw0Lg7XWkp+3yPttOkI+7i9cTWl6ATPXAlojrdAhKkLYUpEQujUURF+dtYkvEv2ID2C2hwOU360RQZFwpo4DyJAEogbR0e49U6C1f/DOI5iKH7tios6rsAHs4B0Ywxs5OekQmeBDr5+AKYXpY7zaW62RbErFx19sygmiA2nFi4zbygwWLgDY9lp9NPVgLG9ijAfDTf77p6K2QWbhU/6DkeSvC1PbFECFrIoedlgb06Y+yEKHxhDkkImV279+TRSko8Icx1X/33jT52ow5Fq6oFxrOYFakQyoQ3DB41VF9l2M4aHuU1XDed9iPGnrcJ6gG23Y7P0XWls5EdIs1sVskAsp3jbj0jdwT87OTKhSoevOxf5O4ncoOatl/IlY10mpOPG0fHOh38ATCghtArBuGJTDiDQKnL3CpX6BuujKyEl2xfmoWjC5u/NUynYZYbfEsRGzhL JMA+7WMN 0yS6kGf11kT4BkHBbakqwnA4I/j2ymvT+6J8bTMFfGrs8nKLskF4DR4eaPjxCcxoapmd3HS8OAIiyVTMBUKJgF5maURd6Ckzv0GWcZpSXmwlg+TGuJej92WqL9rSIiTR4ItPjv7cZc3qbouFbwvPNvMUCQUzb/FDa/TRLJcFCUek8wqHBqhIN94UeYa9/l0Ej7Wtbup+qdD4W3Vku/2A2e9EgEs4wOHPD/3gsO2B+UOq+KsZ7HsY2HUNVejZsebSvi1t2D53qLLrnDkKbvKD1VGjc36y0yCoWm8cAcGOmoKwb5Js= 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: This patch series update memmap on memory feature to fall back to memmap allocation outside the memory block if the alignment rules are not met. This makes the feature more useful on architectures like ppc64 where alignment rules are different with 64K page size. This patch series is dependent on dax vmemmap optimization series posted here https://lore.kernel.org/linux-mm/20230718022934.90447-1-aneesh.kumar@linux.ibm.com/ Changes from v7: * Drop patch 7 because we are still discussing a runtime update of this feature is useful. Changes from v6: * Update comments in the code * Update commit message for patch 7 Changes from v5: * Update commit message * Move memory alloc/free to the callers in patch 6 * Address review feedback w.r.t patch 4 Changes from v4: * Use altmap.free instead of altmap.reserve * Address review feedback Changes from v3: * Extend the module parameter memmap_on_memory to force allocation even though we can waste hotplug memory. Changes from v2: * Rebase to latest linus tree * Redo the series based on review feedback. Multiple changes to the patchset. Changes from v1: * update the memblock to store vmemmap_altmap details. This is required so that when we remove the memory we can find the altmap details which is needed on some architectures. * rebase to latest linus tree Aneesh Kumar K.V (6): mm/memory_hotplug: Simplify ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE kconfig mm/memory_hotplug: Allow memmap on memory hotplug request to fallback mm/memory_hotplug: Allow architecture to override memmap on memory support check mm/memory_hotplug: Support memmap_on_memory when memmap is not aligned to pageblocks powerpc/book3s64/memhotplug: Enable memmap on memory for radix mm/memory_hotplug: Embed vmem_altmap details in memory block .../admin-guide/mm/memory-hotplug.rst | 12 ++ arch/arm64/Kconfig | 4 +- arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/pgtable.h | 21 ++ .../platforms/pseries/hotplug-memory.c | 2 +- arch/x86/Kconfig | 4 +- drivers/acpi/acpi_memhotplug.c | 3 +- drivers/base/memory.c | 27 ++- include/linux/memory.h | 8 +- include/linux/memory_hotplug.h | 3 +- mm/Kconfig | 3 + mm/memory_hotplug.c | 185 ++++++++++++++---- 12 files changed, 209 insertions(+), 64 deletions(-)