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 C4929C001DE for ; Tue, 25 Jul 2023 17:47:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 602276B0071; Tue, 25 Jul 2023 13:47:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B1B06B0074; Tue, 25 Jul 2023 13:47:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 42BB16B0075; Tue, 25 Jul 2023 13:47:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2F6096B0071 for ; Tue, 25 Jul 2023 13:47:15 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B827CB2849 for ; Tue, 25 Jul 2023 17:47:14 +0000 (UTC) X-FDA: 81050865588.09.48C52D1 Received: from mail-ua1-f44.google.com (mail-ua1-f44.google.com [209.85.222.44]) by imf29.hostedemail.com (Postfix) with ESMTP id CFDD8120020 for ; Tue, 25 Jul 2023 17:47:12 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=joelfernandes.org header.s=google header.b=mJItfjJo; dmarc=none; spf=pass (imf29.hostedemail.com: domain of joel@joelfernandes.org designates 209.85.222.44 as permitted sender) smtp.mailfrom=joel@joelfernandes.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690307232; 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=tjxGQ97jdZy+msttaE6/InGye12w/eRXu8aDXNaXRhA=; b=VvqDEy1+IdNU6qkOjovtZAzZwDuuGO0SYTErX64FNFmu/5AT2KxaaHiPDxxe+wW4d0i25T nGW7vWGlomaYKtTRBOJierLmSktVyiJNG4gIu+9O94RKaTdIAY0RTwyYuKh7arq3bNMwY+ EwEfmW50hp88n9POXrmLiHPvdNpXkW4= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=joelfernandes.org header.s=google header.b=mJItfjJo; dmarc=none; spf=pass (imf29.hostedemail.com: domain of joel@joelfernandes.org designates 209.85.222.44 as permitted sender) smtp.mailfrom=joel@joelfernandes.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690307232; a=rsa-sha256; cv=none; b=kn/NTtfx1LE0eVXwZ4l94ZCv0PyG1He3mFxeAxCQi4K4CRIrR092r2J8CWKyQUbx23UMW0 r8mFidhAZrubQ5e60daGlE+rfRWdZtUmL1NS7Ty8/R4kmH1yFqji9uMxOj0J5k6rJE3Ytx K2WbAcXoFX+CesUwR5CxDLoWAbHuiDw= Received: by mail-ua1-f44.google.com with SMTP id a1e0cc1a2514c-76d846a4b85so1871988241.1 for ; Tue, 25 Jul 2023 10:47:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1690307232; x=1690912032; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=tjxGQ97jdZy+msttaE6/InGye12w/eRXu8aDXNaXRhA=; b=mJItfjJo0J8vq8ZI7eQRqgBugJTE/Qjls8F9j5zJT4/6drjQg4QRDl54H4s/m4+/B6 OdBZ9Wq1QAC//eamW92We5bVMlBhbiRysXzmrEde6b6WilxsOOxfPGb41E5gLvLxIRQd mG8WW9RKwkhn1rvhmTvmgDcKKzEniO9bQreDA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690307232; x=1690912032; h=content-transfer-encoding:in-reply-to: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=tjxGQ97jdZy+msttaE6/InGye12w/eRXu8aDXNaXRhA=; b=gY8IF7A6AfQrobi87tp4EtRLCR/AmtDpizmk1u5RrYBhtLFSZ9Omc1qig0raGjlUcf Tr7aPlvf5emVwPSlcMx9+K3CAEhZUEh5lBKPQAJsYKKxEue2e72rLmv1Mtn8noJLYnJ3 0mzCawc7FJTdPetlLsQN0jMPb6TVmke+o/nV7WrCZ62l+ae+0tl/8KCkVkbGLwTMdSvz mCRB4p18jr65s1l51dT1G348lC/Dwamo/Kph7MemvtpNqNR0PbX4/iVag3x6OFQjiJtz rHV3lDIVgQ3a+RVnmaBvsBkGCwVCvyHlHV7y7XOBP40283RvDO7ezkdBpHOUB+xvcUTj DNUg== X-Gm-Message-State: ABy/qLbCXxl23t6Ffu/E4haJmni6ldh0kOAvu7DPfehQUv5+URZpeBR4 pAS1zaWCzo/EpCsn76OpSftayQ== X-Google-Smtp-Source: APBJJlFxF234D/M5tS2Q+/KCUeJ8ymhGYnmYBO9RSoGjcR24zk88rZomSukAB6JnjgPjlb4vStmdHw== X-Received: by 2002:a67:b106:0:b0:443:60d7:3925 with SMTP id w6-20020a67b106000000b0044360d73925mr5444114vsl.20.1690307231746; Tue, 25 Jul 2023 10:47:11 -0700 (PDT) Received: from [192.168.0.198] (c-98-249-43-138.hsd1.va.comcast.net. [98.249.43.138]) by smtp.gmail.com with ESMTPSA id c11-20020a0cf2cb000000b0063d1f967268sm404045qvm.111.2023.07.25.10.47.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 25 Jul 2023 10:47:11 -0700 (PDT) Message-ID: Date: Tue, 25 Jul 2023 13:47:09 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [RFC PATCH v2 18/20] context_tracking,x86: Defer kernel text patching IPIs Content-Language: en-US To: Peter Zijlstra Cc: Valentin Schneider , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org, x86@kernel.org, rcu@vger.kernel.org, linux-kselftest@vger.kernel.org, Nicolas Saenz Julienne , Steven Rostedt , Masami Hiramatsu , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Paolo Bonzini , Wanpeng Li , Vitaly Kuznetsov , Andy Lutomirski , Frederic Weisbecker , "Paul E. McKenney" , Neeraj Upadhyay , Josh Triplett , Boqun Feng , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Andrew Morton , Uladzislau Rezki , Christoph Hellwig , Lorenzo Stoakes , Josh Poimboeuf , Jason Baron , Kees Cook , Sami Tolvanen , Ard Biesheuvel , Nicholas Piggin , Juerg Haefliger , Nicolas Saenz Julienne , "Kirill A. Shutemov" , Nadav Amit , Dan Carpenter , Chuang Wang , Yang Jihong , Petr Mladek , "Jason A. Donenfeld" , Song Liu , Julian Pidancet , Tom Lendacky , Dionna Glaze , =?UTF-8?Q?Thomas_Wei=c3=9fschuh?= , Juri Lelli , Daniel Bristot de Oliveira , Marcelo Tosatti , Yair Podemsky References: <20230720163056.2564824-19-vschneid@redhat.com> <6EBAEEED-6F38-472D-BA31-9C61179EFA2F@joelfernandes.org> <20230725133936.GM3765278@hirez.programming.kicks-ass.net> From: Joel Fernandes In-Reply-To: <20230725133936.GM3765278@hirez.programming.kicks-ass.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: CFDD8120020 X-Stat-Signature: hcod5ntfbfwnz867wyab84z7wrxmoaaf X-Rspam-User: X-HE-Tag: 1690307232-39497 X-HE-Meta: U2FsdGVkX19+amzYHCgkc6tEzgFQ2Ka+zt/QL4/ffinrzWp9jxBB26BN6BGjruipDT12fL4YDlIbAkMbW3RhQ7GNqFMa0rwnIbSc3X5GanLg5d6tsFwDj6WxlKO3Hh74tRs18SX7lRuOe5DZGifpncBQVEGEcwD50OAtF45CfvFJ5KVlW26QVZUWnhoZvgu5CWn/BWN1BOrJHSaIEgsDtwbA10Rqsi7beqzuotwJnih2bZIYb73fsUDIaCaPaP39YhrTZGQOgH9O9xqwv+lu7lxXe50NfE17NvOc5a4of3oOI7ISSHz2Pm6iDTI3q6K2EzJ1UD3CdwDri1KZiponCPpP6hS2ql+Y2ObVcreLcxEa9dBb8WCCNIHOBMoG8U5i4d7COUtgzfflV9ouiAb2HyvbBL5g8eypb79RueiRBPavMAuZI9yYHLZGQid4EBehkVEbup5J/NAGWD/yxFM1fqEsRy3SuP6iisq0U98XJrm8XF8dbW7xeYHhtUpaC756frAedUf7KaQrhkRTolffRqof6Dt/yMQbeBQGl+atZEMWM0FPvHCUHp7c+XTsdT5y1TANFni9HoNE1i2dqMz2834215eBir3HJJnjVH0GOA/27JkuiR0EOOJYhcFWHQMM2cAQwvJY3bBn41JqtwAec/9L4Nc7GzEw6wrwOGvDRsva3zsArdaLrfG5CLC+91GSXjGoG6GCAaAylY45k31eXtuFc8m9kdors2miPrOm24yyM4MNKDSitNY63e07cQHBNJwyGSXylLznlxq040OOOOEzKPvEqz/rcwPhzjOPNQyBcsMCjz7Dnxl/SqxUsFa7Ip+/WwL5+gTg6hPP5MgUdR5XrtMi0bQ43FeOEJXHe9IlO8+PHjppNsrA2fbYbyr7Gl3twWqKH55W9GJGHiqp1s+52L0YuYIVgYNwZmtT4gXLh7iuRVu8F0iW2mplpDSZziJIXCj4JYVSYpSArg5 JRY3HTHk IHuisZiaVtFhJUIqK91A9zPEEX/7atrsUt4igs8t1kKCDKpPMeHLZhEn5jnptUFDCC3BbYP5jK2nsDbgERgUdDS88tTxPxxn1TNK+9hXLvDPj6kierFGvdBWJQnKr+mxX2dT9uQDOaBYLr9AbhMkSCgJzAIzv0iTSs86b5OH+ubkpjadSy0Go7aml55xQ8tARAfwcjBj+kjBizJpnf2pEcwYmnhRH0I+3Woycwxt+69z0wvH8o+NO/S2fSa4XDTG6iOVlc8x6ptIKAeyp3MB7ZveN/yggkfPlCE2CUYVDesU+Bm6DTKUK8eLxR0V9newQagMDMEsou2jBU/ptfx3BPbsoI7M1cdePLw+NTorIPTVqx6rmLtaisKGOtBsnjfJ4C9x99M3BGKmWKDkaDLvMg2U4L148CUGgwtz21upCBrXhJctBXdrAOjPgsc24J3T4qc8HjP/Y+x8QMEtZ+IHvqQItFO1TpeO6I/QIi74TUsvr9uEnIeiAlxD9gQ== 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 7/25/23 09:39, Peter Zijlstra wrote: > On Tue, Jul 25, 2023 at 06:49:45AM -0400, Joel Fernandes wrote: >> Interesting series Valentin. Some high-level question/comments on this one: >> >>> On Jul 20, 2023, at 12:34 PM, Valentin Schneider wrote: >>> >>> text_poke_bp_batch() sends IPIs to all online CPUs to synchronize >>> them vs the newly patched instruction. CPUs that are executing in userspace >>> do not need this synchronization to happen immediately, and this is >>> actually harmful interference for NOHZ_FULL CPUs. >> >> Does the amount of harm not correspond to practical frequency of text_poke? >> How often does instruction patching really happen? If it is very infrequent >> then I am not sure if it is that harmful. > > Well, it can happen quite a bit, also from things people would not > typically 'expect' it. > > For instance, the moment you create the first per-task perf event we > frob some jump-labels (and again some second after the last one goes > away). > > The same for a bunch of runtime network configurations. Ok cool. I guess I still have memories of that old ARM device I had where modifications to kernel text was forbidden by hardware (was a security feature). That was making kprobes unusable... >>> As the synchronization IPIs are sent using a blocking call, returning from >>> text_poke_bp_batch() implies all CPUs will observe the patched >>> instruction(s), and this should be preserved even if the IPI is deferred. >>> In other words, to safely defer this synchronization, any kernel >>> instruction leading to the execution of the deferred instruction >>> sync (ct_work_flush()) must *not* be mutable (patchable) at runtime. >> >> If it is not infrequent, then are you handling the case where userland >> spends multiple seconds before entering the kernel, and all this while >> the blocking call waits? Perhaps in such situation you want the real IPI >> to be sent out instead of the deferred one? > > Please re-read what Valentin wrote -- nobody is waiting on anything. Makes sense. To be fair I received his email 3 minutes before yours ;-). But thank you both for clarifying! - Joel