From patchwork Thu Oct 19 23:35:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 15644 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2010:b0:403:3b70:6f57 with SMTP id fe16csp716983vqb; Thu, 19 Oct 2023 16:36:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH3UU3ZFxMhO+7p7OuHsCEM0Mu1L3bQCWnH0hXntOsb7xQs/2JQIfoaLQshuFdgojr2Z0Vb X-Received: by 2002:a17:90a:194e:b0:27d:b488:92ee with SMTP id 14-20020a17090a194e00b0027db48892eemr339530pjh.2.1697758607153; Thu, 19 Oct 2023 16:36:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697758607; cv=none; d=google.com; s=arc-20160816; b=qjz0rmIiv2L2oMjhuL4oRjYAcod6mbOdeoFVFSWEOqGZeXEg2EsUn9bxAulw+fGITp An8joezW00A0cg9YtXwtH4AH1KFPysg44cLkJzWOVDlZEq2DAFb4DkNGRpcMzV3SdNC6 4z6LuyzbdslEHPjwahEn37zmnjITDPOwixGxb7DVC7i7IWNwSyr6y7zwDmRhpgVOgvYy mPY/3EbQjoh+W0r3GTtJDtB89Lfo41p03ELfOK+l7g21A7Z1O4lGKEM0c54uJCSwj+rZ 1fycxECVqGbsgnB1G0kmCIzXD4VGJKjiD/7P0Ck0V0M/lFmAdo2Cd9YsOgIp79zG/TuM A08A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=LGpUV31P2JQRPB/6PheCsRko9ZL5hGiqWLx8GZudVY0=; fh=wUQtsdgqGbbomNbEj2khnenCfJ155yS5P5e8dlMZTgY=; b=qqwqVBez5QdzvYRS9MhICYCfvff3FV9qQicdLTUC6KZTqbWnRMKUdQDxnPg3vWhahO Ucd1XKa/du/jPdDOEQystOcC1Hh9M7QWd+GQ+MOdqdeML1AYYZ6uBPCyvznSb+VJFJfQ r2ozbHyqcineaH6eAxig/Dxuc+Jbftz0g4OT5nA0BHlB0+oW8blNE6ZmjUEr7ZtqsFy6 tv09APrgF6buJAW1rHB9KE1UV033tBBoZte82MSTUxSjpofo+xikUloS0NGVSmLviwmz aVaZ9ml9MmHLTy3oe6YvuXpltozqT25f7OyECb6qTj8mmvwppMWpyhtbfUt4MLR0dtEn e7CQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=kdlrCLav; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id oa8-20020a17090b1bc800b0027cde38c731si3373706pjb.17.2023.10.19.16.36.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Oct 2023 16:36:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=kdlrCLav; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id A2275808E67D; Thu, 19 Oct 2023 16:35:59 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346727AbjJSXfz (ORCPT + 26 others); Thu, 19 Oct 2023 19:35:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233356AbjJSXfy (ORCPT ); Thu, 19 Oct 2023 19:35:54 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86CB7115; Thu, 19 Oct 2023 16:35:52 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3AD2EC433C7; Thu, 19 Oct 2023 23:35:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697758551; bh=SzLWgqoBPQQV6V/J505+0jRncHFp919ngRzIfJhC4vg=; h=From:To:Cc:Subject:Date:From; b=kdlrCLav/1qxe+M3GYO1Mt3VSCTSLV695AQlk5hcUYK7f8k5YG8jeexEqBnddmSCF cj2sxDOoteNjSh/oGgmCdbNKq67BTYV0VPlJ6uOXoIZqSmz9sPwwoEn9b2UXBNxrnQ mutI3F+8Fq9zoXNcmSzgDeIXdf1OaH20XpUHlZ7nQSaHMHITf/5zLGhT2JQ3sUOy9/ R8D+X1bKaQpzOTmi1yuDlBJD0l39ZK+koMwdYH0d6/+L5JNwWe5wagC+BG9AIEJMwA faSGciZKKVeoDCQxtAGIQg5ZQJtDST1mxkx3CaeILSGfxFqmn9zHuD0ngVb62r2l/u +cEP/irpUWV1Q== From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Boqun Feng , Joel Fernandes , Josh Triplett , Mathieu Desnoyers , Neeraj Upadhyay , "Paul E . McKenney" , Steven Rostedt , Uladzislau Rezki , rcu , "Liam R . Howlett" , Peter Zijlstra , Sebastian Siewior , Thomas Gleixner , Zqiang , Lai Jiangshan Subject: [PATCH 0/4] rcu: Fix PF_IDLE related issues, part. 1 Date: Fri, 20 Oct 2023 01:35:39 +0200 Message-Id: <20231019233543.1243121-1-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 19 Oct 2023 16:35:59 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780228929049979792 X-GMAIL-MSGID: 1780228929049979792 The modification of PF_IDLE semantics lately to fix a bug in rcutiny eventually introduced new bugs in RCU-tasks. This series revert that PF_IDLE modification and fix rcutiny in an alternate way. More issues need to be fixed in RCU-tasks: * The boot code preceding the idle entry is included in this quiescent state. Especially after the completion of kthreadd_done after which init/1 can launch userspace concurrently. The window is tiny before PF_IDLE is set but it exists. * Similarly, the boot code preceding the idle entry on secondary CPUs is wrongly accounted as RCU tasks quiescent state. And those will be fixed separetely. Frederic Weisbecker (4): softirq: Rename __raise_softirq_irqoff() to raise_softirq_no_wake() softirq: Introduce raise_ksoftirqd_irqoff() rcu: Make tiny RCU use ksoftirqd to trigger a QS from idle Revert "kernel/sched: Modify initial boot task idle setup" block/blk-mq.c | 2 +- include/linux/interrupt.h | 3 ++- kernel/rcu/tiny.c | 21 +++++++++++++----- kernel/sched/core.c | 2 +- kernel/sched/idle.c | 1 - kernel/softirq.c | 45 +++++++++++++++++++++++++-------------- lib/irq_poll.c | 4 ++-- net/core/dev.c | 8 +++---- 8 files changed, 55 insertions(+), 31 deletions(-)