From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 52AC614A91 for ; Sat, 7 Feb 2026 20:16:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770495388; cv=none; b=bM334YS6z664k1+3wszA38u+mI9K81ruQb3R1N9sbyZXQkmMpClW13YZkiyRpVAcXE4maM57L8wmfyRORUjHqHWH+cTHvJFbRuJmgs8/s/awmIF0GgMvoiv+QzLcb+S+uaOsBvKfxJS2tv5aWEXRGultu4wcLCmkRFnksRQGtc4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770495388; c=relaxed/simple; bh=1f6G4v+4U4f6IIr3zzk56Nlc0wxLZuYQLXFP9N6lfd0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ZcQV42IZOkdSjBxdsK/H2c9JjXk3eTQ1iYlXGHxIVcLFFcnH9ew2uNt/i1yy7CuZa2wNBc0lH18ZVB/se8RmlGLHMGEWQ7whebh6jV0bv9mLSRe6j2sdtGEgvCvCIkF0ZCBvOYRs/hciSFVaD/1U9PzkovSHZlFmcry23h/tDX8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=TODJM6SA; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TODJM6SA" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4801d7c72a5so15324335e9.0 for ; Sat, 07 Feb 2026 12:16:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770495387; x=1771100187; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=0tgEE4qPRK7pF2tP48CJlGhSYjJKIgdfs2GqYMm8p6Y=; b=TODJM6SA02GlJ6o7sUqQgWh1gDqH0d6tXvFz0m6rPqu3AgMR7ikQJuwf38yDOq28dk op2VYlQMT0bzhJRS/mTpYXBvjPQ+27Zx6MlXPZAHvjeNIaZAGkyix02IPnbFL8bFNGLr RKV6E/wAQJjbamWGd9j/0zw9/SVkMcYyeA+Ymy8pMnUTs+aRGtl0+3nOTX923v17IkGM Ygbpuv0dTR71X0H5Mz6qnPRSidjRNayaZGfQlr0yJbPzbgQcm5XXwSLr2bn3RK2xIP6N NbDeRPaod0PkqcAJ4DcOpYR1SGca27OPRNovORPEvPFnCc7YH8HQkmlXijmbqdBoU6oF NACQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770495387; x=1771100187; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0tgEE4qPRK7pF2tP48CJlGhSYjJKIgdfs2GqYMm8p6Y=; b=ukbeNLyXx7dYWC6XR7oj68hMtYp/DQ7fggwDTBdFTuyVb6IQVJ98ehENhHBwBbLE9R yjeLG4XWSc7231qibsByjjiettsWjUS5NvQ5nEiQmKy3/x1H0BQGffI4gyOe8KC9Q4lW 2qrq0UDtPr2C3o5xFc+momhBP3kOzqIm6AjkHJ4yskxCZX51LliICJ233DODRmVvxGuv PM/iFMf6xQcjyK2DcUum30LHtZlfCmDqvm/6P028nS2PqBwb9g/GA2wHpQDKAFMiDHg1 6ACobNJDQAhV1KvLGy8MYyQ85aNlsibvI+0L2bUjdgPtCKFvc5hLKZuMhRQHdJA4jqfT ta+A== X-Forwarded-Encrypted: i=1; AJvYcCWCIqyRnD8lmlDNpnkR9IHDse1DU/2UzMywo/86UsFX9pNK6OZrT6cyMgujVndqlnXA/lsK1rtoBdJDiGM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2/PE8OHDY4QaZCtUGYAG56C6M33XeyzLREweExG/uHupOwVHp f6+0xVeIXPwkaTTn5sSYI6tRNmZ0+JgrfdIQSOXFWpsaaFRwbNmMN0f6 X-Gm-Gg: AZuq6aK9c4GHfBXFdLjD7NbdhhaoJAQSDyVcdlvyqpmzts5Tu1ESber7Sy8oF4hnff8 pFEhSncIms/s3Wig12MGObKKSFqlLDTg82eQ7bvHU/kyqwXLlbqA15phBtMMUPMgL+SzQN66wS9 1F+NTWvf4wvmqVLCX9rN6Q2AcZNfBENxN8rmPU4BkYW2WYZhlX1a8NFytFGPsaTFs1dqe2PUh1q kYY3JopI5rJzoauENajjEtvbWGbZ8As5I1e5HS84/LJcNzE4KRRviore0rLKmZRrXYbeWpTxXdC 1ioYWAKlHO8BQFXGpLdHlnMhFRoGPsmIcgNPKz+N4sMG6KvJgHWMIRXFs+fj7bakwu4jzKxNqmh am9m9WqOdoJq041nVU5nnY7Io4svUYeR15mKSm3WY6WU+Vrwi4LWDwMBvPSyM7UnzSvP+/1CZKb l0/gfuXVn3Wo+b/rDuvxYfscy3lCYXwMjC+ZNsBk+4MVWoQLOSI5p37py53Omv1EsrJfRCFxVNl PSIS349Yp+vTAE= X-Received: by 2002:a05:600c:3e12:b0:476:d494:41d2 with SMTP id 5b1f17b1804b1-4832021d67dmr86909015e9.29.1770495386585; Sat, 07 Feb 2026 12:16:26 -0800 (PST) Received: from ?IPV6:2a02:6b6f:e752:9400:18cf:c773:ee86:c436? ([2a02:6b6f:e752:9400:18cf:c773:ee86:c436]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48320719b8fsm144010445e9.9.2026.02.07.12.16.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Feb 2026 12:16:25 -0800 (PST) Message-ID: <907ff793-9b02-4a22-a85e-2873246f6402@gmail.com> Date: Sat, 7 Feb 2026 20:16:25 +0000 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCHv6 11/17] mm/hugetlb: Remove fake head pages Content-Language: en-GB To: Kiryl Shutsemau , Andrew Morton , Muchun Song , David Hildenbrand , Matthew Wilcox , Frank van der Linden Cc: Oscar Salvador , Mike Rapoport , Vlastimil Babka , Lorenzo Stoakes , Zi Yan , Baoquan He , Michal Hocko , Johannes Weiner , Jonathan Corbet , Huacai Chen , WANG Xuerui , Palmer Dabbelt , Paul Walmsley , Albert Ou , Alexandre Ghiti , kernel-team@meta.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org References: <20260202155634.650837-1-kas@kernel.org> <20260202155634.650837-12-kas@kernel.org> From: Usama Arif In-Reply-To: <20260202155634.650837-12-kas@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit > + > int __meminit vmemmap_populate_hvo(unsigned long addr, unsigned long end, > int node, unsigned long headsize) > { > + unsigned long maddr, len, tail_pfn; > + unsigned int order; > pte_t *pte; > - unsigned long maddr; > + > + len = end - addr; > + order = ilog2(len * sizeof(struct page) / PAGE_SIZE); This doesnt work for ARM. For len = 32 (2MB contiguous-PTE hugetlb on arm64): ilog2(32 * 64 / 65536) = ilog2(2048 / 65536) = ilog2(0) which is undefined. Is order = ilog2(len / sizeof(struct page)) better? > + tail_pfn = vmemmap_get_tail(order, node); > + if (!tail_pfn) > + return -ENOMEM; > > for (maddr = addr; maddr < addr + headsize; maddr += PAGE_SIZE) { > pte = vmemmap_populate_address(maddr, node, NULL, -1, 0); > @@ -398,8 +426,7 @@ int __meminit vmemmap_populate_hvo(unsigned long addr, unsigned long end, > /* > * Reuse the last page struct page mapped above for the rest. > */ > - return vmemmap_populate_range(maddr, end, node, NULL, > - pte_pfn(ptep_get(pte)), 0); > + return vmemmap_populate_range(maddr, end, node, NULL, tail_pfn, 0); > } > > void __weak __meminit vmemmap_set_pmd(pmd_t *pmd, void *p, int node,