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 764F5C7618D for ; Thu, 6 Apr 2023 15:02:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 95B816B0071; Thu, 6 Apr 2023 11:02:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8E2C66B0074; Thu, 6 Apr 2023 11:02:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 75C9F6B0075; Thu, 6 Apr 2023 11:02:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 608436B0071 for ; Thu, 6 Apr 2023 11:02:43 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 1AD2E161326 for ; Thu, 6 Apr 2023 15:02:43 +0000 (UTC) X-FDA: 80651283006.01.15B32C7 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf29.hostedemail.com (Postfix) with ESMTP id 9618F12002F for ; Thu, 6 Apr 2023 15:02:39 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=g9HMgChB; dmarc=none; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680793360; 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=NvfDt1wEQmP4GbrgT80G40At21xJRS6EHasfhbcOMOE=; b=u4h2fNOOnC39hF4qbQN1jCQPj+gLZ9usCBnzhcZaSiy7M9sqQ7TKG41ZAS+3D3KzAM6vJ+ Y1bJoQ/+sl8WK3bfLk7orcvEqHmBiCWtVpMgN3xHaGCPy1lcb2TXdJqOIA+kP7oqOWofuq ZsOZqakYHl7LeCX2/85YwMBtcSeRgGQ= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=g9HMgChB; dmarc=none; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680793360; a=rsa-sha256; cv=none; b=X89EojWgErbLLviunuuzxqKYN2uabPP0txXrhnoACWi7jTHBbX7WN9WTnoTqioSixPr1F4 8ZXS+4d/Ilh8OEsnSCfnMJnTyfPlvSitE5/ggk47K5FkQpWJ2AKoadphx3NTJscBzuYxko vL1YxCOjTIJri7GGnAxq2qjQHdSjw14= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; 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=NvfDt1wEQmP4GbrgT80G40At21xJRS6EHasfhbcOMOE=; b=g9HMgChByDEcqwPRnMmPkqIWgT E9Jo8wK8pTfqUwNGF3RulzK1C+eAF5o0HLXxTCm1aNFPSyeLIz7NBcYvhiL3fWMksBf4GfvKV1nBp R1ktgGzkQffGLNq0EdKUX3JVOd/BZXRVD1HVj5FYNpwkWKn6UfKWr7lyfGZ57eHCE1Ap9OwCdXmRU QFECUvV14SnLI6zo7b+CEQjzYLN1FnZJGuTV5debvwUmU0/EFkTbbdBnK2iYw/w24I6u5ORsR1OjP NvQL1vw1dn0PsW8XZzYt7vrZuKd41B4X/0udSmxG7Wik20e3HITuLf+kHlTq/SOVx9kb+3BucjXbv rrreJmIQ==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1pkR7v-00AYJQ-0d; Thu, 06 Apr 2023 15:02:15 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 184893000DC; Thu, 6 Apr 2023 17:02:14 +0200 (CEST) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id F2B1E212E36AA; Thu, 6 Apr 2023 17:02:13 +0200 (CEST) Date: Thu, 6 Apr 2023 17:02:13 +0200 From: Peter Zijlstra To: Marcelo Tosatti Cc: Frederic Weisbecker , Yair Podemsky , linux@armlinux.org.uk, mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, davem@davemloft.net, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, will@kernel.org, aneesh.kumar@linux.ibm.com, akpm@linux-foundation.org, arnd@arndb.de, keescook@chromium.org, paulmck@kernel.org, jpoimboe@kernel.org, samitolvanen@google.com, ardb@kernel.org, juerg.haefliger@canonical.com, rmk+kernel@armlinux.org.uk, geert+renesas@glider.be, tony@atomide.com, linus.walleij@linaro.org, sebastian.reichel@collabora.com, nick.hawkins@hpe.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, vschneid@redhat.com, dhildenb@redhat.com, alougovs@redhat.com, jannh@google.com Subject: Re: [PATCH 3/3] mm/mmu_gather: send tlb_remove_table_smp_sync IPI only to CPUs in kernel mode Message-ID: <20230406150213.GQ386572@hirez.programming.kicks-ass.net> References: <20230404134224.137038-1-ypodemsk@redhat.com> <20230404134224.137038-4-ypodemsk@redhat.com> <20230405195226.GB365912@hirez.programming.kicks-ass.net> <20230406132928.GM386572@hirez.programming.kicks-ass.net> <20230406140423.GA386634@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230406140423.GA386634@hirez.programming.kicks-ass.net> X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 9618F12002F X-Stat-Signature: drf6csueeen7rexjyr3arrjxk3g1t1jf X-HE-Tag: 1680793359-498104 X-HE-Meta: U2FsdGVkX196E2rglWaCmMrsOCRQ4ModHrxs8OXw1w3lGMIfZnJz6g9B9v4mP9AR2loZeb8qDcqOx9HJMdX00+P7rKISRy7NrDGvQHQ/VpsY0hSYexbQIBoVjRnhMqcKerYmzOXw37K+63y6oFOzTJpYS0pu6hKCmv0OIskK8z1rdce8S2EpTkrh1EDzNj/exXNP/pTGRCxEHlqLI9oWYZH3x/B2bYKa4P9DDzEPPd+wmJIkfVuduv425P6kwLjhmIgvF9iEii++3kKKGb01pbTTtiC1oLZbZ8/+KIz+H0q+HemoNTp+u8oYRRvBWWTJb565dk2j/99rE2qSi1Ub135P0ScngZMwDWUTwiB5bPkq9gVk2Rqmc9/0sBcc7K7TCThK+/F6i4tryEQrXirH5Xoo/ChGzQXioIlpSaN0ZoBvLmyTMWQWwjcd9wGcQgbwNy6FjDkt7qWwlpZRBLqJCPoc/gxKs4xFc8M18gmh1/UqAgNmtZjKNuXNBar5rgsbR7uJH9bwnTKd/rpep3bEvxNHlVQHvBOtMDraZ9XeIFSk1p51XcRobnoazaF6HlQkL/fnX/Gm8vfZxUhbMTbE/glKBDFT7XZvoD6aVnY2eAeftoom8W4kQpADgT15GyoHARx8m4l1H4vXmW+HKOO2azResCf2wpTDzjdryfDg4f5sMz/yAyM1jMMe/d6/Yic2Ba4pqmC7yRqghcHNbagKL6pceqeVOKB8h+1SROTMfQAT4cg7QYXI9pt6h4wWGXQCslcewNb+ApoESCTL4dVZdi9ejyMUuaYi8ZzB2tP5YQoGsUhapXI81fP6xPxz6lutrHtYh0BYoGTkHgoOJFISZOL+ALEgZhl+GwdB7QGG0abb6GJAGm0gsetzssOxGeB/w7gCEhUTHqFuVdasZLBbVcms6Vbqn3HMXIhiFKqTd9D9BqPewKuPCNb1BLNFAwYapjQqHV7YJ5ylXk1edf4 MGbdn/3x wM+D9PDRSW/WgabjaAbQCreC2zDw+bPFdXeLvs4UnIhUlgE6osm86tZRlYhSiLQW+s80JNr+IMZYXSkCGs7mv+/grfsCA7sjcEP0BScdnaOFzTsJgeGtVNKhD1Iwfxlj7eHbYtrLk1EXzFOrND7FwbfWB9ZsB0Nu4lXKjL6IlpFGzGPBjtxwGd/4pEAIq37EBED8Sh4MB4VheTGhAXCYdWibIjTpbTPF9Oz9oRmww4KtoKMsWRsqRpuz2l89HUWHkLihy050tO/Le7TOC5dQdcxnH9hWgRUCoSbUR6WCVB3iP+OCBQuAyE1TVVxmbr7VU7zLrlniWSmm2qzS/BJicAdjCqX5bJsynFbdg 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 Thu, Apr 06, 2023 at 04:04:23PM +0200, Peter Zijlstra wrote: > On Thu, Apr 06, 2023 at 03:29:28PM +0200, Peter Zijlstra wrote: > > On Thu, Apr 06, 2023 at 09:38:50AM -0300, Marcelo Tosatti wrote: > > > > > > To actually hit this path you're doing something really dodgy. > > > > > > Apparently khugepaged is using the same infrastructure: > > > > > > $ grep tlb_remove_table khugepaged.c > > > tlb_remove_table_sync_one(); > > > tlb_remove_table_sync_one(); > > > > > > So just enabling khugepaged will hit that path. > > > > Urgh, WTF.. > > > > Let me go read that stuff :/ > > At the very least the one on collapse_and_free_pmd() could easily become > a call_rcu() based free. > > I'm not sure I'm following what collapse_huge_page() does just yet. DavidH, what do you thikn about reviving Jann's patches here: https://bugs.chromium.org/p/project-zero/issues/detail?id=2365#c1 Those are far more invasive, but afaict they seem to do the right thing.