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 1A036EE49A0 for ; Mon, 21 Aug 2023 21:20:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5F650280003; Mon, 21 Aug 2023 17:20:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 57F4B8E0012; Mon, 21 Aug 2023 17:20:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 41FFA280003; Mon, 21 Aug 2023 17:20:22 -0400 (EDT) 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 2F2428E0012 for ; Mon, 21 Aug 2023 17:20:22 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id DED4380148 for ; Mon, 21 Aug 2023 21:20:21 +0000 (UTC) X-FDA: 81149380242.14.511C51B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf15.hostedemail.com (Postfix) with ESMTP id 055E6A0024 for ; Mon, 21 Aug 2023 21:20:19 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=S7rTz6dM; dmarc=none; spf=none (imf15.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692652820; 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=8BJjq8yqjmYPh088JAz6CoqKb0s6P0XC+U3v2FmIQUM=; b=dQMcYOE1ggzKESaiSvNV0+ydNgkqQ8gDTJajWhfrzZ+bzMNOMvkB1QAMUV5s6OOFqKVgwT dNtF/wu5erBl3j573mDJ5FERr7+O+JFvqsYNksmdjrKOHamA0v0tnhtzWwh7FJHBOwL843 wFeyxtjLSCruOzzZJSJXgZejgY1SbPM= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=S7rTz6dM; dmarc=none; spf=none (imf15.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692652820; a=rsa-sha256; cv=none; b=va/wsUioyMIvoK1drA5/rmehYBRcYHlw+IPucXAP8zv9klnn3E6JgVSHPjXJnhh20+BN14 zMlHQl3OPOUt0xmY6PQXlnqt52UTReKwL1ON8rr18p6NBOTSKueZB5BYVW2a8q63DB8HoO IrjqOGQOckAKuZyE2XlaqtzFhY2edFE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=8BJjq8yqjmYPh088JAz6CoqKb0s6P0XC+U3v2FmIQUM=; b=S7rTz6dMNO1H63gjtAgM5BoygG irkuXiFIiP7wp0Cqo/QBe4dcmleKk75XWho+Ikva/hs3R6UzKlsgzguypxtx53pdUhTwDZcj8LQxY evMncg2jZ0529F8KyR9fW5p0qtOvhDcXx5XwDebj2r86/RvzObXJPmyJsg8KGPgaVmryjzgqmwdAZ +BAZZIq/6IXQ8KysJ/l6TObss5kUi7nm0yUdHWXhCtsoLOQZEd60xnXgYFyC5ekvkjp5aLsfhmhkJ oIB0rnBJdWePwag7CPqBOrK/YzL2X9md9UOzJJ4uLg4fxiIJFmLMCGM6rEAPphRdujR1XK4+SLWbH zL2gBkEA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qYCJj-00CTCh-B6; Mon, 21 Aug 2023 21:20:07 +0000 Date: Mon, 21 Aug 2023 22:20:07 +0100 From: Matthew Wilcox To: Mateusz Guzik Cc: linux-kernel@vger.kernel.org, dennis@kernel.org, tj@kernel.org, cl@linux.com, akpm@linux-foundation.org, shakeelb@google.com, linux-mm@kvack.org Subject: Re: [PATCH 2/2] fork: group allocation of per-cpu counters for mm struct Message-ID: References: <20230821202829.2163744-1-mjguzik@gmail.com> <20230821202829.2163744-3-mjguzik@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230821202829.2163744-3-mjguzik@gmail.com> X-Rspamd-Queue-Id: 055E6A0024 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: pb4ddfbs4uagwqns6wm8dz68xg7bk75u X-HE-Tag: 1692652819-579426 X-HE-Meta: U2FsdGVkX18XyOZnLLWq07aDI1/El4FR//j6cK2Ivg8pM6qyRoU50+20BF4ctqf4yMDPCUABkk1VUh58Ii3fv7Ij866yLoMoDJAUQ9iyPTIcQ4qUOM2vxpEEU/6cugVa5vs1KHjEJqDpNe8jJOnDO7qOM0g7eJT4ilx9u3n8S1G1F3EcT2hOp5KvT0Gv5hDvDW54MQDVR445pMOU5ffIOCHA2/r2tKwkozQySBWMc+QFE/zeV6WPhbxbBR+NEW7IZe7ZVbrLKNtxZcGN6KXEPKRm5EMPlB56/jB/kXA5+uQtFVu2jxPPCW83wEqU+E6JHhjCtNouJ5XETHxXXbGHgxAYjEzn/2qOjZDIb+NttCW9Y2E+7vessM5uJ+VbDgg3LGAoIYufkAcspj/ekmXWcLodtPA3oZ/iCZgjmChO9nzkYR8WidHOqW7AkiSD3ck6dmAwEJntHzNeuc1HwVDiP7ss4JzPUfDToDV62KK1s3ajie+KEss8H8B9X2Yi9EuHMFk/4CjNm3Ah9mJBS7RwTgqRuaXBFTwi22HIigjWcYZKUiabanXCb5r4DMH4ThfvQAV8ap/Ke35PLWydOAKOXkv2hBG8qccLNxGV+BRCEtR/VCCA57fWUKaG0tPsZC59xZi+qXboCN3NwSwtdluR5d4pMGXOjVfPWdV9pMK/YhFHNp14f7r8NqTc6t4Oa02VGpQ/tLwV+Q5ADi+hs9rVoOjx4q+KwR4b5LDQnW43wjT1s24rp7E3t4elltbCMP0hpG/yt1uxFWuvZP8BrSGmREHDPVqnRQNYNXO5rMI/i9BwaJPZZRZUjyxzUvgWpklJIWF19ENPKqe6iru0y4QbXt+M8fzulcUmiy2E6vlgM1xrvVsb7HMs7DT3860soH8o5MVwNJ5NTu4gjomhIpLb8A2NQ27xRxqwzLtHMC7iduRMRqyGRCokwAtXa+E+JVvYpl3fzpPpFTPx97xFv1k 9URWuuz5 deCeBEs7pCqEA6Pc0IlgEtpgyNkTYxhSk72IHXA1CmM91QuzQOVeD6uUUqfuRX1fIJi/VLRrlU2JDYRLqIJU5NZmHO0bn4C/n1Q4xdk1IC71IC7FAfDKUqB14royW9BpSksH7Sek229YnVUw= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000012, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Aug 21, 2023 at 10:28:29PM +0200, Mateusz Guzik wrote: > While with the patch these allocations remain a significant problem, > the primary bottleneck shifts to: > > __pv_queued_spin_lock_slowpath+1 > _raw_spin_lock_irqsave+57 > folio_lruvec_lock_irqsave+91 > release_pages+590 > tlb_batch_pages_flush+61 > tlb_finish_mmu+101 > exit_mmap+327 > __mmput+61 > begin_new_exec+1245 > load_elf_binary+712 > bprm_execve+644 > do_execveat_common.isra.0+429 > __x64_sys_execve+50 Looking at this more closely, I don't think the patches I sent are going to help much. I'd say the primary problem you have is that you're trying to free _a lot_ of pages at once on all CPUs. Since it's the exit_mmap() path, these are going to be the anonymous pages allocated to this task (not the file pages it has mmaped). The large anonymous folios work may help you out here by decreasing the number of folios we have to manage, and thus the length of time the LRU lock has to be held for. It's not an immediate solution, but I think it'll do the job once it lands.