Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp309130pxb; Thu, 30 Sep 2021 06:35:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxGlfsMPuK5EV34RnLkinAy/Oj8Tg3LIN7wqRp+rdfPFIbwbnkzG9lllba16brSBKkzAn3J X-Received: by 2002:a17:906:3796:: with SMTP id n22mr7120671ejc.552.1633008921214; Thu, 30 Sep 2021 06:35:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633008921; cv=none; d=google.com; s=arc-20160816; b=Wbl3BJdvWRYOzxubozG49GESDVGH6O0JecL996eAkO2GgERsip3g3eDN8O5ruiHm4p HATo+0QOhcvyH4w4i4p1WTKMy93evt0lpYCWMs5DgPbP7vyoVJBAO/hwn3nQD3+MqUGP /OPW4+Yl9ZLB1dslJ+z+bgcosA8MuDiq2ubXRD94piHumEgGoXRUNDsN716hQNk0OlrH KiCVYrwM+9Q/IRborT5wnS4Zowd/5Dy2CDIAcMJ6zNVfbOdosMklWwIdi0JlKxiAqErW mcQt4OdmowPoVxA9/KyG3/NA+8B3m00cqsPuD4Op54kggLyc7ZGHLgG9Gp+MSlzAhe/4 e/UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from; bh=Ca++vPLv4yCf3rDT3ImmjKs720aVMRBqpV5kQxXYXdM=; b=nXQyELe+spD71ciG6hR+tdi+uQ8+0WGTTsol/nmgkywTXDGMHiPsLXafRCuV8KFZn5 e3HBgZZEUoR82AXvzH3jVFVkgzsF25vUwkPHggdRAMDyCEku7qDmQKrMHOcXo3J0VnL4 Qth96F+EpWIOu+NXnqv2+RnEqYj6OrDVo3oYkU9yYwpUIC6tI7YRi4rMi+lpjIMn29BT fVoZwdQ7RJaOHFPSl96NklF9L9p4rZPgo3nxj7plJD7h/vha0AGhBIhd3aO8vAm36kkD LZyW2zGdfXvjutJ2HhuBnJpeU2dSr0JG74gTtj95vAK0/BQyooXm819QCnTJ01wnsjwk lzgQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d21si3313806edy.56.2021.09.30.06.34.41; Thu, 30 Sep 2021 06:35:21 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351226AbhI3NY3 (ORCPT + 99 others); Thu, 30 Sep 2021 09:24:29 -0400 Received: from foss.arm.com ([217.140.110.172]:54128 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348651AbhI3NY3 (ORCPT ); Thu, 30 Sep 2021 09:24:29 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3BC08D6E; Thu, 30 Sep 2021 06:22:46 -0700 (PDT) Received: from e113632-lin (e113632-lin.cambridge.arm.com [10.1.196.57]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 414EA3F793; Thu, 30 Sep 2021 06:22:43 -0700 (PDT) From: Valentin Schneider To: Frederic Weisbecker Cc: Thomas Gleixner , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, rcu@vger.kernel.org, linux-rt-users@vger.kernel.org, Catalin Marinas , Will Deacon , Ingo Molnar , Peter Zijlstra , Steven Rostedt , Daniel Bristot de Oliveira , Sebastian Andrzej Siewior , "Paul E. McKenney" , Josh Triplett , Mathieu Desnoyers , Davidlohr Bueso , Lai Jiangshan , Joel Fernandes , Anshuman Khandual , Vincenzo Frascino , Steven Price , Ard Biesheuvel , Boqun Feng , Mike Galbraith Subject: Re: rcu/tree: Protect rcu_rdp_is_offloaded() invocations on RT In-Reply-To: <20210930105340.GA232241@lothringen> References: <20210811201354.1976839-1-valentin.schneider@arm.com> <20210811201354.1976839-4-valentin.schneider@arm.com> <874kae6n3g.ffs@tglx> <87pmt163al.ffs@tglx> <87h7e21lqg.mognet@arm.com> <20210930105340.GA232241@lothringen> Date: Thu, 30 Sep 2021 14:22:36 +0100 Message-ID: <87ee9619lv.mognet@arm.com> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 30/09/21 12:53, Frederic Weisbecker wrote: > On Thu, Sep 30, 2021 at 10:00:39AM +0100, Valentin Schneider wrote: >> My reasoning for adding protection in the outer functions was to prevent >> impaired unlocks of rcu_nocb_{un}lock_irqsave(), as that too depends on the >> offload state. Cf. Frederic's writeup: >> >> http://lore.kernel.org/r/20210727230814.GC283787@lothringen > > I was wrong about that BTW! > Because rcu_nocb_lock() always require IRQs to be disabled, which of course disables > preemption, so the offloaded state can't change between > rcu_nocb_lock[_irqsave]() and rcu_nocb_unlock[_irqrestore]() but anyway there > were many other issues to fix :-) > Ooooh... Even with you pointing it out, it took me a while to see it that way. It's tough to get out of holidays mode :-)