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 BBD9AC47077 for ; Tue, 16 Jan 2024 11:53:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2772D6B007B; Tue, 16 Jan 2024 06:53:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 227066B007D; Tue, 16 Jan 2024 06:53:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C8186B007E; Tue, 16 Jan 2024 06:53:13 -0500 (EST) 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 EA6C76B007B for ; Tue, 16 Jan 2024 06:53:12 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BF45CA1F15 for ; Tue, 16 Jan 2024 11:53:12 +0000 (UTC) X-FDA: 81685013424.07.3901433 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by imf13.hostedemail.com (Postfix) with ESMTP id CDD1820007 for ; Tue, 16 Jan 2024 11:53:10 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of jirislaby@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=jirislaby@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705405990; a=rsa-sha256; cv=none; b=TqJHNSllaIyZ7UQft749MiIXAKG3nTwQIEtMKW4d1BmWfEE2KCskBO3SKCWre6NjookksU wQNrKYFwAIAyjHjeagThHncNaAjlsPKAGwvGvb0/hTQj5wpp8VAHg7s3oGXBhcjfxrpRdU NKvjk2bn2uWwk7wHrYygDOdAAMe6CIA= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of jirislaby@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=jirislaby@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705405990; 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; bh=DfZGs9layKIX9fwbjXHkjF4XGGcTxC9dx97HshOMXdc=; b=Qsd8QuJOSlN/yOzgiPSHAYQrP5oW+s8l1FYVWonBHUP1NW3dG1RlS0sGgAt8PtqHZcAah4 pKP7sIXjHYp9AEsehWEYlz9OInYn1N26cq1n5c+4/SuuVY5mvQ/5y4dHExNHOqYl06I+Ss VaJxoCPNa9mvl1t7cWoN3+Z/MSmWvpM= Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-3373bc6d625so8289190f8f.3 for ; Tue, 16 Jan 2024 03:53:10 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705405989; x=1706010789; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=DfZGs9layKIX9fwbjXHkjF4XGGcTxC9dx97HshOMXdc=; b=pWl77wokmesOZEOngpnqnbS2M/lu2Vll5/rvAwM4o707/07P9ibUcx39Wid0PdjS6M Vo6yOGL/aXbiqjxI4imVERAekh1XL9atUQQCF/N8E8EyimFxKoW4Ijc7xuyzcfz5sPia vzbsdJ/15Jn//RZhulQjqTEunvTZVF+Q5iFHGMTkWG7oyXkzI4e1Qlqxvhvh71tqv1SY GmzJM80x9I+msUbSbrcAKJkpLqbg+o4NBdHzZd6GENcOpeaZ20RdVH9LzeNbZV8142gi 87rVeX9Y2madcMVhhy/lgR9sjIP2Arp6ggT2xj2MLucXOXbG6vFaBRyIvUl16Vxr9NFd Sl9A== X-Gm-Message-State: AOJu0YzwC3Yz1XZf5N3mL5YjvSEA2hL4GOCOtf+4HcACWC5PpxdyvAJc rqDOw4T1R+8jR7Q5ktY3gY4= X-Google-Smtp-Source: AGHT+IGNcZVKJEAFWeJad2acy/pdnNubIlKA4fuuNk/qjLyZYa+6smDv3tPnJx9gi3LnkHkUE4eo1Q== X-Received: by 2002:a05:600c:4ecc:b0:40e:500c:23d8 with SMTP id g12-20020a05600c4ecc00b0040e500c23d8mr3608197wmq.151.1705405989091; Tue, 16 Jan 2024 03:53:09 -0800 (PST) Received: from ?IPV6:2a0b:e7c0:0:107::aaaa:59? ([2a0b:e7c0:0:107::aaaa:59]) by smtp.gmail.com with ESMTPSA id p31-20020a05600c1d9f00b0040e6ea6d2d0sm3260112wms.24.2024.01.16.03.53.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Jan 2024 03:53:08 -0800 (PST) Message-ID: Date: Tue, 16 Jan 2024 12:53:06 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] mm: align larger anonymous mappings on THP boundaries Content-Language: en-US To: Rik van Riel , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@fb.com, Matthew Wilcox , Yang Shi , Christoph Lameter References: <20220809142457.4751229f@imladris.surriel.com> From: Jiri Slaby Autocrypt: addr=jirislaby@kernel.org; keydata= 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 In-Reply-To: <20220809142457.4751229f@imladris.surriel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CDD1820007 X-Stat-Signature: adxhq8xwxrsz5d69ogep69ac97sy7qdw X-HE-Tag: 1705405990-272675 X-HE-Meta: U2FsdGVkX1/cp9Z81rqoFn+PJJqIlJBN/pw2nI/49m6qUkS3aiva5Syct6QuE7i8FyVXne80HUmS+B1LncvQ8huhlxMdi2a+xpM3SKylCUv5DeSWyx/+VGcKYrQTAMLviZcufVuAeVOtrlwR4CPv5xNGa3TwCXqpyPj9qqDZMw8Np714r6o4oiy7TcAUatquDUtTN7k/cNi1rcvfM3i9tToEp5I5J1MLfMBYW7fm/Qm6CfUrgtzZqs5B7ZSSorhah2omznrtsBzL8ibfWRagmZ6jNBzGzapanxWOUxm88V0eSX2lAmUtgDVjQpVQfwld3YkMUvRMYTWG2Li4vfEP48DputlT/7YkWVwdZIzAtxoNXFZFRK32EgSlyGNZOnM4+uzTkuToMlENFjPx2VxGIc4JwX6dPT+oPUx66VtgtYq8FlPeA5rUTj+MPO5S/LwACBiQ0PWMkc2pZm2IgL5YP9iSS3NXQxolB8ZDl3y7vnQDzFUioSD5Q7zc/at4ySrEQjPsKowF5gMz0FUdLeCNAOIMx8PHjoUFH4PYjKQehKNySKyuekstEINpBOHX95Fg8o8FYFmiTJpKeWr/ZXJyGVMqRWw8vMeE+jYN/blsr+BD1r8+MpxSoLvgFzjWEetjWXZlemkprq1yil/VC1qV5KKth4YTmlSvDC+oCaLgAAAEgdpafGIzlDXwRh3dIsNowdK8ilqPfBqALwv7g/IX6DaEU0OUHe0b382/eYvV1XrQwQz9Sr1Hk+ON/GzlqnwgP2Q7p6Rw2htyrJxi/34dVjsGDBu4xry8TN21NagTBdXmlaZ8vX4bUy9jPZnTF50SnWY5lzclkS8PErXjcfB/icytd8Wvzo+9vrNk93zBTuFkZ0dGckd0rDrRdPZch7e3ZwjygJmwJjA5nbuMcLQa8392CCGR8JVHZUFKDfTQugTfMpkKCDgy4Ea9+Wx3ZXuO75FNm1LQMbub9VgEjlg gr2196N9 bIyrn5Xwv59PDH1SY+hXEJDvwj3uOrXuAb+9qQxKR85sDvgcPnheQGR7rZzWmKLuZ53IK2rgRXIs16NkM3vgT7da11IY9siLPA05R9/YYsnsHSXDxt0VrycQT8xxJwU7eUy2RXnaJe/rVTjnh1g2zRypfB+F/wZVLuvb4EZYtU7PDbjUnXNQptFX6G32eX01mq9RXQPdzfjSHabzEn+Bh8oWsTyM8xKc6l76G9+gPYS3TLkjb8V0JpZ3lEGzftbu1GbwWOe0J3lLwszbQ4n8Js0qKPlihhQGufzXKIT4w8ZVefFEaYF3rzV/Kngqp+h6G8tIAx2g4Wa0lcC092IXq2O+1QVxo8KFVBsbgPwqpdz7lSNjlZdOdm0i56s/tw9ycRg1SX8mNxZ1zOGOGcytUJL7Qx9pEqLm1nRYwNAQFDEid1icD9cTjQhBjj5I828aM6mMLL/WtkZypeV1gE0oJlZHu0NQ07L+l8QVumbzkHWcTeLbsOH16GAOfluMOmV9qPYTA33fIbFljBF5SKfXRqYAH4f5FTx8zvIWWfmaaKYYg7zKvaW1euNQhgviX2r9mJcTnyU80iMKKKMupCfOwhjOi2Tz/Uc/umozT2jRqySv68VvjX/5kCnZjpUxvy0YKdM7J5X+VcsqupYbOjxUNoYiv+kInmR0jrB9oFrp5+QeQBn9g9uksyzmzzqP+4aWCZ2jC 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: Hi, On 09. 08. 22, 20:24, Rik van Riel wrote: > Align larger anonymous memory mappings on THP boundaries by > going through thp_get_unmapped_area if THPs are enabled for > the current process. > > With this patch, larger anonymous mappings are now THP aligned. > When a malloc library allocates a 2MB or larger arena, that > arena can now be mapped with THPs right from the start, which > can result in better TLB hit rates and execution time. This appears to break 32bit processes on x86_64 (at least). In particular, 32bit kernel or firefox builds in our build system. Reverting this on top of 6.7 makes it work again. Downstream report: https://bugzilla.suse.com/show_bug.cgi?id=1218841 So running: pahole -J --btf_gen_floats -j --lang_exclude=rust --skip_encoding_btf_inconsistent_proto --btf_gen_optimized .tmp_vmlinux.btf crashes or errors out with some random errors: [182671] STRUCT idr's field 'idr_next' offset=128 bit_size=0 type=181346 Error emitting field strace shows mmap() fails with ENOMEM right before the errors: 1223 mmap2(NULL, 5783552, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 ... 1223 <... mmap2 resumed>) = -1 ENOMEM (Cannot allocate memory) Note the .tmp_vmlinux.btf above can be arbitrary, but likely large enough. For reference, one is available at: https://decibel.fi.muni.cz/~xslaby/n/btf Any ideas? > Signed-off-by: Rik van Riel > --- > v2: avoid the chicken & egg issue with MMF_VM_HUGEPAGE (Yang Shi) > > mm/mmap.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/mmap.c b/mm/mmap.c > index c035020d0c89..1d859893436d 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -2229,6 +2229,9 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, > */ > pgoff = 0; > get_area = shmem_get_unmapped_area; > + } else if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) { > + /* Ensures that larger anonymous mappings are THP aligned. */ > + get_area = thp_get_unmapped_area; > } > > addr = get_area(file, addr, len, pgoff, flags); thanks, -- js suse labs