Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp715071ybg; Fri, 12 Jun 2020 12:37:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzWh2wx8QpuedRw7ZM8S6QtdXg6hdAshou+OMp0tGtLqp8+KT1DIN3WRCVL411N1DNbT8Af X-Received: by 2002:aa7:c15a:: with SMTP id r26mr12691328edp.21.1591990635132; Fri, 12 Jun 2020 12:37:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591990635; cv=none; d=google.com; s=arc-20160816; b=vFywoDxt1gE45qEsbvXbJCEtMQUevpIUHg8IM+NcKwcoL4WoHkAh5Ls6FJhAxitmMV aVF8XIvK/oyUoWqq3ypVXQ7DBvwUrEHVxJB9z0q1nsHQHq+UOzzWfg3GxikqOl762Z9t UDWvXoPdXPRO5TACG1Og083Z5idHfABupkcMxNNsJI/kIoWnoeaGJUeBnWQdngs75ICV QrF9/c5CyDbdU3sHZd4xoappn5ojhSG+hmtTc6Ud66bWvSZKnShCPjTiCR6+IxelSTDQ FEDXSOSElUzG6TUQbq817+58qisZGBOY3WJEvU5r+J14yznsgxQfVCrPxZU+2EopaYZI KDNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:in-reply-to :subject:cc:to:from; bh=obTrjbUOvcavyJ0W9JIS81/PgS26ylYO9sziPt8tjZk=; b=hFjpUA6TQdccNz4O8u4fsM+HyT202noXN49B1TlCfo8z9GJdeh52e7kLiWMCEUGsqJ biY0P+Y4+1dBz5aEr8xoEM+8KDcWYnTZu8ZlDvKPC5AY9TIwRw3amc7SS8NH9A6gO7LA EV8F7U1t2RYRphMQcT7lx4i1vwbtYShGncnRsbRCFnGuHshDuzE3rj/7/fWKdY11p85h 7plkSOwB1nmXzcwPZGxLMsrgynvq1cbLMj3I+GvrTNEpK2L+kb29xiz9vE83yIl5qZqj RX5+xHRuAiKbDFBkqoyhtnnnzgYR3UY3+xeoalkTuq9U7BIoWe2RLZhtc9NB2fI4IVah 17mw== 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 p4si3978555edd.374.2020.06.12.12.36.53; Fri, 12 Jun 2020 12:37:15 -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 S1726314AbgFLTfF (ORCPT + 99 others); Fri, 12 Jun 2020 15:35:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46628 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726269AbgFLTfE (ORCPT ); Fri, 12 Jun 2020 15:35:04 -0400 Received: from Galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9BCDCC03E96F; Fri, 12 Jun 2020 12:35:04 -0700 (PDT) Received: from p5de0bf0b.dip0.t-ipconnect.de ([93.224.191.11] helo=nanos.tec.linutronix.de) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1jjpS5-0003Ai-0w; Fri, 12 Jun 2020 21:34:57 +0200 Received: by nanos.tec.linutronix.de (Postfix, from userid 1000) id 71DFB100F5A; Fri, 12 Jun 2020 21:34:56 +0200 (CEST) From: Thomas Gleixner To: paulmck@kernel.org Cc: LKML , rcu@vger.kernel.org, Andrew Lutomirski , X86 ML , Frederic Weisbecker , Steven Rostedt , Joel Fernandes , Mathieu Desnoyers , Will Deacon , Peter Zijlstra Subject: Re: [PATCH x86/entry: Force rcu_irq_enter() when in idle task In-Reply-To: <87r1ukxf1b.fsf@nanos.tec.linutronix.de> Date: Fri, 12 Jun 2020 21:34:56 +0200 Message-ID: <87k10ccc2n.fsf@nanos.tec.linutronix.de> MIME-Version: 1.0 Content-Type: text/plain X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Thomas Gleixner writes: > "Paul E. McKenney" writes: >> On Fri, Jun 12, 2020 at 10:49:53AM -0700, Paul E. McKenney wrote: >>> I will therefore address this issue in a follow-on patch. >> >> I should add that -your- patch from yesterday did -not- cause this >> problem, in case that is of interest. > > So I still can add it back and amend the changelog and comment: > > Change the condition from !rcu_is_watching() to is_idle_task(current) || > rcu_is_watching() which enforces that interrupts in the idle task > unconditionally invoke rcu_irq_enter() independent of the RCU state. For > most scenarios is_idle_task() would be sufficient but Task RCU needs it > according to Paul. After talking to Paul some more we came to the conclusion that the failure scenario of task rcu is not completely clear and the trigger scenario is obscure enough. This needs more investigation and the important part which we were chasing is fixed and agreed on. So I go with the simple version now and Paul will follow up once it can be properly explained. Thanks, tglx