From patchwork Mon Jan 8 13:27:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Korikkar X-Patchwork-Id: 13513479 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 327E1C4707B for ; Mon, 8 Jan 2024 13:28:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9443E6B0081; Mon, 8 Jan 2024 08:28:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8582D6B0082; Mon, 8 Jan 2024 08:28:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D0726B0083; Mon, 8 Jan 2024 08:28:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 520EF6B0081 for ; Mon, 8 Jan 2024 08:28:12 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2A04D807FD for ; Mon, 8 Jan 2024 13:28:12 +0000 (UTC) X-FDA: 81656222424.18.A9C8737 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf14.hostedemail.com (Postfix) with ESMTP id B4CF6100009 for ; Mon, 8 Jan 2024 13:28:09 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=Ft9RQiWy; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf14.hostedemail.com: domain of sumanthk@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=sumanthk@linux.ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704720489; 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:in-reply-to:references:references:dkim-signature; bh=eroLOb5YGmfTzlQLd8h3TE8H8OwqUddeDVt011pdTMY=; b=c7DlFZ2/hOOQH1RcO+CadoRpjaVdAMWWl4EjcKdnv1Xkr2ftW3Hq+46HiHbTibzmAcRwsP +14BfB//Vlzoh1mux2qVnpKyZ1kkF4YuciNEh10EO7hhGqKeEZWJLg56jMk5+xl8EJ95jr r/SqJwfC+gnnhl+KvGVxbINLqbzSTKI= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=Ft9RQiWy; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf14.hostedemail.com: domain of sumanthk@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=sumanthk@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704720489; a=rsa-sha256; cv=none; b=07Gv0UiD1dgk6cFnibJy+f3oKE6COtdOt/YeFKeZBvQULUF0ITd6WSpxOe4nlJ7ZWaVVWR Lb9QZFzDdTsRLg/iDzEtnmCZwW3nrZCyavYA92pmU8pSbNudUbNnDOaY6ncnCCIPqIn4IK 2cmyuzTM2z+yHn3YR8Q788w7b1Fvjy4= Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 408DLC0L020841; Mon, 8 Jan 2024 13:28:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=eroLOb5YGmfTzlQLd8h3TE8H8OwqUddeDVt011pdTMY=; b=Ft9RQiWy8oCfYavwTtkpQDUEaZYSV0fS4fxmyBhA3g+ww+b0HoPb8DD30XJ68R1V9H23 x2fgfxaEW5z0mGJAfmpUzprjMV/2wGqp/HWC3QK572+eHlE/WQ92FQyT1QbUlUi3YzGG JTJbFNpQ7WUJx5jUoqeJwmuqWpLUOFqMU7KuZELTsaFDIZ6iBIG4I0+EJJ6n2Ca91O5g 6BwpOv0vWGculP8lNlanWVfmDZFk1oBCg+tG1zoSFHL1v9Dy83R87MdJlQ/hLhtCGxtC A0goITuVk+qZIwM3fhl0s3IRnI5lkso+2kaEzCLNjpajxaVY46ALOuixSeDPEF9Dg8gx AQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3vf1uypqdf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:05 +0000 Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 408DMIXK024263; Mon, 8 Jan 2024 13:28:04 GMT Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3vf1uypqcc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:04 +0000 Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 408CcujI022877; Mon, 8 Jan 2024 13:28:03 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3vfj6n82k9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:03 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 408DRw6045482458 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 8 Jan 2024 13:28:00 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9F9DF20040; Mon, 8 Jan 2024 13:27:58 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3F74420063; Mon, 8 Jan 2024 13:27:58 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 8 Jan 2024 13:27:58 +0000 (GMT) From: Sumanth Korikkar To: linux-mm , Andrew Morton , David Hildenbrand Cc: Oscar Salvador , Michal Hocko , "Aneesh Kumar K.V" , Anshuman Khandual , Gerald Schaefer , Alexander Gordeev , Heiko Carstens , Vasily Gorbik , linux-s390 , LKML , Sumanth Korikkar Subject: [PATCH v6 2/5] s390/mm: allocate vmemmap pages from self-contained memory range Date: Mon, 8 Jan 2024 14:27:44 +0100 Message-Id: <20240108132747.3238763-3-sumanthk@linux.ibm.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240108132747.3238763-1-sumanthk@linux.ibm.com> References: <20240108132747.3238763-1-sumanthk@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: 4fLSsujhrM_e219FyLS-SVDTCsvCtWA- X-Proofpoint-GUID: vcvD5MqpipMI0C1xqu8Pbay2fc3h3lKM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-08_04,2024-01-08_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 mlxlogscore=890 malwarescore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 spamscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401080115 X-Rspamd-Queue-Id: B4CF6100009 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 64jccznatffkm7cm1a18x9m9wh14h3my X-HE-Tag: 1704720489-869967 X-HE-Meta: U2FsdGVkX1/9fd0qWIOfck2GUGkgn1Bo0bsasEJLYVFvTkYQu8oPaugQn4xommnxh77Fu48ZORdMmS9gbaMbuLHKAck342GGzy3/cc2l4naXfFpQYJ7IYf9soDDJeRa1qIX53oLePBW4Yx2QHtr5vZwgD/E8waFTV4jPI1UQX2vgZxlfUh1jhw+W6QRmDU7F3mb4gBtjeuUHmiJIod3rklsVGGyjaI6/SAdWcf3V8wxN6PUkwPM0V1xR1T9CMxIsiJ2QTtARfsh41/9La6m9UBg05rz/74TKN4htLNuEUKavv8GAgN+NBMZ1dcV4BiaOL8USLezuzr/3W2IpCPIPpIYa2ZbBvGLatf/vp92Ha9ynk9gMJImBHhMgdnRqr6gOj9X2XnNOdRZbP38RkeaERDoNTDV1M/iIeHT22a6vFpSI+fFYQ4ZdwMoSChB52an/jzCGHh3zxVd1iXNeddj2LkuSvrvxsByMtBWVN+gxElvc7gF+jv65zoCfOlZckcSE+GzTCB3fyy07ZS/Gxc82a1Ph2uZktHKuHpLl2xV0n5pcdqDKBqVJeXOXWRvfbeGG1+KB+ca4AdP2DDL182oXuqGTNH/RU386dSj1c9E3aZZLgjrWakdQQUSDMayb4kOXt1uVRbqhWhJQPnzf/d+z5FcZFpZUboUEE23SBowI/jicwbppibv5nVpYrmp31FHsMu0YtUa4OEHuJK4WO4+HJYN6aD9hG9sD0mx5TZ4PndkOS3SrFJiOlCLXJ1PHIHosMgozJRo/V/B+WODosz9jJ1Gy7iu/oGUbh1g9YDiggksU7gxxi73NFP3kHV6KDqoh8BzCuXXFSMIn4do6lF7ZwDlFw/8opGeDiwPkpZeAbQ61Mw3J0J+DGtD85Yqelyt8r2LlLpSWTuCAzwVjkLd8GcaD7VCfpwc7NPGtJcXzPjgtlILfi87XYb35DP5bK84bp17KdWs4viogU8WUJDx yE1UvfpV G6nqlZpGzGDQNMTClTANAP3XJJzziVG9QVck7dQcNF4r3pNSjxpsz6rhPT4Ruhh9vJsibrEO9IaXdUWFTXjEK9A0Om+ZRO7OXx/ZkA8s84KSFatJjhirFt6CSKSXIaM5/xzyCUNwR/7vNisc= 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: List-Subscribe: List-Unsubscribe: Allocate memory map (struct pages array) from the hotplugged memory range, rather than using system memory. The change addresses the issue where standby memory, when configured to be much larger than online memory, could potentially lead to ipl failure due to memory map allocation from online memory. For example, 16MB of memory map allocation is needed for a memory block size of 1GB and when standby memory is configured much larger than online memory, this could lead to ipl failure. To address this issue, the solution involves introducing "memmap on memory" using the vmem_altmap structure on s390. Architectures that want to implement it should pass the altmap to the vmemmap_populate() function and its associated callchain. This enhancement is discussed in commit 4b94ffdc4163 ("x86, mm: introduce vmem_altmap to augment vmemmap_populate()") Provide "memmap on memory" support for s390 by passing the altmap in vmemmap_populate() and its callchain. The allocation path is described as follows: * When altmap is NULL in vmemmap_populate(), memory map allocation occurs using the existing vmemmap_alloc_block_buf(). * When altmap is not NULL in vmemmap_populate(), memory map allocation still uses vmemmap_alloc_block_buf(), but this function internally calls altmap_alloc_block_buf(). For deallocation, the process is outlined as follows: * When altmap is NULL in vmemmap_free(), memory map deallocation happens through free_pages(). * When altmap is not NULL in vmemmap_free(), memory map deallocation occurs via vmem_altmap_free(). While memory map allocation is primarily handled through the self-contained memory map range, there might still be a small amount of system memory allocation required for vmemmap pagetables. To mitigate this impact, this feature will be limited to machines with EDAT1 support. Reviewed-by: Gerald Schaefer Signed-off-by: Sumanth Korikkar --- arch/s390/mm/init.c | 3 --- arch/s390/mm/vmem.c | 62 +++++++++++++++++++++++++-------------------- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c index 43e612bc2bcd..8d9a60ccb777 100644 --- a/arch/s390/mm/init.c +++ b/arch/s390/mm/init.c @@ -281,9 +281,6 @@ int arch_add_memory(int nid, u64 start, u64 size, unsigned long size_pages = PFN_DOWN(size); int rc; - if (WARN_ON_ONCE(params->altmap)) - return -EINVAL; - if (WARN_ON_ONCE(params->pgprot.pgprot != PAGE_KERNEL.pgprot)) return -EINVAL; diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index 186a020857cf..eb100479f7be 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c @@ -33,8 +33,12 @@ static void __ref *vmem_alloc_pages(unsigned int order) return memblock_alloc(size, size); } -static void vmem_free_pages(unsigned long addr, int order) +static void vmem_free_pages(unsigned long addr, int order, struct vmem_altmap *altmap) { + if (altmap) { + vmem_altmap_free(altmap, 1 << order); + return; + } /* We don't expect boot memory to be removed ever. */ if (!slab_is_available() || WARN_ON_ONCE(PageReserved(virt_to_page((void *)addr)))) @@ -156,7 +160,8 @@ static bool vmemmap_unuse_sub_pmd(unsigned long start, unsigned long end) /* __ref: we'll only call vmemmap_alloc_block() via vmemmap_populate() */ static int __ref modify_pte_table(pmd_t *pmd, unsigned long addr, - unsigned long end, bool add, bool direct) + unsigned long end, bool add, bool direct, + struct vmem_altmap *altmap) { unsigned long prot, pages = 0; int ret = -ENOMEM; @@ -172,11 +177,11 @@ static int __ref modify_pte_table(pmd_t *pmd, unsigned long addr, if (pte_none(*pte)) continue; if (!direct) - vmem_free_pages((unsigned long) pfn_to_virt(pte_pfn(*pte)), 0); + vmem_free_pages((unsigned long)pfn_to_virt(pte_pfn(*pte)), get_order(PAGE_SIZE), altmap); pte_clear(&init_mm, addr, pte); } else if (pte_none(*pte)) { if (!direct) { - void *new_page = vmemmap_alloc_block(PAGE_SIZE, NUMA_NO_NODE); + void *new_page = vmemmap_alloc_block_buf(PAGE_SIZE, NUMA_NO_NODE, altmap); if (!new_page) goto out; @@ -213,7 +218,8 @@ static void try_free_pte_table(pmd_t *pmd, unsigned long start) /* __ref: we'll only call vmemmap_alloc_block() via vmemmap_populate() */ static int __ref modify_pmd_table(pud_t *pud, unsigned long addr, - unsigned long end, bool add, bool direct) + unsigned long end, bool add, bool direct, + struct vmem_altmap *altmap) { unsigned long next, prot, pages = 0; int ret = -ENOMEM; @@ -234,11 +240,11 @@ static int __ref modify_pmd_table(pud_t *pud, unsigned long addr, if (IS_ALIGNED(addr, PMD_SIZE) && IS_ALIGNED(next, PMD_SIZE)) { if (!direct) - vmem_free_pages(pmd_deref(*pmd), get_order(PMD_SIZE)); + vmem_free_pages(pmd_deref(*pmd), get_order(PMD_SIZE), altmap); pmd_clear(pmd); pages++; } else if (!direct && vmemmap_unuse_sub_pmd(addr, next)) { - vmem_free_pages(pmd_deref(*pmd), get_order(PMD_SIZE)); + vmem_free_pages(pmd_deref(*pmd), get_order(PMD_SIZE), altmap); pmd_clear(pmd); } continue; @@ -261,7 +267,7 @@ static int __ref modify_pmd_table(pud_t *pud, unsigned long addr, * page tables since vmemmap_populate gets * called for each section separately. */ - new_page = vmemmap_alloc_block(PMD_SIZE, NUMA_NO_NODE); + new_page = vmemmap_alloc_block_buf(PMD_SIZE, NUMA_NO_NODE, altmap); if (new_page) { set_pmd(pmd, __pmd(__pa(new_page) | prot)); if (!IS_ALIGNED(addr, PMD_SIZE) || @@ -280,7 +286,7 @@ static int __ref modify_pmd_table(pud_t *pud, unsigned long addr, vmemmap_use_sub_pmd(addr, next); continue; } - ret = modify_pte_table(pmd, addr, next, add, direct); + ret = modify_pte_table(pmd, addr, next, add, direct, altmap); if (ret) goto out; if (!add) @@ -302,12 +308,12 @@ static void try_free_pmd_table(pud_t *pud, unsigned long start) for (i = 0; i < PTRS_PER_PMD; i++, pmd++) if (!pmd_none(*pmd)) return; - vmem_free_pages(pud_deref(*pud), CRST_ALLOC_ORDER); + vmem_free_pages(pud_deref(*pud), CRST_ALLOC_ORDER, NULL); pud_clear(pud); } static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end, - bool add, bool direct) + bool add, bool direct, struct vmem_altmap *altmap) { unsigned long next, prot, pages = 0; int ret = -ENOMEM; @@ -347,7 +353,7 @@ static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end, } else if (pud_large(*pud)) { continue; } - ret = modify_pmd_table(pud, addr, next, add, direct); + ret = modify_pmd_table(pud, addr, next, add, direct, altmap); if (ret) goto out; if (!add) @@ -370,12 +376,12 @@ static void try_free_pud_table(p4d_t *p4d, unsigned long start) if (!pud_none(*pud)) return; } - vmem_free_pages(p4d_deref(*p4d), CRST_ALLOC_ORDER); + vmem_free_pages(p4d_deref(*p4d), CRST_ALLOC_ORDER, NULL); p4d_clear(p4d); } static int modify_p4d_table(pgd_t *pgd, unsigned long addr, unsigned long end, - bool add, bool direct) + bool add, bool direct, struct vmem_altmap *altmap) { unsigned long next; int ret = -ENOMEM; @@ -394,7 +400,7 @@ static int modify_p4d_table(pgd_t *pgd, unsigned long addr, unsigned long end, goto out; p4d_populate(&init_mm, p4d, pud); } - ret = modify_pud_table(p4d, addr, next, add, direct); + ret = modify_pud_table(p4d, addr, next, add, direct, altmap); if (ret) goto out; if (!add) @@ -415,12 +421,12 @@ static void try_free_p4d_table(pgd_t *pgd, unsigned long start) if (!p4d_none(*p4d)) return; } - vmem_free_pages(pgd_deref(*pgd), CRST_ALLOC_ORDER); + vmem_free_pages(pgd_deref(*pgd), CRST_ALLOC_ORDER, NULL); pgd_clear(pgd); } static int modify_pagetable(unsigned long start, unsigned long end, bool add, - bool direct) + bool direct, struct vmem_altmap *altmap) { unsigned long addr, next; int ret = -ENOMEM; @@ -445,7 +451,7 @@ static int modify_pagetable(unsigned long start, unsigned long end, bool add, goto out; pgd_populate(&init_mm, pgd, p4d); } - ret = modify_p4d_table(pgd, addr, next, add, direct); + ret = modify_p4d_table(pgd, addr, next, add, direct, altmap); if (ret) goto out; if (!add) @@ -458,14 +464,16 @@ static int modify_pagetable(unsigned long start, unsigned long end, bool add, return ret; } -static int add_pagetable(unsigned long start, unsigned long end, bool direct) +static int add_pagetable(unsigned long start, unsigned long end, bool direct, + struct vmem_altmap *altmap) { - return modify_pagetable(start, end, true, direct); + return modify_pagetable(start, end, true, direct, altmap); } -static int remove_pagetable(unsigned long start, unsigned long end, bool direct) +static int remove_pagetable(unsigned long start, unsigned long end, bool direct, + struct vmem_altmap *altmap) { - return modify_pagetable(start, end, false, direct); + return modify_pagetable(start, end, false, direct, altmap); } /* @@ -474,7 +482,7 @@ static int remove_pagetable(unsigned long start, unsigned long end, bool direct) static int vmem_add_range(unsigned long start, unsigned long size) { start = (unsigned long)__va(start); - return add_pagetable(start, start + size, true); + return add_pagetable(start, start + size, true, NULL); } /* @@ -483,7 +491,7 @@ static int vmem_add_range(unsigned long start, unsigned long size) static void vmem_remove_range(unsigned long start, unsigned long size) { start = (unsigned long)__va(start); - remove_pagetable(start, start + size, true); + remove_pagetable(start, start + size, true, NULL); } /* @@ -496,9 +504,9 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, mutex_lock(&vmem_mutex); /* We don't care about the node, just use NUMA_NO_NODE on allocations */ - ret = add_pagetable(start, end, false); + ret = add_pagetable(start, end, false, altmap); if (ret) - remove_pagetable(start, end, false); + remove_pagetable(start, end, false, altmap); mutex_unlock(&vmem_mutex); return ret; } @@ -509,7 +517,7 @@ void vmemmap_free(unsigned long start, unsigned long end, struct vmem_altmap *altmap) { mutex_lock(&vmem_mutex); - remove_pagetable(start, end, false); + remove_pagetable(start, end, false, altmap); mutex_unlock(&vmem_mutex); } From patchwork Mon Jan 8 13:27:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Korikkar X-Patchwork-Id: 13513481 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 712A3C4707B for ; Mon, 8 Jan 2024 13:28:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B7B56B0085; Mon, 8 Jan 2024 08:28:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 265C98D0001; Mon, 8 Jan 2024 08:28:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 090796B0088; Mon, 8 Jan 2024 08:28:16 -0500 (EST) 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 E495D6B0085 for ; Mon, 8 Jan 2024 08:28:16 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B95151A07FD for ; Mon, 8 Jan 2024 13:28:16 +0000 (UTC) X-FDA: 81656222592.09.5069C06 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf04.hostedemail.com (Postfix) with ESMTP id 544AF4001D for ; Mon, 8 Jan 2024 13:28:14 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="Hd/43Vgo"; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf04.hostedemail.com: domain of sumanthk@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=sumanthk@linux.ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704720494; 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:in-reply-to:references:references:dkim-signature; bh=PLq5HxbpRpiiZPFdlD/MFzwGjARbXZ09MmXjRwUeoyA=; b=iKDsrtiYjOEjTFdD1KF/fQrbd3Mb6IpXQfRVrzXNZqO9W2xuMUwkg5lpu9RSugSfwlFw0g nFgszECucmofDpMa1yziyTRfXgZ9RQzENGJEDsi4XJpBWK4LJB9QjZzKHjWnjnA807MZN8 0Dtglatstj7fFBX0c0MWZ4uUmoIfVdM= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="Hd/43Vgo"; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf04.hostedemail.com: domain of sumanthk@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=sumanthk@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704720494; a=rsa-sha256; cv=none; b=DQf+6W7DQO4DJUDCJRpcvk2G8gknE4QFbNJN4EIz2PxllfftUCel0JSWLpOHtK9sUVbCB0 OTq55btBPgBR8pGDBc9qoomorvdDvl+1bp+k18rAcfh55u8afjjJNPjIhO8vB04+kPjRal 2m4M/nOx0w+6qf+15H4WQdQASn8aYHI= Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 408DLotj021543; Mon, 8 Jan 2024 13:28:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=PLq5HxbpRpiiZPFdlD/MFzwGjARbXZ09MmXjRwUeoyA=; b=Hd/43VgooJvax8Pv4UNXaF0ZtEfakayNGZYC3V68fLSB9ySDJr8cXEiLVQQ6gsr0uLas 2P6uqk5ur0ha3KMRXp/JYB9zYsEdA1zpQhEx+U7jp9i8QACjDaZLVGN3ihTJfYfDybJr itOBADM80QR2+6ZAJoMu6LrsOGa1e97j5XErM5wt1fuWaSIzHICduoNB/bxzlQ1RQDqi fZ7JPE+8rmmpucWOiKon/4rt4q/UFylAOVFPbN4h2qaEfw1/hLY+YJgIAKTCpgAgCukT 6RS0AUYKq8m48ExjK2lzLbUxv5B66iQ2+ZfLsIu3cWZle+rqe5xphfjquwHEeGjdqgty tA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3vf1uypqd6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:05 +0000 Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 408DMceE026968; Mon, 8 Jan 2024 13:28:04 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3vf1uypqc8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:04 +0000 Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 408C2V6S022787; Mon, 8 Jan 2024 13:28:03 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3vfhjy87yc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:03 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 408DRxu913894386 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 8 Jan 2024 13:27:59 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 179AC20065; Mon, 8 Jan 2024 13:27:59 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A968D20043; Mon, 8 Jan 2024 13:27:58 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 8 Jan 2024 13:27:58 +0000 (GMT) From: Sumanth Korikkar To: linux-mm , Andrew Morton , David Hildenbrand Cc: Oscar Salvador , Michal Hocko , "Aneesh Kumar K.V" , Anshuman Khandual , Gerald Schaefer , Alexander Gordeev , Heiko Carstens , Vasily Gorbik , linux-s390 , LKML , Sumanth Korikkar Subject: [PATCH v6 3/5] s390/sclp: remove unhandled memory notifier type Date: Mon, 8 Jan 2024 14:27:45 +0100 Message-Id: <20240108132747.3238763-4-sumanthk@linux.ibm.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240108132747.3238763-1-sumanthk@linux.ibm.com> References: <20240108132747.3238763-1-sumanthk@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: arpGKG06vK7sD9XVHhH224pKChwTk48h X-Proofpoint-GUID: rB2rl9xwiD1t3sChOwDuCHWkP_Aph21i X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-08_04,2024-01-08_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 mlxlogscore=753 malwarescore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 spamscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401080115 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 544AF4001D X-Stat-Signature: bfbn8wgauzfdxo794qtjgynx46o8czme X-HE-Tag: 1704720494-380315 X-HE-Meta: U2FsdGVkX19F9UY68B2IDpsiNKwuvp3+IDgdOEopTAbOQNC1K2bPFkcbJXSDdzF0Rn9RRtk4hUKmnEnsO0Y2GEjaxSd2uOJaHSHqo+I7ce3cUNYFZPqzkd59RBJapBZkUvTOy8j73Xg77LXMP6Z7iZWrN9zjLPvr2DNvETtrOhY17dyrjblrG6Z/zDfqFiNo3pXC0cPKoDo77aFRc4njO6F46kImGt6agc//y+hloAAuwIXoGUXnIb9LhVEF7A6vr3ZRp4lXSuCwOeRHvQDgv769JQcDpKNifDbX0r11Oij6wZLQlXJLAfj/tEisiZYD4TsvNfY9VDz00IKheaPypMt4LglKZqwvT7oNRKcG+bWmZCzblIibNqF1OU7j4C87ZHhg7K2F6TzCrJwhFMgbslyJxAAVxx5ZrlUqPDHVdw0BMUjJG7b43wX1s1vUvnqdy+wj9Grb74FuIt38eMy/SSsqrAAK8Ibi/CO+in3C1zrH6ux26cCEU6mztZhu5MUK/6Uz06BjZ5WIzhrSKv3E3bgNOZNKMg6sa/0b0tQE1Sd+rkUBKq/XyZ/ejrhkoYnhK/JQNNX/kdFOOpch9yV3q13lnPTlx8T5Z9xwxg69P9vf1Frn+9gJUBzQQB9ADvEMKnj8lw1h8iA9Y9T2sCn/DzBWf7g0BUKLSi1B8MxnQ1hS1bOfVsNV5ERsY9L8PY8qxeVO5V0yvL3nMw7qGrWnWcR8gjNcPqzfptJiNSTXbksu3zklDULTICyWf6IUMvloMMIlyKeYB/2ghPrX8wKvYcKFrE9/XDkjWQ6wvuhYiAewvNYLGgI66DVOhCaRb4K2xYqR71pTGRmTkOMfmX6EnDzsnN5fyC9quIgph2kGa9nStaXWftsRwIbIOJ9jGmaFjy3pGFr+tinmrCJw3HMuTRegfUkGBL7ErYdWySWfzR5tptkm3+In0woBdp/1wLV04G8PPctzz5kqQmZ1XLK 1Fq7XpzL 0sDMY2CL1xbFgCWRdCl9HHcwg8wn6W/GtGBlQG0QF52R5GuGnTDUczuGBun5+CK6Y81Aj+xZ+GbOSQtuQi39cFnnE0KPdct+ykPB2Cf1zc+eoQhDfR61ssPOqaTG/5mi5FdZNUwVuAbR5rsu//a6zmLp5H/CRAwI+U4vqUB7We2tLLrk= 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: List-Subscribe: List-Unsubscribe: Remove memory notifier types which are unhandled by s390. Unhandled memory notifier types are covered by default case. Suggested-by: Alexander Gordeev Reviewed-by: David Hildenbrand Signed-off-by: Sumanth Korikkar --- drivers/s390/char/sclp_cmd.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/s390/char/sclp_cmd.c b/drivers/s390/char/sclp_cmd.c index 11c428f4c7cf..355e63e44e95 100644 --- a/drivers/s390/char/sclp_cmd.c +++ b/drivers/s390/char/sclp_cmd.c @@ -340,9 +340,6 @@ static int sclp_mem_notifier(struct notifier_block *nb, if (contains_standby_increment(start, start + size)) rc = -EPERM; break; - case MEM_ONLINE: - case MEM_CANCEL_OFFLINE: - break; case MEM_GOING_ONLINE: rc = sclp_mem_change_state(start, size, 1); break; From patchwork Mon Jan 8 13:27:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Korikkar X-Patchwork-Id: 13513480 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 D8DD0C3DA6E for ; Mon, 8 Jan 2024 13:28:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CEDDD6B0083; Mon, 8 Jan 2024 08:28:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C9E016B0085; Mon, 8 Jan 2024 08:28:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AA3146B0087; Mon, 8 Jan 2024 08:28:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 95E886B0083 for ; Mon, 8 Jan 2024 08:28:14 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 74A5E80836 for ; Mon, 8 Jan 2024 13:28:14 +0000 (UTC) X-FDA: 81656222508.30.5144B17 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf03.hostedemail.com (Postfix) with ESMTP id 1F07820003 for ; Mon, 8 Jan 2024 13:28:11 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=T7NWUx1k; spf=pass (imf03.hostedemail.com: domain of sumanthk@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=sumanthk@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=1704720492; 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:in-reply-to:references:references:dkim-signature; bh=mAMWAmx4tTbSFhnG6X+oeskqJ2cVVuibj42I4REYo6w=; b=S5l+6lOBaS8blMstFyKWwBjhxC4+zPmllDgkf4K0TMYdgeCrZ+uw34Ov+7TWkGtsTm675t FJcCW2jRnP3AIp9+odbgtbL9jgU0ebxFyoqQVqui/Cy+hT4N0VU7c7p2i9nRIketXryDkh FKn3mw2G138AlLA7N4wQkHTioeE1ysU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704720492; a=rsa-sha256; cv=none; b=Zn+04XLxiNi0TdHAgs2fQstMABeZt6Qlf4Z9Dz5do0poNifGHOR3IVSMEa6i+XYA+YtfwM ygk+TnZrWQsa6a3A6FOVXSeY9AurnCbkma5YvUQwPpPyek2AIFgmfTdlTEG5nAUC8OqUOX 3RpgeR0TzgTZ2IaxWPRF15fsFcEWTI0= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=T7NWUx1k; spf=pass (imf03.hostedemail.com: domain of sumanthk@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=sumanthk@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 408Cl0WU001332; Mon, 8 Jan 2024 13:28:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=mAMWAmx4tTbSFhnG6X+oeskqJ2cVVuibj42I4REYo6w=; b=T7NWUx1kZCIMJ4BzZTm+M2/2Zx0FpHAaAjni7YrHbHX7MuQnY1DCxPGS+ZgFyg81n6qp /wkaGhwRtjs0i+Syn7oD8xEgYEwcC4Sq/yR0pmyD6ZOhS40DDKSzCGhtpEly5KyL96cL 4AUvo1lboNP/wDawXTRePpfDKODDZj788zYExuUCwymeWD8igNTIJED8fgar6yF755ut i4T6yZiLRpMrITJs3/ZjBkQkqnZTojuPYTPDW6FmogQ7WKoAnb3My3HvTiHAvpxaoV8n 3Emn/DdRnWTyDgFXsIt5rwNffEpRP1qkl5mbbUgjrf0uWrkK+rfsttjN8fODdvBnjHmi 8A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3vf1qexmer-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:08 +0000 Received: from m0353728.ppops.net (m0353728.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 408CP5r1024343; Mon, 8 Jan 2024 13:28:07 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3vf1qexmdu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:07 +0000 Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 408C6kmv022799; Mon, 8 Jan 2024 13:28:06 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3vfhjy87yk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:06 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 408DS2267799544 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 8 Jan 2024 13:28:02 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B3C862004E; Mon, 8 Jan 2024 13:27:59 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 21F3720067; Mon, 8 Jan 2024 13:27:59 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 8 Jan 2024 13:27:59 +0000 (GMT) From: Sumanth Korikkar To: linux-mm , Andrew Morton , David Hildenbrand Cc: Oscar Salvador , Michal Hocko , "Aneesh Kumar K.V" , Anshuman Khandual , Gerald Schaefer , Alexander Gordeev , Heiko Carstens , Vasily Gorbik , linux-s390 , LKML , Sumanth Korikkar Subject: [PATCH v6 4/5] s390/mm: implement MEM_PREPARE_ONLINE/MEM_FINISH_OFFLINE notifiers Date: Mon, 8 Jan 2024 14:27:46 +0100 Message-Id: <20240108132747.3238763-5-sumanthk@linux.ibm.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240108132747.3238763-1-sumanthk@linux.ibm.com> References: <20240108132747.3238763-1-sumanthk@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 7mkCTFBZ_igCm35Up3nk_f_xNDDv_oAk X-Proofpoint-ORIG-GUID: Xa9P41lBTiK1qvAcU4rzOO1CifOtzvCO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-08_04,2024-01-08_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 impostorscore=0 mlxlogscore=999 bulkscore=0 adultscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxscore=0 lowpriorityscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401080115 X-Rspamd-Queue-Id: 1F07820003 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 5th9n3i8k4ytui5q8rnr4xdqwoannomq X-HE-Tag: 1704720491-969196 X-HE-Meta: U2FsdGVkX18kNMWcsFKCkAeNtx/C9UQw4SW06dxk72eP1tESEC0bhyaOdypN1lTyNKAuR+rFccFPHrBI5A/uxzPx+M8TyxJr8jnan4lGsWYlliOrSwdUZN7JbGVOPKfGHqD/ZHtkfKxlAZXpmv8R6+VE+jfKvokXx/97XHObqFBm4ahHdTw9DQcV/xjkxHvkKwvmOG6aIq3uoivAsP0RHBr5gdwirOt5PywzRSfRc+EaO+prNhH5KfmovqzjhaI5KunJ3/MAmeR1PfrFcGPyZ/bzsdScLujEO4R2gO7/hsE6ysSalGpglOYbr2c2YhjJsx8wIJHA41hYJxwqQeREIqVbSnu3NZxqdcVW1RsbJtD/rpmjCYhI6jQ/XvbgmE0t/hA2tAA0F0NryyZQUEx/XIhWJEgfsY5JeMEL220nPG4SxXkj3wjDWraigQl9ouo9u1IKb9rKgjjVj3wRHl5UYCMwwk1xBhDKEJUDgnjzgF0jFQbG19NlMycfCqXcrR5ahTQRExKKg0oR30PlMWohAEv/uJhtMEfMc4tEh22kpfqQOWxvp8Sp9DmYSg/fddpVsWIYj88hVnFTVkGqZHdkkzQfwYYTkHIhZnOEdww4jeUTQ37n0/YFw+eLYMUtB/VFk6PfwmFCpYc87SgBGzCF1QN8r3q5Dz0IQEcOIBT97fLDRGJ0gH8Xx2UX5qBn/g4rxsEQbFFQWmFjMRguE7zGoNsa2Tfz3pXoqOR9esEC9zwdQSU9LJws6JAQegopeuTtXuVVQc5mK8afJeaL9It4WZsVyJzbL6BIQI1BeHnbuuGYNCKv/86Vfj6d+XW5Wb/VEMXG/ipQ0WueNzszAuFjkViYSUJP5I7/TugtffNFuGopFtzRuB1VBfJ90SU37AjlFRO8oMNGmlAFNCvS5cK4gX2TlS0qF1k6sbmDkSNYlbm3GeD5shL395oXiyHaW0sUX5IBLNT8/LtUIVjuJr1 5kFwrisA mrHJPCyxRSliF46QuTqzd0t8/pvomXfrHyvE92d5ehPAb6Q6XU83VbhNwZ5Xu8JISDIbGL+y1Q/mGlEcWj2oBPV5GK5YA59YWKa/b4v45d/5qTNVyV3qcGhI6Ac5I1kRdFG4Yd7XTIAmzHQxDyoQIXl7QnJdLC/lH1qP20AAVw7wub91L8DON/0r/ctxTr2LBrRk//bWNKBlUjWklBHGhwS8Apg== 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: List-Subscribe: List-Unsubscribe: MEM_PREPARE_ONLINE memory notifier makes memory block physical accessible via sclp assign command. The notifier ensures self-contained memory maps are accessible and hence enabling the "memmap on memory" on s390. MEM_FINISH_OFFLINE memory notifier shifts the memory block to an inaccessible state via sclp unassign command. Implementation considerations: * When MHP_MEMMAP_ON_MEMORY is disabled, the system retains the old behavior. This means the memory map is allocated from default memory. * If MACHINE_HAS_EDAT1 is unavailable, MHP_MEMMAP_ON_MEMORY is automatically disabled. This ensures that vmemmap pagetables do not consume additional memory from the default memory allocator. * The MEM_GOING_ONLINE notifier has been modified to perform no operation, as MEM_PREPARE_ONLINE already executes the sclp assign command. * The MEM_CANCEL_ONLINE/MEM_OFFLINE notifier now performs no operation, as MEM_FINISH_OFFLINE already executes the sclp unassign command. Reviewed-by: Gerald Schaefer Reviewed-by: David Hildenbrand Signed-off-by: Sumanth Korikkar --- drivers/s390/char/sclp_cmd.c | 41 ++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/drivers/s390/char/sclp_cmd.c b/drivers/s390/char/sclp_cmd.c index 355e63e44e95..7815e9bea69a 100644 --- a/drivers/s390/char/sclp_cmd.c +++ b/drivers/s390/char/sclp_cmd.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -26,6 +27,7 @@ #include #include #include +#include #include "sclp.h" @@ -340,13 +342,38 @@ static int sclp_mem_notifier(struct notifier_block *nb, if (contains_standby_increment(start, start + size)) rc = -EPERM; break; - case MEM_GOING_ONLINE: + case MEM_PREPARE_ONLINE: + /* + * Access the altmap_start_pfn and altmap_nr_pages fields + * within the struct memory_notify specifically when dealing + * with only MEM_PREPARE_ONLINE/MEM_FINISH_OFFLINE notifiers. + * + * When altmap is in use, take the specified memory range + * online, which includes the altmap. + */ + if (arg->altmap_nr_pages) { + start = PFN_PHYS(arg->altmap_start_pfn); + size += PFN_PHYS(arg->altmap_nr_pages); + } rc = sclp_mem_change_state(start, size, 1); + if (rc || !arg->altmap_nr_pages) + break; + /* + * Set CMMA state to nodat here, since the struct page memory + * at the beginning of the memory block will not go through the + * buddy allocator later. + */ + __arch_set_page_nodat((void *)__va(start), arg->altmap_nr_pages); break; - case MEM_CANCEL_ONLINE: - sclp_mem_change_state(start, size, 0); - break; - case MEM_OFFLINE: + case MEM_FINISH_OFFLINE: + /* + * When altmap is in use, take the specified memory range + * offline, which includes the altmap. + */ + if (arg->altmap_nr_pages) { + start = PFN_PHYS(arg->altmap_start_pfn); + size += PFN_PHYS(arg->altmap_nr_pages); + } sclp_mem_change_state(start, size, 0); break; default: @@ -397,7 +424,9 @@ static void __init add_memory_merged(u16 rn) if (!size) goto skip_add; for (addr = start; addr < start + size; addr += block_size) - add_memory(0, addr, block_size, MHP_NONE); + add_memory(0, addr, block_size, + MACHINE_HAS_EDAT1 ? + MHP_MEMMAP_ON_MEMORY | MHP_OFFLINE_INACCESSIBLE : MHP_NONE); skip_add: first_rn = rn; num = 1; From patchwork Mon Jan 8 13:27:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Korikkar X-Patchwork-Id: 13513478 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 A5B0FC47079 for ; Mon, 8 Jan 2024 13:28:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 12D286B007E; Mon, 8 Jan 2024 08:28:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0B6A16B0080; Mon, 8 Jan 2024 08:28:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E98826B0081; Mon, 8 Jan 2024 08:28:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id D6C4B6B007E for ; Mon, 8 Jan 2024 08:28:10 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id AD1D71A07ED for ; Mon, 8 Jan 2024 13:28:10 +0000 (UTC) X-FDA: 81656222340.29.05BAAC5 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf03.hostedemail.com (Postfix) with ESMTP id 604CF2000A for ; Mon, 8 Jan 2024 13:28:08 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=m29gQuog; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf03.hostedemail.com: domain of sumanthk@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=sumanthk@linux.ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704720488; 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:in-reply-to:references:references:dkim-signature; bh=bZr0uh2TIhBQHlP6zzh6imGygSvSmLj2O03i+ZWmVIw=; b=dLMB0HGPZKxBq4jRqlPjfA+srWIG8Tk4ZKC5WtNkB4dTQ3jLJbMnRoJWJJUr3TRXRL3l0O fOj+UHSeSLkHYG00usXHHk6Me40jYxdqaAuE6xbWrieWYVprcFjpdFEaBmDMTejwj+ThEq B1wB02bsP88pF2eI3Qu+bd2ThqU+xKA= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=m29gQuog; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf03.hostedemail.com: domain of sumanthk@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=sumanthk@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704720488; a=rsa-sha256; cv=none; b=Vj1YABcuY+kBJfkM+abcNXFW0LH2yVJzY8eYHOBxQP8RvshgdXN86P8CkDf/oe51T7ZqtS VWPBgiXVms8hxGbfNpMhyfmy8WrgcEZD9YPuZN2sG7wv0DNntbPbfOwHF+yhpFikjXl8lG DJQECqoib3myukrYHltmshVJF3HeMus= 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 408CawAA030836; Mon, 8 Jan 2024 13:28:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=bZr0uh2TIhBQHlP6zzh6imGygSvSmLj2O03i+ZWmVIw=; b=m29gQuogVahBtnQlr85NavufcHM2iKdugqCWdypLg4pYi59nwzCKn2HMlAxwj2BuULX6 8qX5q9X7WK9u+xeMJn2JHD8CxyOXvYGAb1Qi8DfLRnRMyWusFRjPQqBlMApDEUXjTrTB Vtfp0/I7gyAiEOcEb9HkNHmGGOUgCXkmzixPGrvmbVB2RZPZEDKHtHFdlv96PRxPkUS6 VJ5ltwLwbJf2L5uLWkHYQOo5OLgnKcH84wuvuAyiPq0HvVZKJ/hnyC5u0wBM+o40fMMB uKPYovImJL3aNOe5sihgv5b11hcS5U4BmADfsr6EGXH/TJwZsWrLNlVMMJi8S4V93hGd qQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3vg9jjksu7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:05 +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 408ClbZi005423; Mon, 8 Jan 2024 13:28:04 GMT Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3vg9jjkstm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:04 +0000 Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 408CbnCm022882; Mon, 8 Jan 2024 13:28:03 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3vfj6n82ka-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jan 2024 13:28:03 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 408DS0ix5833280 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 8 Jan 2024 13:28:00 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2E25420074; Mon, 8 Jan 2024 13:28:00 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BE32D20063; Mon, 8 Jan 2024 13:27:59 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 8 Jan 2024 13:27:59 +0000 (GMT) From: Sumanth Korikkar To: linux-mm , Andrew Morton , David Hildenbrand Cc: Oscar Salvador , Michal Hocko , "Aneesh Kumar K.V" , Anshuman Khandual , Gerald Schaefer , Alexander Gordeev , Heiko Carstens , Vasily Gorbik , linux-s390 , LKML , Sumanth Korikkar Subject: [PATCH v6 5/5] s390: enable MHP_MEMMAP_ON_MEMORY Date: Mon, 8 Jan 2024 14:27:47 +0100 Message-Id: <20240108132747.3238763-6-sumanthk@linux.ibm.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240108132747.3238763-1-sumanthk@linux.ibm.com> References: <20240108132747.3238763-1-sumanthk@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: _DsiHH1N_Ho235Pge5b6vYyYryhMe_2h X-Proofpoint-GUID: tkx2ppUorBAaLtwggV-Cge4-INFHU70C X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-08_04,2024-01-08_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxlogscore=743 spamscore=0 mlxscore=0 clxscore=1015 bulkscore=0 malwarescore=0 impostorscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401080115 X-Rspamd-Queue-Id: 604CF2000A X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: iddb4or6a5wumz6of8sk8w9cdudq7mt4 X-HE-Tag: 1704720488-636612 X-HE-Meta: U2FsdGVkX18S0HdXJmOCsEciZ746iKc9R11YTRGc1XWm9teA5w/jKa4tNja+X/LjkHWb6ej2MaT0v0ykBisWCjOzt9Gez16nNqecvlr/kZrAepDzEwVNDtrJI+reJHkyziQrDND+U5cmq3W97w/H9W4Sl/vfUxdYmCvMHmvJu5iFOzuqOiarxuyzQBvDzZRVuFxZX3yVNcaS4a3OGQRgaCAg+jpLNF0SYBPHzzI+9K0q4EP/JNu2NM6ISYtAiq/EsIUpJkGwvJ4xN0NY50Yvr/pMaLSKvFNkrcCQq3tX7xCenQGyNbDos86caX5z6XNQegQGRLksFLxLcPgzNKvYbuMF6nTTVggJ5/LDj0lkBP6UYg2+YUBVKmH1LoCW0rT9JOjuZ6+aito59g2C1ndaWDKBYHtMdH8sLuKu5lFn8XI8zi9ILVG10oVOK/iMy1yeTrFiZQf64h28+2qTZ3Cmmb/Kd5n9FX3Zw+YIfrArBypERnok196jbVvTMYQVMWku0EOG83d9m+i1i4Un3whIne3ZkYh2gXMI0rdUoFIJwV3MznX5j1BCATHwXAj0bis8H8e2AzZEqkTZlB/53LBchCyYeuY6wyfiOqgeaeaJrPCdi4XdhSbj8rT+McVG1SoybrLznxxUU3h95rgDPKsnj2L+RQe+Tq3zrCPPqGDH+vAnEmGD5LwN+ckcsJvGsq2UBGWUIxArFXenE3q85BmbbycbQEdaBzB9w7s+VBeL2WWXS7fPiv9o3NV2jr9ZCyw/yrlJXn5BexX9ZdYHb1VWApyx4Fxw+3f6qX9C1bjzeTb4WzUIbVCjVHE6swcw819T4GDETzL/NrWsh+OFsTM/XXRq3Nzp8/7dNG5ChYcS249anNE1VLTVHCpbCu9OstHOwYtglKSOkWVjXR8c3bxkeuknF0U+QtzbiE+r63C1GeoyCdB0n+dP5W5vVAm7kvUOVc2v5H2rW96Gpbvx6oN K3uBuBgB kbECn+KNIPXeQPtY2Sc81KELO05m6JxoshBoHX9X0XI2eQUtsedbPJFOpXXPboH4QIXr1iK8B09ZykbURIigaJEF5sFPiauIaju+vU8+yO5O29BXazWwEIHMbxjNRVhUcKX1N4eTWw8sqbpEGsDY6klxzbwyQRh63UdHXYuZRVXH1Fw4gKaF8ec4m7/fJRthtWsmO X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Enable MHP_MEMMAP_ON_MEMORY to support "memmap on memory". memory_hotplug.memmap_on_memory=true kernel parameter should be set in kernel boot option to enable the feature. Reviewed-by: Gerald Schaefer Signed-off-by: Sumanth Korikkar --- arch/s390/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index d5d8f99d1f25..747d994c6dfa 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -113,6 +113,7 @@ config S390 select ARCH_INLINE_WRITE_UNLOCK_BH select ARCH_INLINE_WRITE_UNLOCK_IRQ select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE + select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE select ARCH_STACKWALK select ARCH_SUPPORTS_ATOMIC_RMW select ARCH_SUPPORTS_DEBUG_PAGEALLOC