Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1989642ybk; Mon, 11 May 2020 09:10:28 -0700 (PDT) X-Google-Smtp-Source: APiQypJCc/v8rEmQTOgPDU6fFKEStSC9dF34B4iUAnhBQeRbhfc373dqH6hdE7BOaaEQbXx5hdGu X-Received: by 2002:a17:906:3004:: with SMTP id 4mr14364790ejz.381.1589213427896; Mon, 11 May 2020 09:10:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589213427; cv=none; d=google.com; s=arc-20160816; b=FXfyPaAtyHPq4I2aU7wvzCvV0I74ZqhF1NOcWEr8ht7r9AUtRqjX2PNYgaLXG6tyvS KPFf7A26xY9KaANE0PREVpRWsyTWSCGdivWAHx6ULZ4lPKbLOmM9lctbdypcbxA+q/pm FfePeCaox3ctBCcgD0VeyP/sjtu6XN4XNqNa/OeoibzcYB0IRgjQK8fiMr9HoDd1UnC3 KzCrcFzrNE5+EMwgs+E+/Wds/HxSThh1kBQYB0Jd6+KjAk3kalsgE595v7ZTEt/nQlaH vn4Gks4qeArXWe8DOjmLQGd9ymepPIizt612gruH5E9U6lxVdv/hH6p+giWBf/Y3ymj/ 1LNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=snB9g33zxWAdcFqCufWBUoEIlT8tIiVbBrkzv74n29Y=; b=cj9f7NZduqsuoCI+73nG/a8gsWv9XwRrz5UB776+9bG4HSphvaSx7vcQD/Wnyj4IQl eAS1QZEPg5xk+6HSkVnh0NF31dm4nwAnyh+QBzHFf/zqEjkzzYh8KMZvTUCIyjCOJ6Yi XLDYpGa0rcxauVHidfLavRkckLD8/uSe+/ChOXo0lxxjzQPc15GoGaT/t/rGwitN5n/C 7q2wuGdHSW3UoXm1ExNgwO7QsQCEWXLpkfY9N+Ro+nKPqp4hiPBGT3jD2gsIjfLE1hfe 5IWr0ZMZWl5SsUHupYjjq9QgKoFeOBhjUGpJ8l6EDSy6vyrq6a0e95nhMfpZB0OiUaDi K6JQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e8si6447704ejd.76.2020.05.11.09.09.59; Mon, 11 May 2020 09:10:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730613AbgEKQH5 (ORCPT + 99 others); Mon, 11 May 2020 12:07:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:53694 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729877AbgEKQH4 (ORCPT ); Mon, 11 May 2020 12:07:56 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8BFD3206E6; Mon, 11 May 2020 16:07:54 +0000 (UTC) Date: Mon, 11 May 2020 12:07:53 -0400 From: Steven Rostedt To: Lai Jiangshan Cc: Joel Fernandes , "Paul E. McKenney" , rcu , LKML , "kernel-team@fb.com," , Ingo Molnar , dipankar , Andrew Morton , Mathieu Desnoyers , Josh Triplett , Thomas Glexiner , Peter Zijlstra , David Howells , Eric Dumazet , Frederic Weisbecker , Oleg Nesterov , Masami Hiramatsu Subject: Re: [PATCH RFC tip/core/rcu 09/16] rcu-tasks: Add an RCU-tasks rude variant Message-ID: <20200511120753.74d0a785@gandalf.local.home> In-Reply-To: References: <20200312181618.GA21271@paulmck-ThinkPad-P72> <20200312181702.8443-9-paulmck@kernel.org> <20200316194754.GA172196@google.com> <20200316203241.GB3199@paulmck-ThinkPad-P72> <20200316173219.1f8b7443@gandalf.local.home> <20200316180352.4816cb99@gandalf.local.home> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 10 May 2020 17:59:27 +0800 Lai Jiangshan wrote: > I think adding a small number of instructions to preempt_schedule_irq() > is sufficient to create the needed protected region between the start > of a function and the trampoline body. > > preempt_schedule_irq() { > + if (unlikely(is_trampoline_page(page_of(interrupted_ip)))) { > + return; // don't do preempt schedule > + > + } > preempt_schedule_irq() original body > } First, this would never be accepted due to the overhead it would cause, next, the interrupt instruction pointer could be the call to the trampoline itself. It would be hard to guarantee that we are not on the way to the trampoline in question. -- Steve