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 A5B1CC3DA6D for ; Tue, 20 May 2025 15:13:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2BB506B0095; Tue, 20 May 2025 11:13:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 26B846B009B; Tue, 20 May 2025 11:13:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 133D86B009C; Tue, 20 May 2025 11:13:34 -0400 (EDT) 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 E79D96B0095 for ; Tue, 20 May 2025 11:13:33 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 9564F16062A for ; Tue, 20 May 2025 15:13:33 +0000 (UTC) X-FDA: 83463630306.14.020763C Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by imf12.hostedemail.com (Postfix) with ESMTP id 896644000C for ; Tue, 20 May 2025 15:13:31 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dZ98O0PM; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf12.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747754011; a=rsa-sha256; cv=none; b=EQJVjgUuVbUxjer7ySDU7qoRyOuZBXu7Hf7iDCebBmu3iogoOiodF9mj8GMjIptvbIYCcG 98JU/5asUhKsvLJps4FAF43ovgvRub9E81JeiOCf4AvSs381AF1eu98AT04KEhs+kXVgeO lQC9Q+MQdMoBJ3K1bUiIFnSKwHdiWzQ= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dZ98O0PM; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf12.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747754011; 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=rdG88EyH1p1bv7urRlmEwlCsfHqAXi2Gaf0ElWBrJv4=; b=8XaNamepjLZyBP78BO0ppaswFHa5bewu8bXWZvo0W/3DqaK1P/YtcKhQXW8iCV3m26er2/ 9nwyJSAn1hzxpaoqZR6I+pLPJ/OkVRy6BkwD1azBfu15c+Gv6l/DPq1hy7VHYOvt6B5cio oFNCK9e7CzuUDqcbXdK7ws7J0Jq1A98= Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-601956fa3beso5547397a12.0 for ; Tue, 20 May 2025 08:13:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747754010; x=1748358810; darn=kvack.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=rdG88EyH1p1bv7urRlmEwlCsfHqAXi2Gaf0ElWBrJv4=; b=dZ98O0PMnwYJOePgP282Ellq6lNKGVeOo7xZe3avccq/2Ggvkq3Y2mET+4CvZPuqiG uZqHSsdhzUIhxduyKr5ZNnLcRTIcE6+f/oSjwlCeozLWKV2pHtcg5FZiPtt+9BMSF+H7 /l4DJdOjDsqFvSLUAaX+JmdEuBP1dgyLwjzXSPJeFsAUFiX69SfHBQV8dqo7bnGsvjg9 2LuzXExKrpihKpzi8box/tLqhAY58WZVLP0OatuhN7cnrdygmLHrdV3FRCbZmIoZCPts tOqe9OhWk+SGg18KzvFYwT2FqH6ePSZZk2pCxLsD8fZ8GnsWzdCbPX1sAc1GmzxBlKfc wSYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747754010; x=1748358810; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rdG88EyH1p1bv7urRlmEwlCsfHqAXi2Gaf0ElWBrJv4=; b=G+tCnDSR5qgevuTfmgWJsYOBZLDrRDCi0/yyP7lay3spkTzFZotJOBAKOdqNBGfaoC 1wEnjIpF0GFE/FhPWqaoHzAi2faWAwO6BDhX3IiJeyH4mxeZS3Ia9ulavHkQZDsYhK9S qwqaIiDcRvFzaqbLARPE2Nlb8+rCoEcN8J5amxgPai35QwVg1lpQg5HnsWbd1pfsY0w7 g9bTY/N5BE9tWo1IMcYMVKNBbIsY7cuknnHOERe1xdvsfj4I7p6nmMt3p/68FKcg+qms QgzOLvEWEjIP55G3Ga+NOd3ngqvl4MNwd/J7teUQuPk+hlGmtF/4FNaMkDx/Dv01DofS RrTg== X-Forwarded-Encrypted: i=1; AJvYcCXsSaWBeJyQ/pR1xmZeTh8/Fx9AIxo3OoHtALDualLlg7KFLMDII0DM6l3Wx5zpjcJtXsJ6tTYQNg==@kvack.org X-Gm-Message-State: AOJu0YzyoVLJAj7QgoJqEsQh5Rb9VC9wRSqP446i1pWbl46yO3iku2ST k8FALZ5zH+1t6Pt7ch/RvRNSxgRni4Hgtmfjj8Ex2NfLbqL+yaO8m5/D X-Gm-Gg: ASbGnct3zeWHjr0tbQwpGgV/s0lBX4fYYf4Ux4vovWXsfdsQwk96it4qqmSerZv3dqs Q83mb5vZnOBYmh7niMVQsyaYioh8hU8e9RBa966G/5SaAI2CqWs+gMPf8yt9RV/THF6WA+pgFyK RQ0NI31s907OTN+AS7FVVY/7igWQFd1dXr1vzUVAkkGD9nppuwSb+5mRS0PhXmv6E6p9RUxXmew V0ECl2jcfBFI5JVUp+Q9ZwLq0HByIiQSU6vNwQUot/nY3rkTwV4a8KkG9H76Nogzt6t62/LsiCb xG/QrChobvl75xQGAjuGaChU7p6DXH6kssSC3RmFFl26uApI+lD1XDZWhCJnfoYC/YkXhyjNi2X N8eeHuN2+1ghNiLiBj/D7IjC4 X-Google-Smtp-Source: AGHT+IFjxjE0lFrgnZ6Cd5pIihlAuD5A4JBqDhUNb3mBicJJ6xu5WRDVze1nKilGnsM3t+wKrfqVtA== X-Received: by 2002:a17:906:f595:b0:ac3:4139:9346 with SMTP id a640c23a62f3a-ad52d42bf33mr1289432366b.9.1747754009527; Tue, 20 May 2025 08:13:29 -0700 (PDT) Received: from ?IPV6:2a03:83e0:1126:4:1c0a:f3ac:4087:51c8? ([2620:10d:c092:500::7:66a9]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad52d438384sm752078966b.106.2025.05.20.08.13.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 20 May 2025 08:13:28 -0700 (PDT) Message-ID: Date: Tue, 20 May 2025 16:13:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 1/7] mm: khugepaged: extract vm flag setting outside of hugepage_madvise From: Usama Arif To: Lorenzo Stoakes Cc: Andrew Morton , david@redhat.com, linux-mm@kvack.org, hannes@cmpxchg.org, shakeel.butt@linux.dev, riel@surriel.com, ziy@nvidia.com, laoar.shao@gmail.com, baolin.wang@linux.alibaba.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, vbabka@suse.cz, jannh@google.com, Arnd Bergmann , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kernel-team@meta.com References: <20250519223307.3601786-1-usamaarif642@gmail.com> <20250519223307.3601786-2-usamaarif642@gmail.com> <18be636f-d6a7-4270-b324-22750b3a358c@lucifer.local> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 896644000C X-Rspam-User: X-Stat-Signature: tp34oymqwowc9jqqws88irgkaoauwdc5 X-HE-Tag: 1747754011-910224 X-HE-Meta: U2FsdGVkX19fj2qQVf2LyfwZIxmURE+bJalb9bRqIcf0F8xPnl8Q4sy2ccYku7f+b8vFVWNZ20Ifae+FEHCyXQTXPX18UVxPV+vfkac7NNUd1dXzeXAck/txRH4JWdTAB9NKbgOAqQcvAUJRR/EPtMRLRPMCfmixVkjN9qYnn4TtTA/pVrxCFGw/Zkn5aW40QIkGQndGL265oZsz//2SnslVHTLAWuPTcczjlTawlZ0OjcQvdHcbaQVj+bFsP07dLAamRLOmGdGJJmisn+a16JpO+KMr2uTc/BqEhOzhFVba/SWVK6MRDg4Hcs1Axs5w+1vT1HJo6evblyJFpbY1a4hRZOXud0ga4LqNTmNZxinn+u9nUnUlYDomEAOqckxCdbBFX3LyDwZbTocBm1BsSG+wONJ7dwVPihfQNgqkF3GJbIuhdrnOP+M4mgXYKLm0qzlRdW8uEus6ojRu5p5+8WItvMfHNepqn5HRP7fsVouajdB/2OAyFa1KPWqUsKOO65d/Grh0Wx1A4oTHKzUQASsj4jNo+Ub+Yfvpjt1kwMLlH0Nw1onSzTjuAHANk+pG0Wiwb2Juwsv+9MkBRgkRG+TCgiIv4TxQGyFoUpdk2yvRIdHM/QxkOo4psBMUPPYaeCSdKr7syAH1STGNiV8vU3gnazLnKoCdRYm2fTBFn45KEu6l+g7rQ4Bnki8UWdJ3WEByB+oyN9noeYS+MY6DxeAouoHht6KhXrMq2zuMbWvl7zFpkpxUK7POuDFComWX2Tut5mXE3pQJS9qCwe/X/7F7MtYyqNtH3+HpitRf73OH0R2yVkBGjwRYUv7Z/6Fq/ykdq0BsfUCz9k2dqyW03Ls6b9oZ8LQywhY7svVp97FZ6zcDGTGgRxBYjwkrqPOLMIHODEkNwI/1iu/O6+uTxq3oXZaIhLaLf1pk5+WUsnHIYdZ6/rKsgWOQb/Z+9uQxbRd57Dltc1zQzNiWw0d cf0lnp8N VsZ0SeW1qTgCz8xmKG+DTn9mLqwisy6YpX1z2L1mb++cNdMt6FXfYNihpOn1yqQ4bxAYHdwoQc24f4rrhGgaSBgTjmcCfQXiTZXsD2f41yyA9DLBVj8jMsn4R0rpUXQV7HKM9FOHSRJFaOPr2OpauCr4/Pf9GmkYmquVFal6KaQ25AiA0VBH4mgUen51IGgDBXwLBUnZUuABvdmTzJSmDX0RWxuu5gJYszZ+aTWjLPogmDy6Dj005PiYsERh5pQziwBe0Pci2AnFYPKnL0NP94kZC5FRd9h/xyjZp4wng9iV2rplscy2F8PZu7+nt8P7/37Z96kDU6VpEm8u2WsG7AEmQXqLZ20nrX4y94Y6BMPFCVlcesJouUfNhpGcBVXPVWg7z4ytZmcV++XsyhV1MyBxjgKnyhVnl82ASBWYzyGMMMxymShl+CVJMhHznUP11WsQUV2ytyEAdEHo3lBkI6gaynKKMXIz1Ojm/wdZuGWvf23GifNlTlU/eTd/9PRELZ2CXOQ2mbTdINbNUbxdIvaXMoCabUlKa52X3JtqU/ldfEVu0iwQYpr0W4LrafljgRYVrehPhZSzQFal7Asyv3xJsQg== 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: On 20/05/2025 15:57, Usama Arif wrote: > > > On 20/05/2025 15:43, Lorenzo Stoakes wrote: >> This commit message is really poor. You're also not mentioning that you're >> changing s390 behaviour? >> >> On Mon, May 19, 2025 at 11:29:53PM +0100, Usama Arif wrote: >>> This is so that flag setting can be resused later in other functions, >> >> Typo. >> >>> to reduce code duplication (including the s390 exception). >>> >>> No functional change intended with this patch. >> >> I'm pretty sure somebody reviewed that this should just be merged with whatever >> uses this? I'm not sure this is all that valuable as you're not really changing >> this structurally very much. >> > So I unfortunately never tested s390 build which the kernel bot is complaining. So If I want to reuse hugepage_set_vmflags in patch 2 and 3 for the prctls, the fix over here would be at the end. If you don't like the approach of trying to abstract the flag setting away and reusing it in prctl in this patch I can change it to the way in previous revision and just do something like below. Happy with either approach and can drop patch 1 if you prefer. + case PR_SET_THP_POLICY: + if (arg3 || arg4 || arg5) + return -EINVAL; + if (mmap_write_lock_killable(me->mm)) + return -EINTR; + switch (arg2) { + case PR_DEFAULT_MADV_HUGEPAGE: + if (!hugepage_global_enabled()) + error = -EPERM; +#ifdef CONFIG_S390 + /* + * qemu blindly sets MADV_HUGEPAGE on all allocations, but s390 + * can't handle this properly after s390_enable_sie, so we simply + * ignore the madvise to prevent qemu from causing a SIGSEGV. + */ + else if (mm_has_pgste(vma->vm_mm)) + error = -EPERM; +#endif + else { + me->mm->def_flags &= ~VM_NOHUGEPAGE; + me->mm->def_flags |= VM_HUGEPAGE; + process_default_madv_hugepage(me->mm, MADV_HUGEPAGE); + } + break; + default: + error = -EINVAL; + } + mmap_write_unlock(me->mm); + break; Thanks! diff for fixing this patch: diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index b24a2e0ae642..e5176afaaffe 100644 --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h @@ -432,7 +432,7 @@ change_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, } while (0) void process_default_madv_hugepage(struct mm_struct *mm, int advice); -int hugepage_set_vmflags(unsigned long *vm_flags, int advice); +int hugepage_set_vmflags(struct mm_struct* mm, unsigned long *vm_flags, int advice); int hugepage_madvise(struct vm_area_struct *vma, unsigned long *vm_flags, int advice); int madvise_collapse(struct vm_area_struct *vma, diff --git a/mm/khugepaged.c b/mm/khugepaged.c index ab3427c87422..b6c9ed6bb442 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -346,7 +346,7 @@ struct attribute_group khugepaged_attr_group = { }; #endif /* CONFIG_SYSFS */ -int hugepage_set_vmflags(unsigned long *vm_flags, int advice) +int hugepage_set_vmflags(struct mm_struct * mm, unsigned long *vm_flags, int advice) { switch (advice) { case MADV_HUGEPAGE: @@ -356,8 +356,8 @@ int hugepage_set_vmflags(unsigned long *vm_flags, int advice) * can't handle this properly after s390_enable_sie, so we simply * ignore the madvise to prevent qemu from causing a SIGSEGV. */ - if (mm_has_pgste(vma->vm_mm)) - return -EPERM; + if (mm_has_pgste(mm)) + return 0; #endif *vm_flags &= ~VM_NOHUGEPAGE; *vm_flags |= VM_HUGEPAGE; @@ -373,13 +373,14 @@ int hugepage_set_vmflags(unsigned long *vm_flags, int advice) break; } - return 0; + return 1; } int hugepage_madvise(struct vm_area_struct *vma, unsigned long *vm_flags, int advice) { - if (advice == MADV_HUGEPAGE && !hugepage_set_vmflags(vm_flags, advice)) { + if (hugepage_set_vmflags(vma->vm_mm, vm_flags, advice) + && advice == MADV_HUGEPAGE) { /* * If the vma become good for khugepaged to scan, * register it here without waiting a page fault that