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 63AC2CD6E52 for ; Wed, 11 Oct 2023 09:17:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C167B6B028D; Wed, 11 Oct 2023 05:17:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BA0FA6B028E; Wed, 11 Oct 2023 05:17:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A3F876B0290; Wed, 11 Oct 2023 05:17:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 8EA226B028D for ; Wed, 11 Oct 2023 05:17:33 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5D30FB4B2B for ; Wed, 11 Oct 2023 09:17:33 +0000 (UTC) X-FDA: 81332627586.23.4C092C7 Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) by imf21.hostedemail.com (Postfix) with ESMTP id AE5C51C0013 for ; Wed, 11 Oct 2023 09:17:31 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=tedoUBXg; spf=pass (imf21.hostedemail.com: domain of matteorizzo@google.com designates 209.85.219.43 as permitted sender) smtp.mailfrom=matteorizzo@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697015851; 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=Y0ui4FIOXF4erofK3EEiBiXcu0Hxm1HMmxaKkqRWWBw=; b=XeuGCwQPkcchGj44NmGwokE2QAywnaYLL/WvHvP8K941LcOhYnlGeoKoDVC++EAKo4dnfm PH7f5DVGCL12txOSGE3qCs1iC8CVS5kFNLaIUEWOS6rgC1zhG3OAes2OU3gz4U5+gZcAsm eiZpykYNGOhnpnyVtsxtq4O5fDB9ggQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697015851; a=rsa-sha256; cv=none; b=wJRHyYpVP9ifriIqurC0tYabAG447kXi69I+H0g82RHliQwTshOG9AzUpklZT3sfjoZ6JA bd/OLCjwVeylgAGkxbfSFSbSeqyBBhZ9SHfKC0crsk425cFzuSL4Rfl2sOZoRS1biKXCge qkqcFNsXbLuCsk4ET84VNzotMGf6Kso= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=tedoUBXg; spf=pass (imf21.hostedemail.com: domain of matteorizzo@google.com designates 209.85.219.43 as permitted sender) smtp.mailfrom=matteorizzo@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-66b024d26e2so6588356d6.0 for ; Wed, 11 Oct 2023 02:17:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1697015851; x=1697620651; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Y0ui4FIOXF4erofK3EEiBiXcu0Hxm1HMmxaKkqRWWBw=; b=tedoUBXgJk73mq2LvXtDQW6QvkshtxoWPEMCE307SPxBwc+ldkRPui2zAuRaN07ItD ScRntqZ0c5Lx3C4rWlSIyCFLv+kcDNGC5sF5TRkzZb6wUbeuIl0BTUh4ucrXBvbFtPvL JGVZ5BKiA4NgUOjP1jdJHgz+mxE11+TfANeBj9K0Zi9rl6skmxx725kA5ENpIec/sXmq aUjaKGCo0iNJbcLmXOmP1Nbv1Yj98ouDMrSNTfNtvYTOUyssOEj0WQG8vU7Lytr/QR7O a9EwO1mkF83gJ+SBhh7HdKS5EauSu+bU8TBXZtLiqKrY7wtAyR7EPI4xYfQAbevjhZ7K HYYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697015851; x=1697620651; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Y0ui4FIOXF4erofK3EEiBiXcu0Hxm1HMmxaKkqRWWBw=; b=lCY7N36m9y3Uvu6CQsTNdjVm5wpsS7v+jXqdewzS9YEhFhVHFmQG4ppmHl3zJuGBUW sxtWo0WLOqS8KnvaD7QaGvxxcXdwLRExdmc8bVPZCwkm5a2d3pfzmByTbRE7eMRwzpy6 uDN/b6vkOekLSv9jNhP1rmhV8zBhk7g89gvycOTCO0ifvibLzbr50lWPs++r99jZPO2f i+Ciz20slMtb6AbZete8GIshUCkM856SMlIp1L0A+Hq8YE9Pl7vodRbkVwk91CmcUemh DnI+zpRrSh50z/2kis1eoPzEngjEPzZTM1jqY3t26EtkPBFZ5T7bYzgSuWxaq53Va0N7 LfAw== X-Gm-Message-State: AOJu0YxIfwkUoxDxfNOIJrB+9CsTT2tEuJVDe0iKdKiQRSbmZylfuJMC J4+oHKjJ+Ijon2pFgFdm6WZh1ubpcTMzLSvKTbSl9A== X-Google-Smtp-Source: AGHT+IG+rPyyOblyJSoglo8ncjt3dp7Z3DIXVrqQ4vGB7pn+rmpGmyxgol88V0zb3M685htN9UAVO3vWeH+qrZJ4lK4= X-Received: by 2002:a0c:cc02:0:b0:65b:2738:9bb4 with SMTP id r2-20020a0ccc02000000b0065b27389bb4mr26931856qvk.23.1697015850728; Wed, 11 Oct 2023 02:17:30 -0700 (PDT) MIME-Version: 1.0 References: <20230915105933.495735-1-matteorizzo@google.com> <20230915105933.495735-12-matteorizzo@google.com> <386c175e-bd10-2d5d-6051-4065f6f9b84a@intel.com> In-Reply-To: <386c175e-bd10-2d5d-6051-4065f6f9b84a@intel.com> From: Matteo Rizzo Date: Wed, 11 Oct 2023 11:17:18 +0200 Message-ID: Subject: Re: [RFC PATCH 11/14] mm/slub: allocate slabs from virtual memory To: Dave Hansen Cc: cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, vbabka@suse.cz, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com, keescook@chromium.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-hardening@vger.kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, corbet@lwn.net, luto@kernel.org, peterz@infradead.org, jannh@google.com, evn@google.com, poprdi@google.com, jordyzomer@google.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: AE5C51C0013 X-Rspam-User: X-Stat-Signature: tr5qc14nopisnqkqi3wbuy9hcrzukcr5 X-Rspamd-Server: rspam03 X-HE-Tag: 1697015851-644698 X-HE-Meta: U2FsdGVkX1+YWINwNj8JKQqDnzjlG5VErAeeu3honLHwVXyUAucRcGK/ZSUnFMTw/Wr6hnQCfZzkRwcrCjQQ3Jf4Jnps4nIdfuLoG2gv57Rd9haHwVHV/v4eWuXs48WUXsmT/MImDITI1x9ALJOQS/MFt0P7Uq7GwW0d0hvmHuwm/HBO5Xxri0zPxT2aq3RSF/OlGZWt/elhotbAK1sbVSxLbVDkgTgdlVyxKuYvI1zDfbKMSLMhf08OZ+xZgavTudX6iuq+gzxoty/HTmo1vXRmsyHPwvUlCdZ9NeK3yJta60KPuHC9Jb6jWFufAFVYRkxjMLCqrxUyfiCITNWu+9myoIlUexFaPK7OpChaE9Wjz2totmIlkkSaEguh32jJ3IkZXdt3JEMbpCQAtuqVCxz9yD5bWjt5EgJrcA5pZ/sX4CBVf62V/A9vIH9baHBV6nHGKZPJbHPnPabcd0LuBH7ofQKYh5wTzPz/yLrsTl7unxS/RTnpa+t83yB3tFyn/evOSUzM5JYwsoaEdDmMtIqHRowLL7YBzZzmymv6iSFw/9pEnd+DIZDAk2berEqEskJrvRRw0zY0TI+RHAbeksBvivk/rjxvH4H0qcCP64srTz4dc+UXdhwpnmk8Wbi4qsCyhMpb5JvXsY1+FEE8jJMOHL7C+XDjNTDgFEInIj8aZxc9SYXEnxTk0ymtoh8OQfiXhDkmPMMI4MJThB2qc2Etefj5CCDPiTQsqEoIAenka67DUseOj/VOUcsLsd8YKwGT9COO+UYUiC7Gd77FCzdZaHrw6xbccD+WCKt8b8GDGD7AGrWbVv/p8fDCD59acuC8XHIe2lIHUnpMXidNzG1Rq2eoogpkG18woAuxYdvTSU4QTGcRNFdLWenViWCwojBqNEiHPJ5CxiERY6sgewz/h9JmzJXZTqJhHO9f6Cp1t9kFzN4t3rOfh0WnG4FDvo+69OvxOkE+C2odHYl NhWupDSB 4ByLeNwgB6XBI9IOTp5Gn7Cxq2HM6BxV/Y6uzx0Nlhzc4k2y4SINxQZAbp1SbmfmVnVWWPLcNQIuOG0faMN0uhEgJryQm7/W09Q/VOdjQL/wlHLBoZil+89CU2TeEXv0H+VTXcGsrf63EV1t5alqObAWc9qLHmTJaFDa+J8FRr+XS0FoIPSiWOu6vRPByqt4xJjMdDaRbA5976OmM2hErrFPCJv34sSJ9fnmUl5orqpp+yMZvXQEsUTnhOY82k2SjWqNUv0PjSMQP3I2gLZjZImOr7qxlTIBvWd1tv4idQwyGVWFI1E1fVsI+gaiWh5y7GXgF 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: On Fri, 15 Sept 2023 at 23:57, Dave Hansen wrote: > > I assume that the TLB flushes in the queue are going to be pretty sparse > on average. > > At least on x86, flush_tlb_kernel_range() falls back pretty quickly from > individual address invalidation to just doing a full flush. It might > not even be worth tracking the address ranges, and just do a full flush > every time. > > I'd be really curious to see how often actual ranged flushes are > triggered from this code. I expect it would be very near zero. I did some quick testing with kernel compilation. On x86 flush_tlb_kernel_range does a full flush when end - start is more than 33 pages and a ranged flush otherwise. I counted how many of each we are triggering from the TLB flush worker with some code like this: if (addr_start < addr_end) { if ((addr_end - addr_start) <= (33 << PAGE_SHIFT)) partial_flush_count++; else full_flush_count++; } Result after one run of kernbench: # cat /proc/slab_tlbinfo partial 88890 full 45223 So it seems that most flushes are ranged (at least for this workload). -- Matteo