Received: by 2002:a05:6a10:c7c6:0:0:0:0 with SMTP id h6csp2276362pxy; Tue, 3 Aug 2021 02:12:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyj6286GLlhvMwLhCEOoF0Vqwb0tqKX+b8ZYv6BZlqU2Zw+uJY3fCD/SdEqiTFyOQ6n4z34 X-Received: by 2002:a05:6e02:107:: with SMTP id t7mr354741ilm.77.1627981926462; Tue, 03 Aug 2021 02:12:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627981926; cv=none; d=google.com; s=arc-20160816; b=POQ7ABUEtbH9Mf7hr2qJy3KOiXzKqxb0fQgzODF0/+N7Okllqjcjey4ADOw8KMD6SC cl8lP1Puc2xqwF1OhglMfvdLN5FmYM+6CvhQfRZ8sjg0Onu3fdTfYN62V7zL0r+CVHeH kwp+CEhkARCWWGY7ifPWsCWu11KdC3T1JY20WsaOZ2t3cIeRk1BOPh0o9Uj9oxCW3n0s 920PZs1GLHPYnbyHHSWnwtXUXtBn5wPXphLj+jm/WpGNYTMYDtO9rienI/tbPrSVsded I/7sMXfpVK34zPR7rPz+9269L1w4WF6Jic/OC30xAXv3eBLpcw5rrKRQswbuJqzzcmu9 DcaQ== 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:dkim-signature:dkim-signature:from; bh=L0e1V83DRnq45barRIX7U2iw+ml0PmmTYTnV26l3rBs=; b=iqHar0q2/d+uJvifWZBEAv29MetYYDCAiyHgereKJ4xNbaKzrJXQO/9DuQV4Ra9xzq 1tHsjlVA0iynqCITS3VAsWv4yoT6jvSeEEEtwDeY8Zk1O+crVu2qSPvJB9mNslznP3Fv ulTEiWdayv3J3zeE5u/9xfDK1IwomIAKAoALjMZKnxe/ZG4kPjc3NqSiw6MjU3KWIn/m Pv8KbMxnTNrgX3GzJMW3pkk4FopAm/oE3/GDLQwXKLmYJCY/w3AopPhA/EATD4x1Nbq3 lylLGTUE4oEnA8rlNLIfpICKsK2nCoKlw04dIfzntZAXE+HTUrRypSwTj1u/OKNDBdSI UxtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=Sr1L1WEA; dkim=neutral (no key) header.i=@linutronix.de; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x90si15000344jah.3.2021.08.03.02.11.53; Tue, 03 Aug 2021 02:12:06 -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; dkim=pass header.i=@linutronix.de header.s=2020 header.b=Sr1L1WEA; dkim=neutral (no key) header.i=@linutronix.de; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234681AbhHCJLB (ORCPT + 99 others); Tue, 3 Aug 2021 05:11:01 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:54742 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234356AbhHCJLA (ORCPT ); Tue, 3 Aug 2021 05:11:00 -0400 From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1627981848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=L0e1V83DRnq45barRIX7U2iw+ml0PmmTYTnV26l3rBs=; b=Sr1L1WEASFCJDmSXDlG25EL+i3yLIPl12I2e+V3smXaEutThh+bPh2DWnc5YPMN4Mz6MRU QMnHWj08zTCeAr6EyE3b9U7vb8TxLJ7UwTnuAdtAXbZtflicEeSiiqF2v9wOePuNunRlIZ OP3knmdsTqfuJCO/lIkie6WyAesMKfOaycCT7IVeRc4v68wwY6kShdWq7KfmOGv6wTeYbW NZMLaDnyHmUcsDKmv70Sa8CVGIh76MZMT8+BzrtMp9F4NJgR668uTsO3vzD2QpeVVhEv5Y B+LO1mhUKG5q9PvKOybhMUQUDrcVsVvRXoDPV1lM1/+yQka5F/+fm/MhOZtzlA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1627981848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=L0e1V83DRnq45barRIX7U2iw+ml0PmmTYTnV26l3rBs=; b=yVGSEp+Z9Na78B9pSd6QUS3mPmZNvWai0sTEbEOSVI5RnZ9Veu4xXr9DgDhd4WbKVaUwz2 7reL1S+W3UxyebAw== To: Hillf Danton Cc: LKML Subject: Re: [patch 30/63] locking/spinlock: Provide RT variant In-Reply-To: <20210803063217.2325-1-hdanton@sina.com> References: <20210730135007.155909613@linutronix.de> <20210803063217.2325-1-hdanton@sina.com> Date: Tue, 03 Aug 2021 11:10:48 +0200 Message-ID: <874kc6rizr.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 03 2021 at 14:32, Hillf Danton wrote: > On Fri, 30 Jul 2021 15:50:37 +0200 >> + * The RT substitutions explicitly disable migration and take >> + * rcu_read_lock() across the lock held section. >> + */ > > My stupid question is how it works in scenarios like spinlock chain > > spin_lock(&foo->lock); > spin_lock(&bar->lock); > do something for foo and bar; > spin_unlock(&bar->lock); > spin_unlock(&foo->lock); > > with rcu read lock held across the lock protected section because rcu > lock has preempt disabled and that will disallow scheduling while acquiring > the inner lock. If CONFIG_PREEMPT_RCU=y rcu_read_lock() does not disable preemption. This is even true for !RT kernels with CONFIG_PREEMPT=y Thanks, tglx