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 5E2C9C71136 for ; Fri, 13 Jun 2025 16:24:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D18716B007B; Fri, 13 Jun 2025 12:24:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC84D6B0089; Fri, 13 Jun 2025 12:24:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB83D6B008A; Fri, 13 Jun 2025 12:24:53 -0400 (EDT) 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 9C0066B007B for ; Fri, 13 Jun 2025 12:24:53 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 5F14D160BBB for ; Fri, 13 Jun 2025 16:24:53 +0000 (UTC) X-FDA: 83550901266.05.9D007D1 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf26.hostedemail.com (Postfix) with ESMTP id E0324140010 for ; Fri, 13 Jun 2025 16:24:50 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MjhrZQsj; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf26.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749831891; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=M6UPs3wZZzH8Vr1Vmqrw6Xud3sdfgHi+vy7XvS9r/Jo=; b=UYSBaeVLMmUNG5CWLJUEFfzWrzKjm+WWfWB+FdSd8YXLu7JXdvAmrsIWNxMr8TTXDUjiTe FHcNRtL1xAP2/8pjtXanCNjoidDvj47irqIZCEnNvrPr/3kTYgE/uiQyZApSzqpNmIjmLt X+q7kSpuwgb8T1E1gk+0P/hwzeP0Fdw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749831891; a=rsa-sha256; cv=none; b=IzkRva/9ueXqvEbU//DQUXf4J5XFz0hvkZE51CqaBUL9LwZA3xtCzYYzPbnZVb2X/yO3YX JBEuPRkF9Gw1LudplWues0rf7zWuM//1K5c3NfFox+aDOs41lvcrYShboDuqFmXZfagTGR sN+Qvjp+huYn1HQhK1+diTKaw6F83w4= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MjhrZQsj; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf26.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1749831890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=M6UPs3wZZzH8Vr1Vmqrw6Xud3sdfgHi+vy7XvS9r/Jo=; b=MjhrZQsj/JkW5i8G8Or0WLQSxRLDCsZYmlOf9vVD0W81t4a5X5mXXvySGZkt+4kAXRvBAW RmfkoV0mD8OCcGhPGKqq27bgsWYxVaa55IUCE1tSafze30NV3m30GYs7pVgFph3KdZ/npU VRfXZx36vT6jGwGNiasBKCnOBIRBzv8= Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-571-HXORn2LaOnWHRJiK9KIvUg-1; Fri, 13 Jun 2025 12:24:49 -0400 X-MC-Unique: HXORn2LaOnWHRJiK9KIvUg-1 X-Mimecast-MFC-AGG-ID: HXORn2LaOnWHRJiK9KIvUg_1749831888 Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4a6e9182fbaso59606061cf.1 for ; Fri, 13 Jun 2025 09:24:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749831888; x=1750436688; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=M6UPs3wZZzH8Vr1Vmqrw6Xud3sdfgHi+vy7XvS9r/Jo=; b=OXtdCHpTg+OgyIDunaeHl8NCbd39WZ1VoEwuq5fSX3TRuVPAjDnRsk0y3CnNd+8ABb 2IfTAuFE+j3deyBplxiqBhKVjUoRmTCqQNrbde3BgvgA8fHfIZiH6Fy6Z8VSpTemGW2s L98AZJFWDLfrjejWodVlqvg7JAXlVAa/teTe5NihkI3CNbiRqekQoHloe+RvoFCC65it 4nH+kSUtC4coBc2FjYvgJA8eQkBNSA2OQKpCLADDkz/3C8cmsHD0umM+JwW6c0jcAvng YcAiWo6GpJ3gbSnAPDkc8gMtfUhxTDPZuV547ILvtZ/5/2K6HdmS1baF0zIazx5STzqe 0qQw== X-Forwarded-Encrypted: i=1; AJvYcCXrpE+WQ5GwwZiQg819Qj2w2/YQccRBz8WEb0gu3RknxVPSHfw2v22i1zX+cDN7+k7Rdy6S6jNsJg==@kvack.org X-Gm-Message-State: AOJu0Yz+jx8Dy/UPpzPGdjwBpczIYwyrJ+QgRJR+9vQemPny+d8705z3 ow7pFQFva4Cjn7K1w8ubNpVCXys4T4u3KjSc/Bwj35MLqKpU6oo4Vj3TrZh+uSdv52mDa4SDbzF iVvUniIgixutEgvGRFvypyOe3XcU7bcbJjrMVhzoZuBQvrga5MiCQ X-Gm-Gg: ASbGncsqSRqtzlkJEfw7DEbrIrT0ZEW/OLF652yCaCtUnyC4IhTcJ6WiXYJJkvr5/vS G8xCnIWIN20hOsSvj64U2zC4ov3rJyV7wXsUWL2iuAseRIFIYoZzaD1ZNlNgEk5dA207r3zUAvt Dol6F462Mxh4YvtRlNJgic2F0kAjp+qazEYfE40q/cgzmLThm2THQFZOduRbvX0yOh/VygQ1g8N Y1fgNoASFXwnps+T9lHgCi9bfv5pPtn7whPYksdUYdKIkhc6jD9BkGSFBYPvE+a57aX59UZ8jv5 5L3I0y2CY4tFTw== X-Received: by 2002:a05:622a:44:b0:4a6:fa1f:46a5 with SMTP id d75a77b69052e-4a73b69e837mr6261641cf.2.1749831888554; Fri, 13 Jun 2025 09:24:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGwE/aMkplM3bTE+98WG9z6ojodJYRohckJBl51t/zS9y9pPDUtOdEYutdKcOPE5vAqv+nUow== X-Received: by 2002:a05:622a:44:b0:4a6:fa1f:46a5 with SMTP id d75a77b69052e-4a73b69e837mr6261261cf.2.1749831888182; Fri, 13 Jun 2025 09:24:48 -0700 (PDT) Received: from x1.local ([85.131.185.92]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a72a4cf7desm18773181cf.53.2025.06.13.09.24.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 09:24:47 -0700 (PDT) Date: Fri, 13 Jun 2025 12:24:43 -0400 From: Peter Xu To: Zi Yan Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org, Andrew Morton , Alex Williamson , Jason Gunthorpe , Alex Mastro , David Hildenbrand , Nico Pache , Huacai Chen , Thomas Bogendoerfer , Muchun Song , Oscar Salvador , loongarch@lists.linux.dev, linux-mips@vger.kernel.org Subject: Re: [PATCH 2/5] mm/hugetlb: Remove prepare_hugepage_range() Message-ID: References: <20250613134111.469884-1-peterx@redhat.com> <20250613134111.469884-3-peterx@redhat.com> <050B65EF-6A1E-44A8-87D5-152FA9A60641@nvidia.com> MIME-Version: 1.0 In-Reply-To: <050B65EF-6A1E-44A8-87D5-152FA9A60641@nvidia.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: wjwd2HCaye2wuOyXaxg85i0MZAm0CpX_RVdlWDfyaLw_1749831888 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: E0324140010 X-Stat-Signature: mukc4ewc4eegnspfacx8aprakfjzoxap X-Rspam-User: X-HE-Tag: 1749831890-357070 X-HE-Meta: U2FsdGVkX1+u0s0mitYKuDDKlWNaydbh1jiizYOMtD5MNNyxV8YY6WK7tYXtaJTY8qAjiTVtDinI2UbH9W4qq0BEYTtWljHLl7sv+DwLuarTkNrAkjPbdTS3e8Q7T19fMA3+GCrJoaV5PTXZiPQ5yP/I4AiLILJf5wx/YdzYpp/hguAoyz1jcW+hZmJlQVWTnn1jZ8e1XhyR3JOzzyoGmw6h/sHp3d2g3JVRsplIopQ+VemEGQ6GSdNwF/+A/OVO7yrIUioUlbZ7vUGu8O/aBi6Z2pTgQpfGAli2vK5VYDoVFnUHtyI/LpTVTQFuDLWwXiAq+zgpQ7B0yw0lK7zwxqZTFH/Ej7vTwoKCOJS6FPkOOZ8xXjWoA83qQDenvAsNpPAdbGwWxVOJGUbt6fXdh9+giWMWs0j671GVr+oWfdg7mIny0GSeK3oGZP3swsUpuhRUYvlL1gCY0/VwH9pulMjc549dPxQQ2OiobkTiEXCnR3NvG9K/WtrXtS8AMFiix9AbUTzMFy+MDQtlDcqV07xS2niiDBqqslf9XstMuhW/xMO/BABwYjKjxAlji6rBPtegYEDPvynkUoZz+niZ6PtcQ6a0vZLSAy322qWdIwxWtOvXqHLtU+OYIKUscMjtknRKp+IZgbfAeJv4ELhCrG/79nh+i6p8vpv5u5N/NhepNXhSOj+vbaCR+qc60YTpYVu9efwYXtK8Lb2oTneJTDxPhPEX0lwwj1DYcF1SUc2J9Xf/695Q4oZCv16cbBA0mEx7MVjYAIOB0CSuITdny0nmigiFoWAFJvdbmyODLzdAr9PhtPSd556QguNv1LzAENxAotV59CzJ27HDsFNCkZSZY8F5mN6CEC6BUYbPyJeDiq3CYA7uBe2oSDpbR5ChMxf3fU0qg/ktp+0E1goiNE9oXomsLGXfBykouMMSjWJmvPIrxzb118enj4Uh83uE27evDNSrzYgyXIda/zS hM45L+eo +wIWCpczdHkyLE5m89ChuNg46xAza7+kyQzoYaqZArBaAZkvlVY5WIsGNUbMAtUmaTGKq5hOfIbDKaLSzZ+Bz38LIrNQvJRy9wTDl1tvU+ttXVAOPyfncqhs6ZDOFn2HJ4o8NnU9y8hHGKluHA3rUMF3H7D66azNT5JdSfFzo4e43aBWzZipHPQqOE5kF1SaDi8XWNokT0rBZcVMiQ88bnQP5sAcWxF3T15CGrgicdaa4N4hlp7wLrNcZseRbMcUa7+RVbDhgH5tWqnkEaOphd0TTNJ68P03Lfpx3JTdTn+e2Ct0slz2g/lhGspjIk8r7NRhNtU0/dWqc5nFp5v1kSYl1HFzNYvw2Ouv1lv6TfQTXuChKmKyuMmyzboHvpi07vfh0ZRs2oWvr+rsd4Q3F59SpOMWi+a8Bf1dIoJGf7KktpdoL9WSON5j0RA== 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 Fri, Jun 13, 2025 at 11:13:50AM -0400, Zi Yan wrote: > On 13 Jun 2025, at 9:41, Peter Xu wrote: > > > Only mips and loongarch implemented this API, however what it does was > > checking against stack overflow for either len or addr. That's already > > done in arch's arch_get_unmapped_area*() functions, hence not needed. > > > > It means the whole API is pretty much obsolete at least now, remove it > > completely. > > > > Cc: Huacai Chen > > Cc: Thomas Bogendoerfer > > Cc: Muchun Song > > Cc: Oscar Salvador > > Cc: loongarch@lists.linux.dev > > Cc: linux-mips@vger.kernel.org > > Signed-off-by: Peter Xu > > --- > > arch/loongarch/include/asm/hugetlb.h | 14 -------------- > > arch/mips/include/asm/hugetlb.h | 14 -------------- > > fs/hugetlbfs/inode.c | 8 ++------ > > include/asm-generic/hugetlb.h | 8 -------- > > include/linux/hugetlb.h | 6 ------ > > 5 files changed, 2 insertions(+), 48 deletions(-) > > > > diff --git a/arch/loongarch/include/asm/hugetlb.h b/arch/loongarch/include/asm/hugetlb.h > > index 4dc4b3e04225..ab68b594f889 100644 > > --- a/arch/loongarch/include/asm/hugetlb.h > > +++ b/arch/loongarch/include/asm/hugetlb.h > > @@ -10,20 +10,6 @@ > > > > uint64_t pmd_to_entrylo(unsigned long pmd_val); > > > > -#define __HAVE_ARCH_PREPARE_HUGEPAGE_RANGE > > -static inline int prepare_hugepage_range(struct file *file, > > - unsigned long addr, > > - unsigned long len) > > -{ > > - unsigned long task_size = STACK_TOP; > > - > > - if (len > task_size) > > - return -ENOMEM; > > - if (task_size - len < addr) > > - return -EINVAL; > > - return 0; > > -} > > - > > #define __HAVE_ARCH_HUGE_PTE_CLEAR > > static inline void huge_pte_clear(struct mm_struct *mm, unsigned long addr, > > pte_t *ptep, unsigned long sz) > > diff --git a/arch/mips/include/asm/hugetlb.h b/arch/mips/include/asm/hugetlb.h > > index fbc71ddcf0f6..8c460ce01ffe 100644 > > --- a/arch/mips/include/asm/hugetlb.h > > +++ b/arch/mips/include/asm/hugetlb.h > > @@ -11,20 +11,6 @@ > > > > #include > > > > -#define __HAVE_ARCH_PREPARE_HUGEPAGE_RANGE > > -static inline int prepare_hugepage_range(struct file *file, > > - unsigned long addr, > > - unsigned long len) > > -{ > > - unsigned long task_size = STACK_TOP; > > - > > - if (len > task_size) > > - return -ENOMEM; > > arch_get_unmapped_area_topdown() has this check. > > > - if (task_size - len < addr) > > - return -EINVAL; > > For this one, arch_get_unmapped_area_topdown() instead will try to > provide a different addr if the check fails. > > So this patch changes the original code behavior, right? It almost shouldn't change. Note that prepare_hugepage_range() is only used for MAP_FIXED before this patch: hugetlb_get_unmapped_area(): if (flags & MAP_FIXED) { if (addr & ~huge_page_mask(h)) return -EINVAL; if (prepare_hugepage_range(file, addr, len)) return -EINVAL; } Then for MAP_FIXED, on MIPS: arch_get_unmapped_area_common(): ... if (flags & MAP_FIXED) { /* Even MAP_FIXED mappings must reside within TASK_SIZE */ if (TASK_SIZE - len < addr) return -EINVAL; ... } But if we want to be super accurate, it's indeed different, in that the old hugetlb code was checking stack top with STACK_TOP, which is mips_stack_top() for MIPS: it's a value that might be slightly less than TASK_SIZE.. So strictly speaking, there's indeed a trivial difference on the oddity of defining stack top, but my guess is nothing will be affected. I can add some explanation into the commit message in that case. Thanks, -- Peter Xu