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 DA3C6CD37AA for ; Fri, 15 Sep 2023 21:57:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 269128D0034; Fri, 15 Sep 2023 17:57:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F21B8D0005; Fri, 15 Sep 2023 17:57:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0937E8D0034; Fri, 15 Sep 2023 17:57:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id EB1E48D0005 for ; Fri, 15 Sep 2023 17:57:26 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id AC1FFB4423 for ; Fri, 15 Sep 2023 21:57:26 +0000 (UTC) X-FDA: 81240193692.05.5418581 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93]) by imf26.hostedemail.com (Postfix) with ESMTP id 39AF9140018 for ; Fri, 15 Sep 2023 21:57:23 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=e0lsYf1x; spf=pass (imf26.hostedemail.com: domain of dave.hansen@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694815044; 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:dkim-signature; bh=Jm1LHs5ifpSDu/XW+B25deHi83oEbW4Uj6npp8dfSc0=; b=wV2CJs1mYzThD2ZdvVj5kEXOqpz3ch2hqs91VwPSkoYGb0NaN3feir6UEQhnkbtZGD+1xF 8lVQxLryQnHkQaxZWymT/zKpeqI14Lv/za1jlkglZjJcL3TY5qP9wPV+ynp8lbNfcpXwYf g8W4nU8FODXtKdb6fd29Cyw5GSWq2H4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694815044; a=rsa-sha256; cv=none; b=kfGRUUPOZkkDkJ8CA1ykqUPgYij0+6IeyNXOCKcYLhT/VRvuuxI+2xYbtKLXBN6Z/EfBA0 w/+tYcaKfdUL8nFYEpSrk64Chi+IxhKT89jzseiAcZY+03PRH5QivRQ3+I73nbk0ZDtgh+ QDBmaLm5yaL/s0fm7/4Sti6IqqJY6ZM= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=e0lsYf1x; spf=pass (imf26.hostedemail.com: domain of dave.hansen@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1694815044; x=1726351044; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=6hO70gqgOmSzHdBwhYaT2sixpZXe4bhY694b9GTBrYY=; b=e0lsYf1xFQ1ecLZhe75PBHM/QGIFtyXbYssulvVrXdZ5STuZTJ6A1OQN WRlIJtYbxcO5sLDg0T+KAxV1uxZUPd5UarYHws/c/rhkZxQEMZT+i5r/e XF7I/qAfY6j6xVlKPiACllh1yYariH7WvMb/8wocOgwmGevRJSwiYStap 4eQTNkZ6UPQe+nsLdnSLZJbebd5y995fCLyie17FIEmZ9i52+DpZI7tgI vnXpHCe5Ets32+1JTCJ6NcWti1Th7wRRHO14xbl3i++B7mM5qVoUUE0US psKMJR5w688n+Zz32yam6j99l2lOLmnLiofbd6+6V5U/MTJQCoagWiOoE w==; X-IronPort-AV: E=McAfee;i="6600,9927,10834"; a="376680815" X-IronPort-AV: E=Sophos;i="6.02,150,1688454000"; d="scan'208";a="376680815" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Sep 2023 14:57:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10834"; a="810663939" X-IronPort-AV: E=Sophos;i="6.02,150,1688454000"; d="scan'208";a="810663939" Received: from spswartz-mobl.amr.corp.intel.com (HELO [10.209.21.97]) ([10.209.21.97]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Sep 2023 14:57:20 -0700 Message-ID: <386c175e-bd10-2d5d-6051-4065f6f9b84a@intel.com> Date: Fri, 15 Sep 2023 14:57:20 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [RFC PATCH 11/14] mm/slub: allocate slabs from virtual memory Content-Language: en-US To: Matteo Rizzo , 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 Cc: jannh@google.com, evn@google.com, poprdi@google.com, jordyzomer@google.com References: <20230915105933.495735-1-matteorizzo@google.com> <20230915105933.495735-12-matteorizzo@google.com> From: Dave Hansen In-Reply-To: <20230915105933.495735-12-matteorizzo@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: ys68xix6xhuwfsdxoc4qzzyb6b3h5wym X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 39AF9140018 X-Rspam-User: X-HE-Tag: 1694815043-474945 X-HE-Meta: U2FsdGVkX1+YiJc1OsdvbiZ8BknaQMkS5B3QKF/ucK4PLulxZJZAshfU6BixnFzBLrOmGi7wGABxlx54TP3LX1l3lybrTViPZSa9Iayk0FO2rClkV6F6DmFj5zHsZI3vGXKl4OzaN+JpFAiZvCIHSAjjALSBRJNS/Mz9MAtKCysJglh1nhU4wvET5sKl8SpwZKwQ6RuTmfmRaCp0OGXSXVcSODpgbuRWw/YrqmEBBybDUt4btDnv0lbt47pbpfQBN4KpJ+aNQGJiLF59eSlP648uDKVUWGxUB2ncYowfBkPE1p+2E3k+tSEMCozDvZvm5bK3wT5+9UdEFZ/Iga5iWyShGolZhfirvvSk8sVuN+A9Br/Ch5sC6JGV7ZJtyz8wyXOA1uZu44/IoRz/ptVl/on3FNWgMO7RzX2m3rEu7kuljmuRSuRPzthraH6gsDjnHz4H2bpf0Gv965VhFiNi2Sani17afABu9dd8fkoumB8stcGjivd1GJ1lpfBDCTfd8jDPIxK6hhhq+fH6M0YJ1WFnekDWOGnijtkQ659J625SnhCCl1/G4BJSM5zCjPlbZGg6tE65ZYEsx1FlIDoAJybc5z60Zb++OD+qcULQ6tFecIAWnq3r5hrwVsSOj519arfWIdv0UGielEeFMPUqHxwKGoH0COlYxB5cCHasxq9jJcgPV9Yhg/E9U3ZK0yt7dqqsEH5s4DJLBXfM+4G7goOXDZR21O9D0HYjAQPZZa9BGXk/4//hGZl18c/4Iq3UY9hFgVX9z324D2lDc+cuy4keit+tK+EbK5MM/FcZkujf0vRVOUz2obuukilXfyUyyGIVeZKDmLF3ty6bzr9eEdCEtTh7pVc8UuQyUvQVGKegjWJED6FcXjTMFCxp+D48m6fc2qgN4yDGLB5FZNZNtLVBxIf7bShfIcYU0cHbPiWfbtPEdCWJh5s5GZy7YPyc9zO0S70rvIxg2JSBalO xUQLKRyR N2Pi/DTBDCqCAWNvldNd9wir9a2HOy2qvpXGFmmznaLeDMXOMB6EvEo6E2ZGvtkee5nBUPjPBoPU1dV7RKl0mv0dSkBCz+Hs7JdfH6N5cDJQtXPmCPIe06gqlEFgCoLLOSHiGsFMBnAgngkhv5XNuq9VUQ7eWE+xHo7ZfLv25v1471LiHllNmJVxDXCyEk7FS2J2UCDcjLYBsfcYNEHYQLDdwIA== 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 9/15/23 03:59, Matteo Rizzo wrote: > + spin_lock_irqsave(&slub_kworker_lock, irq_flags); > + list_splice_init(&slub_tlbflush_queue, &local_queue); > + list_for_each_entry(slab, &local_queue, flush_list_elem) { > + unsigned long start = (unsigned long)slab_to_virt(slab); > + unsigned long end = start + PAGE_SIZE * > + (1UL << oo_order(slab->oo)); > + > + if (start < addr_start) > + addr_start = start; > + if (end > addr_end) > + addr_end = end; > + } > + spin_unlock_irqrestore(&slub_kworker_lock, irq_flags); > + > + if (addr_start < addr_end) > + flush_tlb_kernel_range(addr_start, addr_end); 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.