From patchwork Sat Mar 25 17:33:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74958 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp530348vqo; Sat, 25 Mar 2023 10:37:08 -0700 (PDT) X-Google-Smtp-Source: AKy350ZB/RuOaeau/Fb3P/87KFvqZLwBHHNKVqkFpzFSJeJ52FWe2KmZLO8e/imcWfSQXfrACfdh X-Received: by 2002:a17:90a:498b:b0:23f:3539:d326 with SMTP id d11-20020a17090a498b00b0023f3539d326mr6991550pjh.0.1679765828695; Sat, 25 Mar 2023 10:37:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765828; cv=none; d=google.com; s=arc-20160816; b=tbw7DPeJpU2rZz4HdYxHz0dFChi+kx1T8KO6t3L7YXoeYCEbs5aiXoFQY3pjlvh8vN 8Kln4uvFQqfGQiPemMT+x57L61AMtGOW/0MsSztyrMX5tvp8mi+2MOssULT73cpoMujo hEL+I4UshjiHQaD7eoOqiOzrxssFo8EJMchEhO/rMpLuV6Gd4E32nwy987OwWO/Vipjp rU4J9qmg53TljjE524Hr545T4Qpy4lfAhNLxjYpPxWVkTDwINjMIztFwOYKUEvNzRRs2 qYgm9Ru+YIgDBEJBmAgoWnz6u/Kxbh0HISVaMDzv3VP3BQZmL50hJRT3MRKEyNQHp4dw dk+A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=HGRr1ILwfN2cOAAXlHu3J2/PGFc4d+v/t0gK/PtSh/k=; b=PdGaIokZTnxTgefA7ojMuu4vj7R7JU/jmEjLGm4QI8IApiEsXhMNJUMUS8FAhkg4J1 SiCocrmpD0OePVHrPLAq0fMOHw/Rrn2UOw9MPCvgzomW/Ne70Lps67KlzWMghBcXLC3N O03iIQUmt/pxsUFKg32y9b2c2pDtykHWEB5HeynpymJlNNTbVrFVvLDRtuoPsx9/581F EX9U2oPYMXEFyYOzn9cjX9+7l2TaHlTsbQgjv6ZjLXZwWZOzuhmTnmwjLkEQFUto7iPf a2z/FFTr5pbfBVC8iyVPwysxjMtOWjWp/A/CnRZLDRDJ7plCAe6JaTP06bmQB3y/3iUI Vs0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=WatzM4Du; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a8-20020a17090a854800b002309f0bd759si2558945pjw.92.2023.03.25.10.36.56; Sat, 25 Mar 2023 10:37:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=WatzM4Du; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231764AbjCYReG (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36568 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231520AbjCYReB (ORCPT ); Sat, 25 Mar 2023 13:34:01 -0400 Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com [IPv6:2607:f8b0:4864:20::836]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA8CEB779 for ; Sat, 25 Mar 2023 10:33:53 -0700 (PDT) Received: by mail-qt1-x836.google.com with SMTP id bz27so4514650qtb.1 for ; Sat, 25 Mar 2023 10:33:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765632; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HGRr1ILwfN2cOAAXlHu3J2/PGFc4d+v/t0gK/PtSh/k=; b=WatzM4DuWOJx4M4gULzYWvg6Ga2sfw1KF2JFslVS7krm98DuqIWIE6ircHntnso5H1 3UZgA5Ms0OUui4t/aHQFizRVnCsnEgiV8KjUOTNFBi16FD1cmCrvf26RRnioQUr0sURE LqGpU4P/snzVoGwiU+SupVRJmuzG0EYDaGz1g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765632; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HGRr1ILwfN2cOAAXlHu3J2/PGFc4d+v/t0gK/PtSh/k=; b=D5HlUzO/P+VZp0kqzz1MoSmBWd0/HB7sS/w5cQKjKIe7j+mfzNpKLAFNag4p6xdD9J dXOfIooN9qgayzQYpnz4LCOWQtK+4Iu27qWbaIZTOpB4BN8GBtsQNxXGG9wGdvhhyzXH 7Jzylt4MiaT/KTliA9kH42p5kDAKMij+r/GWDZthEHjlHnc5owNZra3cQ3lXPWL8Bxx7 WSGBELK0d6D9QmNYeETYS9FRs9Wyllo61BKFVznGZZ9RQAsA/0bXfTxJDVkfMaWIPtri 2+8G9qPLGmOul7ECDp9P7vobbiaRErv76nUdFCqEAiMVW2Wun1B+IYAZd8dQ5abvGu28 Js8Q== X-Gm-Message-State: AO0yUKVDO2UVXxef7pj71Q8qU4+hmd7uw3aeZswxFTtkHrpo4UKsj6iy 1jeebNArqFpeQxrSHFwh80MMjYDwujgqRcRkzGQ= X-Received: by 2002:ac8:5f8b:0:b0:3e3:8427:fb51 with SMTP id j11-20020ac85f8b000000b003e38427fb51mr12302234qta.23.1679765632737; Sat, 25 Mar 2023 10:33:52 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.33.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:33:52 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" , "Paul E . McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Boqun Feng Subject: [PATCH v2 01/13] MAINTAINERS: Change Joel Fernandes from R: to M: Date: Sat, 25 Mar 2023 17:33:04 +0000 Message-Id: <20230325173316.3118674-2-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362133568560551?= X-GMAIL-MSGID: =?utf-8?q?1761362133568560551?= I have spent years learning / contributing to RCU with several features, talks and presentations, with my most recent work being on Lazy-RCU. Please consider me for M, so I can tell my wife why I spend a lot of my weekends and evenings on this complicated and mysterious thing -- which is mostly in the hopes of preventing the world from burning down because everything runs on this one way or another. ;-) Acked-by: Paul E. McKenney Cc: "Paul E. McKenney" Cc: Frederic Weisbecker Cc: Neeraj Upadhyay Cc: Boqun Feng Signed-off-by: Joel Fernandes (Google) Acked-by: Frederic Weisbecker --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 8d5bc223f305..698c330d37cf 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -17637,11 +17637,11 @@ READ-COPY UPDATE (RCU) M: "Paul E. McKenney" M: Frederic Weisbecker (kernel/rcu/tree_nocb.h) M: Neeraj Upadhyay (kernel/rcu/tasks.h) +M: Joel Fernandes M: Josh Triplett R: Steven Rostedt R: Mathieu Desnoyers R: Lai Jiangshan -R: Joel Fernandes L: rcu@vger.kernel.org S: Supported W: http://www.rdrop.com/users/paulmck/RCU/ From patchwork Sat Mar 25 17:33:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74951 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp529498vqo; Sat, 25 Mar 2023 10:34:57 -0700 (PDT) X-Google-Smtp-Source: AKy350YHY8QL3FtjcjZHGGLTxyKlUP+4rRitgFVUddN/koMQ56tFvf+QuHuvSsfXM2g1HAVaiuYJ X-Received: by 2002:a17:90b:1a87:b0:23d:10f2:bda2 with SMTP id ng7-20020a17090b1a8700b0023d10f2bda2mr7668531pjb.30.1679765697277; Sat, 25 Mar 2023 10:34:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765697; cv=none; d=google.com; s=arc-20160816; b=cH2jNebWl7pW20O1M9ZV7QLN/VGYM1SNGErCJ9Ks02TpA0uBYDAM6M5r/dxt8KVoAc 1RjFdfnGBIKlkQjD994VRv6WSTU/6UeBx519anGiu2EtnvzisNuffZDvS2X7DulX0duy vjADmIEviUiI6lB3g9h0tiHl8yffFafH35cFFqhLt3yw6jk5OHdUYW3v5IMqLGhFZOVv ZnrhIuACAlG8gc+U8j8cLb+ra5uAs4cClmN2kx6kU7Mvnfyi7LwVnQAbmtAtVNx980qB SZG+r/hg1M5/H6cWM6oY/nBrJbPhkRqsEx2Tn5IT/OkCYDJ2g3+4kEhXFoiYv8e1x78G LpLQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=m2i4ZWFQEEf+sgts9I9IXVKvOCwZuHZ3OWXbYKFFdbY=; b=aStO00/vGaE4dKakXLh3dIupuY62uX1m//84fQdMW3Ddg4XgApUfXL7Hr7Oje1BFVv R9LKYUg4tzqvQMOUaKCoP3DjWyNpGcGWcCy+hDItqbeLBEOklUOCf8abNQLENI7zeTw9 f18CfU+QVHlM5gs/fk29oqxFUXNmRCw72BsOqfY/0u6kF8XHT8qM9t6GDK/TO85wHW9F Z6zImSwht3lKoQVlDnUz0BHqpfQh0IcHzTGTBLXNNs0kYCUTuswCFYlfdRD3IQOnArGo f8Vw8VeB/tMGYiGi+pHoL0tWd5KtZ9nTj+WbdmjDqCF87j+ug3gELupgTOiiXnWbF1Lc VCGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=NvEg5wJg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cs19-20020a17090af51300b0023b5424f3eesi7083118pjb.38.2023.03.25.10.34.44; Sat, 25 Mar 2023 10:34:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=NvEg5wJg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231778AbjCYReJ (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230094AbjCYReC (ORCPT ); Sat, 25 Mar 2023 13:34:02 -0400 Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com [IPv6:2607:f8b0:4864:20::82b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A767ECA37 for ; Sat, 25 Mar 2023 10:33:55 -0700 (PDT) Received: by mail-qt1-x82b.google.com with SMTP id x1so4499264qtr.7 for ; Sat, 25 Mar 2023 10:33:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=m2i4ZWFQEEf+sgts9I9IXVKvOCwZuHZ3OWXbYKFFdbY=; b=NvEg5wJgvEddeXnTJ9ZD0PZGySimLuse3EAD4IauotUQqajZfmDDzEXep5uPbOxCSs pxmCfsVXlFtnaHZbBUJ/hyADQzDMxZjc4irxuLH12DmGuKCPb5BGSwcqHBRnvzAT8uft CZkNklkdQOpCvNOIzpL8pxANq+xxXe09HR5A0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=m2i4ZWFQEEf+sgts9I9IXVKvOCwZuHZ3OWXbYKFFdbY=; b=Ypgwkq5FyhmbdjBcTL6e347CxHDgC/ylIHBAlM3yQz3jGXhONQp2f6H1+AUZatdAC5 dkHvZyuC8CVIVWXoJRoUaG9bsVFDng2l+DGpE7cSF/fd9yPzzZBzv6o/5IfvtV4ajbas MJKp1MBC0C8VQcyRmDeMW7NLbzgnmJ38tVWtuXwSp20cTyBodim1pXTT8I/lBfSDRgpj MFPfvoDQbTpV6X/8TI0SvWwpRiSyYDK3xh4rBqIvfT4G+tF4i+EErZhRwakvlS7ilMx1 nW31Vf4mjJvJ9DTG3eWDVOm4AV2JfYu2IHlo/pm9y6vty9ju9I0++Pyojtrwi7J2S5kl nqwA== X-Gm-Message-State: AO0yUKUjNmT7KVf88F4Ay/48hOifchNqgSsUYv5YMBVCfT+nIP41v6ZV 2ePpCceL6nL68QniNtOh3d/85JF5bkcFk7Ge6pM= X-Received: by 2002:ac8:4e56:0:b0:3bf:b6cf:25c5 with SMTP id e22-20020ac84e56000000b003bfb6cf25c5mr12738707qtw.14.1679765633762; Sat, 25 Mar 2023 10:33:53 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.33.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:33:53 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org Cc: Boqun Feng , "Paul E . McKenney" , Joel Fernandes Subject: [PATCH v2 02/13] MAINTAINERS: Add Boqun to RCU entry Date: Sat, 25 Mar 2023 17:33:05 +0000 Message-Id: <20230325173316.3118674-3-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761361995899432352?= X-GMAIL-MSGID: =?utf-8?q?1761361995899432352?= From: Boqun Feng Just to be clear, the "M:" tag before my name is short of "Minions" ;-) Acked-by: Paul E. McKenney Signed-off-by: Boqun Feng Signed-off-by: Joel Fernandes (Google) Acked-by: Frederic Weisbecker --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 698c330d37cf..e9fb1c172ffe 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -17639,6 +17639,7 @@ M: Frederic Weisbecker (kernel/rcu/tree_nocb.h) M: Neeraj Upadhyay (kernel/rcu/tasks.h) M: Joel Fernandes M: Josh Triplett +M: Boqun Feng R: Steven Rostedt R: Mathieu Desnoyers R: Lai Jiangshan From patchwork Sat Mar 25 17:33:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74962 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp537860vqo; Sat, 25 Mar 2023 10:57:30 -0700 (PDT) X-Google-Smtp-Source: AKy350YBuErGegqQ6b+UstLbZaFEYyCafbQDw7ZttEjV2/c7jBOLhEkG5VEeenERhBeKAtTxQ36j X-Received: by 2002:aa7:c04a:0:b0:500:2d0c:15ec with SMTP id k10-20020aa7c04a000000b005002d0c15ecmr6158740edo.24.1679767050595; Sat, 25 Mar 2023 10:57:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679767050; cv=none; d=google.com; s=arc-20160816; b=k79KjLNsPF7k57naRecQZI7xDTrXA7tW1V3cipa9yQT7i1C/xVUTefBEeMca7Gf7g7 zql8JOmJIF0dsFdQdGcIOVY+3Z5lcgAejUlgiMUkX5x/DwxNnspWHLKjZrCmjoune360 iGVTb/DVZpJIdzeO+gP8SRvvreL6T/+2NYGFgBti9mt+zzKLucjt668KaOQRRfJWPxgX PBu0ip9Wm01v1+IKp8RCREnziIRRaeE9jW4aksPeSZLk2heAPpR/oaUb1NcSpd6KbQxf t18JvVRjq4LTswdQSf0+wMdZZe3/EaujdzArXTCEvG5/Ozg+IhM2+DdO0QziRQslN21P zR1w== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=1pJMvzOBsStXaQ6aO+axzLwb5fLtB6xIoptrhTt/3BE=; b=DHJFV0RaI5rS5Vkvu11pelqJBFuCwlo3b0bUdl1bWjAis1rdyDu1OgFaTFMbDx43Pm nkpO83Tzm8FdtdMMcHQ8Svx/5zn8HI4UnmpQKHnkRS4EWUjOOi+o+DUmqxvW5XoraBya 836qL09y2TofmJgWGLgIqwFQ950GNCHpZDf44ZfT9XJhmZdCCBN8iTtw4zLsp4TgCHs7 4OECdzVmxcytxoTYHf4Cv8PZy2JSG0bTaDjW91DYE/qRYil2ukXnnhbz9VYMxzT9pCg3 AtZOv+zVEAj5DqgNkTzxo2MnGtyTB3G/Rn7vF18D8Nq+4RMV7ClDt1oglyRrsuz+0SmB JHww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b="IxRuOK/3"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ay9-20020a056402202900b004ad79751752si25256033edb.645.2023.03.25.10.57.07; Sat, 25 Mar 2023 10:57:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b="IxRuOK/3"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231861AbjCYReN (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231156AbjCYReC (ORCPT ); Sat, 25 Mar 2023 13:34:02 -0400 Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com [IPv6:2607:f8b0:4864:20::82b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B8C5CDD3 for ; Sat, 25 Mar 2023 10:33:56 -0700 (PDT) Received: by mail-qt1-x82b.google.com with SMTP id a5so4504291qto.6 for ; Sat, 25 Mar 2023 10:33:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1pJMvzOBsStXaQ6aO+axzLwb5fLtB6xIoptrhTt/3BE=; b=IxRuOK/3xmJUvXbXJ+choX2xTmTN4VVfVyCdzi/uNkGLrkiSmsMx1/es3KQnxSLa2b FFPro4IjUEp+MSb0y2pUPRuxATx0VW/NHDwRuznZzbc6wKWtoQSWQhWT6UTVsuAk3oGR iyCq/R5I9bjmk+Ksz+nizZH4ipHt55i4sSEEc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1pJMvzOBsStXaQ6aO+axzLwb5fLtB6xIoptrhTt/3BE=; b=aM7C66fmZGiVQDS3GI2bqh05JHv9pkS4kYvzCXeYflmwlI2aDWG8PaRkrN763GmOKW 2x/Q7MI8GzijFL/t0uXjwFLOho8/+996w2aiAFVeCC9vYQi7UBqaUS51KMVch6iJJxmb BhO5sYBZxH6KpL8TsWv/HJw9tXHMPb8tNGBOQ67qoHCW6E9Zkj6PySKZSbAwY7RPr/K3 DzUJJgpBRlqEeFwr/RIcgRgHLUcb0lW5xw/U1VNEsDmq4RLTw98lOB2F3PpG+7nTpCDq nMFcbU4ZPuOKwlMW90UVouQRMciyMIYBROY0L5rI0MMbMkZek4ZoyYM6oluJMBr1Hv3u eG1Q== X-Gm-Message-State: AO0yUKVyf7dGXtCRbxn3fbYxgZS7RIFdSeHFRTUkuLNuYLz/ZtAYelFV Sa8IIFMuaHjTkYi/CbRTTQ4M2U+1Khhu9o/k6Q8= X-Received: by 2002:ac8:5896:0:b0:3b8:6d3a:5ec7 with SMTP id t22-20020ac85896000000b003b86d3a5ec7mr12812600qta.22.1679765634735; Sat, 25 Mar 2023 10:33:54 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.33.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:33:54 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" , "Paul E . McKenney" , Zqiang Subject: [PATCH v2 03/13] MAINTAINERS: Add Zqiang as a RCU reviewer Date: Sat, 25 Mar 2023 17:33:06 +0000 Message-Id: <20230325173316.3118674-4-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761363414905507918?= X-GMAIL-MSGID: =?utf-8?q?1761363414905507918?= I have spent about two years studying and contributing to RCU, and sharing RCU-related knowledge within my team, if possible, please consider me as R ;-). Acked-by: Paul E. McKenney Signed-off-by: Zqiang Signed-off-by: Joel Fernandes (Google) --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index e9fb1c172ffe..e03067b857a2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -17643,6 +17643,7 @@ M: Boqun Feng R: Steven Rostedt R: Mathieu Desnoyers R: Lai Jiangshan +R: Zqiang L: rcu@vger.kernel.org S: Supported W: http://www.rdrop.com/users/paulmck/RCU/ From patchwork Sat Mar 25 17:33:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74956 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp530208vqo; Sat, 25 Mar 2023 10:36:48 -0700 (PDT) X-Google-Smtp-Source: AKy350aMalCFFIula1mUd3v2DugTJcvI2DDbdjfYvQUiOde9c4mPvtkrLui+hgk9sYqyP9R4oVC2 X-Received: by 2002:a62:4e94:0:b0:627:df78:3b22 with SMTP id c142-20020a624e94000000b00627df783b22mr6654852pfb.0.1679765808037; Sat, 25 Mar 2023 10:36:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765808; cv=none; d=google.com; s=arc-20160816; b=xvjbLPJkUrOfbnA8OvcjudUxz5Nc8BmuXoYMFMpt+H/LZQbj/Myyb5nYGEqZmC/OK8 qiCcDcXhpa5ZcTFgdKgEZqTVNTi1VpUtFCizriFKJOQfflNRq4TzbruLFZS5E7WDqSGb 9tWvt8A9Hq73vIv7bKda1cuZQtDypSCt6wl81EnDdMlLxc9/wzCjRhJTJoJs3y/8aH2V 6mEQk0T2Pt5brBrD2sWL4irUKKpNSSRHMrlSgo+y+5RRh4YyB2e5RVGGD61NaBXx7ZQ5 I3lixR3ax8U1MIWA5vwo5rxUMkiLN3uM0QURanCp0PiB0v09WajKjulfxMNVtIrSGzNk E7lw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ttYDdJ2Zx276ZWlJoVAWoRza17Ux4kZUYP3LM4W/4/Q=; b=mo2xZQJSpiDULQrhK5fsAxVwngjdr3vcOJKNWj7lo03z3c1NeEaVKBT0pKFaWyU4A0 4uluy/z7k3OGIx2Apr4MShV5Akyd0qb0vZeAgTGjO7ymLGRMQa9SvcoAZMUmi7x1X3FI gugzE35n5XO5VudaKm9766Fj5X2Ojoi5xZq8tWDpDCX1CcM0iwlz50yx1W+Rbm+EkVY4 G+cSUvpzi8XJbe9GJCQTsEHCok0aUK1gVvKc9M4wLLBGc/ETmyrm+jfSKOYgIkagI9wb 4sNFV4cFRrkQCPgH4G3T50ik+nLsj8EnkFUMQp3SeMJ884DSqS6+/9NknEMC7/6KPpnx m3Fw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=TBoO+zTC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k79-20020a628452000000b0062a3f8af23bsi8302539pfd.323.2023.03.25.10.36.35; Sat, 25 Mar 2023 10:36:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=TBoO+zTC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231904AbjCYReR (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36658 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231691AbjCYReE (ORCPT ); Sat, 25 Mar 2023 13:34:04 -0400 Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com [IPv6:2607:f8b0:4864:20::f36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D443E380 for ; Sat, 25 Mar 2023 10:33:57 -0700 (PDT) Received: by mail-qv1-xf36.google.com with SMTP id oe8so3783689qvb.6 for ; Sat, 25 Mar 2023 10:33:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765636; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ttYDdJ2Zx276ZWlJoVAWoRza17Ux4kZUYP3LM4W/4/Q=; b=TBoO+zTCa6TlvCdSFINwGhqY8IkwKRzIpUuMBfJ00Ks7v4MNhxO5xhvGMwRhaK8P9r Gn7ol1JTk3hslUvRYVP2KSNYdJj6l80Fwotm3y4bciBkbTl7+U9pgO5y+hZKzkz8ZyyY aElsltBE3c6EIzkIKdIrj8qosyBuHLivrfW1E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765636; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ttYDdJ2Zx276ZWlJoVAWoRza17Ux4kZUYP3LM4W/4/Q=; b=mIbl+fkns+xjiAEYW/ClTiSlwGFXKe4q5QFU26T84/ec7aHYeQ2B7xxgWEH7hZtnpY 1ofntlZKbXBxEMW2rpvIPrmVpKmL0g5OyReMfr31rsYoAy+TCXwVFAnOLxoLn4xtHP+I ELM59PYNtrVa85h8UpJfLsmN2OhmArECdNjFjxbNxhBm/LYwdVvDw624/FAK0Dq99Tcc Z2DnBgbVsvOb6u8FDY0CRyvCND9rA9UNNm9leeSjy1F5uDP+jFM5Ll8E/xYG5QcsTrVY 2RQ8TDmSn9soyOMLSeGooFWSXEbilYg19qnOuUjpkXQi/1EI0LnCGsNS0yer97wlMyxA 90yw== X-Gm-Message-State: AAQBX9eukbGnQAvaCxARmBBpPah3TKJu3k3hFvfhC8K55kuVIaFsnI2Q H8QHuYwCganm8wY2HbqNs1NoClstMe8mFKiD23U= X-Received: by 2002:a05:6214:f0f:b0:56e:a9d4:428a with SMTP id gw15-20020a0562140f0f00b0056ea9d4428amr9766799qvb.1.1679765636225; Sat, 25 Mar 2023 10:33:56 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.33.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:33:55 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, Greg Kroah-Hartman , "Rafael J. Wysocki" , Frederic Weisbecker , Thomas Gleixner , Ingo Molnar , "Paul E. McKenney" , Josh Triplett Cc: "Joel Fernandes (Google)" , Frederic Weisbecker , Zhouyi Zhou , Will Deacon , Marc Zyngier , rcu , stable@vger.kernel.org Subject: [PATCH v2 04/13] tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem Date: Sat, 25 Mar 2023 17:33:07 +0000 Message-Id: <20230325173316.3118674-5-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362112013047571?= X-GMAIL-MSGID: =?utf-8?q?1761362112013047571?= For CONFIG_NO_HZ_FULL systems, the tick_do_timer_cpu cannot be offlined. However, cpu_is_hotpluggable() still returns true for those CPUs. This causes torture tests that do offlining to end up trying to offline this CPU causing test failures. Such failure happens on all architectures. Fix it by asking the opinion of the nohz subsystem on whether the CPU can be hotplugged. [ Apply Frederic Weisbecker feedback on refactoring tick_nohz_cpu_down(). ] For drivers/base/ portion: Acked-by: Greg Kroah-Hartman Cc: Frederic Weisbecker Cc: "Paul E. McKenney" Cc: Zhouyi Zhou Cc: Will Deacon Cc: Marc Zyngier Cc: rcu Cc: stable@vger.kernel.org Fixes: 2987557f52b9 ("driver-core/cpu: Expose hotpluggability to the rest of the kernel") Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) Acked-by: Frederic Weisbecker Acked-by: Greg Kroah-Hartman Acked-by: Frederic Weisbecker Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- drivers/base/cpu.c | 3 ++- include/linux/tick.h | 2 ++ kernel/time/tick-sched.c | 11 ++++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index 182c6122f815..c1815b9dae68 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c @@ -487,7 +487,8 @@ static const struct attribute_group *cpu_root_attr_groups[] = { bool cpu_is_hotpluggable(unsigned int cpu) { struct device *dev = get_cpu_device(cpu); - return dev && container_of(dev, struct cpu, dev)->hotpluggable; + return dev && container_of(dev, struct cpu, dev)->hotpluggable + && tick_nohz_cpu_hotpluggable(cpu); } EXPORT_SYMBOL_GPL(cpu_is_hotpluggable); diff --git a/include/linux/tick.h b/include/linux/tick.h index bfd571f18cfd..9459fef5b857 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h @@ -216,6 +216,7 @@ extern void tick_nohz_dep_set_signal(struct task_struct *tsk, enum tick_dep_bits bit); extern void tick_nohz_dep_clear_signal(struct signal_struct *signal, enum tick_dep_bits bit); +extern bool tick_nohz_cpu_hotpluggable(unsigned int cpu); /* * The below are tick_nohz_[set,clear]_dep() wrappers that optimize off-cases @@ -280,6 +281,7 @@ static inline void tick_nohz_full_add_cpus_to(struct cpumask *mask) { } static inline void tick_nohz_dep_set_cpu(int cpu, enum tick_dep_bits bit) { } static inline void tick_nohz_dep_clear_cpu(int cpu, enum tick_dep_bits bit) { } +static inline bool tick_nohz_cpu_hotpluggable(unsigned int cpu) { return true; } static inline void tick_dep_set(enum tick_dep_bits bit) { } static inline void tick_dep_clear(enum tick_dep_bits bit) { } diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index b0e3c9205946..68d81a4283c8 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -527,7 +527,7 @@ void __init tick_nohz_full_setup(cpumask_var_t cpumask) tick_nohz_full_running = true; } -static int tick_nohz_cpu_down(unsigned int cpu) +bool tick_nohz_cpu_hotpluggable(unsigned int cpu) { /* * The tick_do_timer_cpu CPU handles housekeeping duty (unbound @@ -535,8 +535,13 @@ static int tick_nohz_cpu_down(unsigned int cpu) * CPUs. It must remain online when nohz full is enabled. */ if (tick_nohz_full_running && tick_do_timer_cpu == cpu) - return -EBUSY; - return 0; + return false; + return true; +} + +static int tick_nohz_cpu_down(unsigned int cpu) +{ + return tick_nohz_cpu_hotpluggable(cpu) ? 0 : -EBUSY; } void __init tick_nohz_init(void) From patchwork Sat Mar 25 17:33:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74957 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp530212vqo; Sat, 25 Mar 2023 10:36:49 -0700 (PDT) X-Google-Smtp-Source: AK7set9OfwEOXo2AvWvXEEQ5s4dM8EtQhTC6wHww7g24TgnuJwqYaIffYXYqjEvFd3HCvUAQAXjJ X-Received: by 2002:a05:6a20:4f24:b0:d9:3750:3a64 with SMTP id gi36-20020a056a204f2400b000d937503a64mr5897671pzb.8.1679765808912; Sat, 25 Mar 2023 10:36:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765808; cv=none; d=google.com; s=arc-20160816; b=KyQGkmEIpl8kPoMMmQhlJrFKiAQgp2kCmHozyOBCiuEniZDe352lhyThshWWYQSN1Y z5yzaSkczL/8xf/k2n5/d+pn34ieLvBXNC/qriVCu4k2mAiHcAN+5kZSlyZZp7pdsRPw es6T+8+1yA+DYj36wgH3rvv2hY327RmXE9m51ItO/FurUthIAvWuYhgVg0fyZPWb5VMB hbqIUDpB3MMSMaaK/zDmfoqeFvCAxURcSVWBtLu0ARQulHWOvuqtSyFGRMGU2Cro/7ti DbPPD+UtochOydyjt8NwOR9LqpNLVPAIkRLc7ry84l8B7FCCZxpK0A3ZtOTfZoi3S2mO ouFA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=UZ68ufo3dlSNYy/wHT1VSjdWSVn/9QVi14RF92IRYWI=; b=mCE1iEn83ublHRdr+u6VKgvrp/sznmwC6nJO8Kwrl1Pun7v4BI+myC8tqpczL8eA6g ziyl9gm2hzfAfQlxf3ERoBQ0+Xj2zXER8nhQGiTXzYDQ2vAUuYJl2MVb2F+pgAFUhVkS DFYJCXcxrhODxmxy0JWIy3VcYcX7DH4zyExAtjabAGD+s6hJjt19WRq4C6K9zbVVbVhI A31pSTIuGeKcOb9Uk6N83o4/X+pwYPeCoUjSxslxJXKrbgVHdV90T77gw24GQh7tGN4C QYQQXcUpHW6u2Rt3hHx/wiU6You/Q8aL9dNyFUsAJitrxAK1M/MQ/Rre3V20HW0I0q6J i32A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=rewB8GWR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j6-20020a056a00174600b0062607a24e9bsi24898525pfc.68.2023.03.25.10.36.36; Sat, 25 Mar 2023 10:36:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=rewB8GWR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231915AbjCYReU (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231642AbjCYReF (ORCPT ); Sat, 25 Mar 2023 13:34:05 -0400 Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com [IPv6:2607:f8b0:4864:20::f36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7036293EA for ; Sat, 25 Mar 2023 10:33:58 -0700 (PDT) Received: by mail-qv1-xf36.google.com with SMTP id g9so3760484qvt.8 for ; Sat, 25 Mar 2023 10:33:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765637; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UZ68ufo3dlSNYy/wHT1VSjdWSVn/9QVi14RF92IRYWI=; b=rewB8GWRioBBXQ0+OtU3LnwuoNElryIFbsJ7aKxQ3weFJvUOxiEB/P7UxUewPyMZSL 0r1HOCc3xjU0O2QHqnA+X150fPaSTJMKWlTF94ORW6ja26gZ/PHxJeG7i9BdXKBpJKvN b0lzksxsctNEHyjKRiwt0rOdpfybqKxHJnJAk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765637; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UZ68ufo3dlSNYy/wHT1VSjdWSVn/9QVi14RF92IRYWI=; b=Y98DE1hS/KLlnAHVSUgRJKcMrrzf9ndejnq2rfPpfDNQx7txFaW7Q55xL9nnYFGo5C GXJ7CXkWYrgypHHxOTzQkfqkKCKgDzidI+N4iuUzEq7oXt4iktAssOmDEceK6BUf06x3 ECgVYxXiMino5T1jRQet9+CRMxPzP5NkUKcIuQhtyUVXHz6ECuBOFAFUantMYSffeBIM 9q4vrK3qJR9l8ZLLjaMU4IoJYr+jQ1qu5/YamUSXwclevAyOWxk2enK5mhNZ2AlTlmSA 8tW/sg7eOXTBOnNKs7ZRjTt4QPqToKEJJXiSHj44Q8a0daeWGdNwF/RE/6W79hWL7hJ8 ZDpA== X-Gm-Message-State: AAQBX9dWGzNA5Bo25Im94pJc2y+7BCGhhdAfgvEoXXuHMoIbCIoUnoQv 8SMnLVfo6giHyP+j+e0HzM1A5pb5ElKXBGH5UbU= X-Received: by 2002:a05:6214:2604:b0:5ab:e259:b2a9 with SMTP id gu4-20020a056214260400b005abe259b2a9mr13217724qvb.14.1679765637340; Sat, 25 Mar 2023 10:33:57 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.33.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:33:56 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, Steven Rostedt , Masami Hiramatsu Cc: Xu Panda , Yang Yang , "Paul E . McKenney" , Joel Fernandes , linux-trace-kernel@vger.kernel.org Subject: [PATCH v2 05/13] rcu/trace: use strscpy() to instead of strncpy() Date: Sat, 25 Mar 2023 17:33:08 +0000 Message-Id: <20230325173316.3118674-6-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362112896030984?= X-GMAIL-MSGID: =?utf-8?q?1761362112896030984?= From: Xu Panda This commit saves a line of code by switching from strncpy() to strscpy() by permitting the later NUL assignment to be removed. While in the area, save another line by taking advantage of 100 characters. Signed-off-by: Xu Panda Signed-off-by: Yang Yang Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- include/trace/events/rcu.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h index 90b2fb0292cb..c19ac1fa8a60 100644 --- a/include/trace/events/rcu.h +++ b/include/trace/events/rcu.h @@ -776,9 +776,7 @@ TRACE_EVENT_RCU(rcu_torture_read, ), TP_fast_assign( - strncpy(__entry->rcutorturename, rcutorturename, - RCUTORTURENAME_LEN); - __entry->rcutorturename[RCUTORTURENAME_LEN - 1] = 0; + strscpy(__entry->rcutorturename, rcutorturename, RCUTORTURENAME_LEN); __entry->rhp = rhp; __entry->secs = secs; __entry->c_old = c_old; From patchwork Sat Mar 25 17:33:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74959 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp530561vqo; Sat, 25 Mar 2023 10:37:44 -0700 (PDT) X-Google-Smtp-Source: AKy350ZxSbqZ4EtILChwxedNposKOMVFddbyWfFrleDUcCV+JnC38RWWRH3VuviDkcrD23pZgQUW X-Received: by 2002:a17:90a:1943:b0:23d:3057:12a3 with SMTP id 3-20020a17090a194300b0023d305712a3mr7358731pjh.27.1679765864242; Sat, 25 Mar 2023 10:37:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765864; cv=none; d=google.com; s=arc-20160816; b=05WW75+fEDHpNG6Itvb02B8AujB1+PKBxnWKnCPULqj7V/Cg5jMAUhToEXJK1Bgd+D drOgjbu83WrTlK8SLKEQL4IYq14DijFb4DCdrDTnEhUcg+aXW88kpAFQCVp9r+ZRNCR7 zmFDjC1atBcUq0m10/7yPf1zJcwnUQrMxkDq4Foebh9O+uEyhxo1mJfG7iZv17Po+0PT LtZnAycLvCMTFR6uY9F9869bsjNwjfUYymZlm+YgAv4jOtitA73ZGffrJc55cHavN0pH nhXW7g+85cLFJXodV6fQIP/gKtLwvHyKH0z9wan8OrdoHNUmsWzD8M87KIheFhCLAXZD ESVg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=E6Aj0mbJD/qZB0r2J2tLnHasIPmuosonkIp69GrjB7E=; b=a4KIDMFbOL6M5JrCmNJcIvFzUFYBemAUzbOy6+2PZHWO9OFTMx7suFmKAFqh7Rx4ZL 9LYvV95+eyggvAKtdTtKjEbGUqphkTQF4utjcQAP+zsQhCZzRRUs/srTr9sVKCYj2BS2 OV/jt2a17/siQoH0HXuhvipjokKI2tu6sUvQOGt190tHsXALNvwcME1SO+AQZFhI683X rWozXNMyOdhLsveJudAul2tGNEe/xtjcYKIQACQi9X7Jg2+kLb/QmyX5uctlFov4QmG6 03WTmm4cLBmjEb+Fz/VIud6so8WLQQRRlx5s+E5TAO31JP4t0C5u1W67Oih9KpOCklCc S2HA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=Y0ARwJXZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r137-20020a632b8f000000b0050fbc594e1asi10152982pgr.207.2023.03.25.10.37.31; Sat, 25 Mar 2023 10:37:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=Y0ARwJXZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231940AbjCYReX (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36762 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231716AbjCYReG (ORCPT ); Sat, 25 Mar 2023 13:34:06 -0400 Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com [IPv6:2607:f8b0:4864:20::836]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93FA29EC4 for ; Sat, 25 Mar 2023 10:33:59 -0700 (PDT) Received: by mail-qt1-x836.google.com with SMTP id g19so4488734qts.9 for ; Sat, 25 Mar 2023 10:33:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=E6Aj0mbJD/qZB0r2J2tLnHasIPmuosonkIp69GrjB7E=; b=Y0ARwJXZKYTnxN/qpI5CVYzmurO4mC3453dcb5GLWg6JjriSKj0CM3lb+Msiqq3XWO 8HbIL+kk+3wbPn+tXBcGbmQKysL7d06+QRHdQYwQ3p0g0UcR6SNyLI7wxwREnGr+UCHq aSKCZrC2vRIuhioqVrVNyibAqvhLuYcxJlqJo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=E6Aj0mbJD/qZB0r2J2tLnHasIPmuosonkIp69GrjB7E=; b=AwQ8s/74B/1BIHVbzg2KczXMIrdSnvEw5O/Ktp7Uf7bI56Hu5+6Os85J47im/fXLMU 92Z+6QxLEIG3v6ckmQmXxpgk8bB0mMaN2FNOUYNGNLl12B+sG9Uk6WWxZktR1prvT5Bx aZD0rfGCo1N++APTxDQgPNgj7hgVBl4LLQrR/0M0Yeym1EshRt/66RvEiJc0Aqq1B1YJ zlCn0i5n/nErjITKPCwS6qGf5erdoAIrwlcJcga9Oz85zyAE/appQoCubmio/wA2tHJN T7uw6w1Ls2pr2hFOpx39i7seHBM5kN9gBHSDvXi20lcDMUWOsN9HcOeqk/buqjzDumrw LOhw== X-Gm-Message-State: AO0yUKWML3ZEP4Pquq3a4l03r5cvmMu6Nx46Nb0zOjNghbAkrxoAI+UB L7GLdd43rCB4KUXwpwXpSl7vXTOCgyWTVGUkGyQ= X-Received: by 2002:ac8:5b96:0:b0:3bf:c9d1:4276 with SMTP id a22-20020ac85b96000000b003bfc9d14276mr11467681qta.5.1679765638478; Sat, 25 Mar 2023 10:33:58 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.33.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:33:58 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang Cc: rcu@vger.kernel.org Subject: [PATCH v2 06/13] rcu: Fix set/clear TICK_DEP_BIT_RCU_EXP bitmask race Date: Sat, 25 Mar 2023 17:33:09 +0000 Message-Id: <20230325173316.3118674-7-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362171077220196?= X-GMAIL-MSGID: =?utf-8?q?1761362171077220196?= From: Zqiang For kernels built with CONFIG_NO_HZ_FULL=y, the following scenario can result in the scheduling-clock interrupt remaining enabled on a holdout CPU after its quiescent state has been reported: CPU1 CPU2 rcu_report_exp_cpu_mult synchronize_rcu_expedited_wait acquires rnp->lock mask = rnp->expmask; for_each_leaf_node_cpu_mask(rnp, cpu, mask) rnp->expmask = rnp->expmask & ~mask; rdp = per_cpu_ptr(&rcu_data, cpu1); for_each_leaf_node_cpu_mask(rnp, cpu, mask) rdp = per_cpu_ptr(&rcu_data, cpu1); if (!rdp->rcu_forced_tick_exp) continue; rdp->rcu_forced_tick_exp = true; tick_dep_set_cpu(cpu1, TICK_DEP_BIT_RCU_EXP); The problem is that CPU2's sampling of rnp->expmask is obsolete by the time it invokes tick_dep_set_cpu(), and CPU1 is not guaranteed to see CPU2's store to ->rcu_forced_tick_exp in time to clear it. And even if CPU1 does see that store, it might invoke tick_dep_clear_cpu() before CPU2 got around to executing its tick_dep_set_cpu(), which would still leave the victim CPU with its scheduler-clock tick running. Either way, an nohz_full real-time application running on the victim CPU would have its latency needlessly degraded. Note that expedited RCU grace periods look at context-tracking information, and so if the CPU is executing in nohz_full usermode throughout, that CPU cannot be victimized in this manner. This commit therefore causes synchronize_rcu_expedited_wait to hold the rcu_node structure's ->lock when checking for holdout CPUs, setting TICK_DEP_BIT_RCU_EXP, and invoking tick_dep_set_cpu(), thus preventing this race. Signed-off-by: Zqiang Reviewed-by: Frederic Weisbecker Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree_exp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index 249c2967d9e6..7cc4856da081 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -594,6 +594,7 @@ static void synchronize_rcu_expedited_wait(void) struct rcu_data *rdp; struct rcu_node *rnp; struct rcu_node *rnp_root = rcu_get_root(); + unsigned long flags; trace_rcu_exp_grace_period(rcu_state.name, rcu_exp_gp_seq_endval(), TPS("startwait")); jiffies_stall = rcu_exp_jiffies_till_stall_check(); @@ -602,17 +603,17 @@ static void synchronize_rcu_expedited_wait(void) if (synchronize_rcu_expedited_wait_once(1)) return; rcu_for_each_leaf_node(rnp) { + raw_spin_lock_irqsave_rcu_node(rnp, flags); mask = READ_ONCE(rnp->expmask); for_each_leaf_node_cpu_mask(rnp, cpu, mask) { rdp = per_cpu_ptr(&rcu_data, cpu); if (rdp->rcu_forced_tick_exp) continue; rdp->rcu_forced_tick_exp = true; - preempt_disable(); if (cpu_online(cpu)) tick_dep_set_cpu(cpu, TICK_DEP_BIT_RCU_EXP); - preempt_enable(); } + raw_spin_unlock_irqrestore_rcu_node(rnp, flags); } j = READ_ONCE(jiffies_till_first_fqs); if (synchronize_rcu_expedited_wait_once(j + HZ)) From patchwork Sat Mar 25 17:33:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74955 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp530202vqo; Sat, 25 Mar 2023 10:36:47 -0700 (PDT) X-Google-Smtp-Source: AKy350bdqIN2VA15mwt4Nq6D6eSN1YWo7csddShw9dOMI3Oeq7Tl4mRZbOWeTaZ9BWveOHos5kyS X-Received: by 2002:a17:902:fa46:b0:1a0:514c:c2d2 with SMTP id lb6-20020a170902fa4600b001a0514cc2d2mr5952884plb.68.1679765807297; Sat, 25 Mar 2023 10:36:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765807; cv=none; d=google.com; s=arc-20160816; b=MPNi69fTZ3aQ+lH3p8nYyd0h4AvlvTrnw2yrNqVAaZVzYGe0nY17V+QO74p0SoP+AH 6dHOuHBGyR4RI3yrHc6KBOln8Ysf/AMZKpWl9QXHcAuPOXlQa6OSVFnr2Akic+wvx7aT C/MUuXKSRqhp4uiNcnl2lQxWIn2RdLLTMwehmSKetxiZk5CwptfE8MMPA34dSR3Q+Xi8 xTtXSoWiHPkmbL73T33mS2SKahjvnrLErPg3n05Mwl0hDUi8ogBo4dNTAvUzpCnfsScY +dDbjmhYp8jfVPPnOEHEAkaEnjM48bEu7s2gRRvsX7RCUoAOGWN/93kd+LxR+sd4e+hx PxJA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WkqhMIgatpcxnL+zHWHZ8wmMPBfEMgxQ9GLo+81Qz2Y=; b=BCK/gf51X3TRJ+x/uqK849kFkTgHcuIcJ/nEc9Pky8lnddDbQ4nRlGKBpympWeRTfk P5sC1Qm2OclXxt+/dDWXwQcz2aXmJiEpUZpb7VOqBsGwF7zMSKpEM++5v32PtoBOFEyS uq9VvF6rCb8iGWeCa65RZmIfwNeQEcwqNEmMJR6hoqH6wsGszMThznr5mh/Qx2JXfUlO sHH80RLeJ9qqRWiV4RWaWOYxNT8ptY63mhBddlPIYBw27n3o4y21mjkwdcn/Bv8oWryw 628LxMjwQ11kMKjm+W5yW6ffVBjSH31wXZnP+ZB7ifEgQ2cITGFMsFioCROYuPsCeC0T ZhYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=urQ3eGiS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h5-20020a170902f54500b001a216fddd02si4604446plf.648.2023.03.25.10.36.34; Sat, 25 Mar 2023 10:36:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=urQ3eGiS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231956AbjCYReZ (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231801AbjCYReG (ORCPT ); Sat, 25 Mar 2023 13:34:06 -0400 Received: from mail-qv1-xf29.google.com (mail-qv1-xf29.google.com [IPv6:2607:f8b0:4864:20::f29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C5458E3A1 for ; Sat, 25 Mar 2023 10:34:00 -0700 (PDT) Received: by mail-qv1-xf29.google.com with SMTP id m16so3708014qvi.12 for ; Sat, 25 Mar 2023 10:34:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765640; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WkqhMIgatpcxnL+zHWHZ8wmMPBfEMgxQ9GLo+81Qz2Y=; b=urQ3eGiSW39KOAg6HtdLQrdsQBhLE8fe/4vhcVkRPGPen+juA88G3/CNjtLggI5yz+ /Hsq3yl9CS37DT4iPWQayHWqbtRy9ZytQ8GAhvPbolMecAoOjwgCOLok1U+uYBLXNFGT fF2bATwed5QWM3wvD1atFjToYeb3jtgI3zZSQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765640; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WkqhMIgatpcxnL+zHWHZ8wmMPBfEMgxQ9GLo+81Qz2Y=; b=b9OmN0FfC+lJeTNdF24o1YooetMMrcOod7dB/w2EJElz6Pe9ORgHFRmIr4xr0PXQJP NqksVOhRng5WReSUNLkaWN6FS+rsU2+l9/ApdCEdixK9NTw6ArCmCvODZHVv2gGeRNbc FWgDKVzYYhfZ8ghPGO1hbU9+i/awX0AgdHcnLkoZPweHFEziRmCGqn73O45jmBSZIK6a UVRttUCecPShNsi8Qv7XpO9/G7FZwIiaLk6zkpqoUwqFFGoXSwKULdvUy9Ikk6er9vt9 +sQNxnSJz8q7VdqHLOhdli7VQbg01s3puQs9dM0HFGg/w0xyZgY3fFv6KmVM36tDak5/ iigA== X-Gm-Message-State: AAQBX9cZxF6/QKUch2UlxH7zAi0gm65YXz7Mn5C9CgBKSEB+QPAYBiDZ luc5/hbt1imU2jOLGgKUPUS6rOgOhxStnl70HRg= X-Received: by 2002:a05:6214:27c6:b0:574:97e9:e21c with SMTP id ge6-20020a05621427c600b0057497e9e21cmr11359421qvb.4.1679765639777; Sat, 25 Mar 2023 10:33:59 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.33.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:33:59 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, Steven Rostedt , Masami Hiramatsu , Frederic Weisbecker , Thomas Gleixner , Ingo Molnar , "Paul E. McKenney" Cc: Zqiang , Anna-Maria Behnsen , Frederic Weisbecker , Joel Fernandes , linux-trace-kernel@vger.kernel.org Subject: [PATCH v2 07/13] rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check Date: Sat, 25 Mar 2023 17:33:10 +0000 Message-Id: <20230325173316.3118674-8-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362111147394130?= X-GMAIL-MSGID: =?utf-8?q?1761362111147394130?= From: Zqiang This commit adds checks for the TICK_DEP_MASK_RCU_EXP bit, thus enabling RCU expedited grace periods to actually force-enable scheduling-clock interrupts on holdout CPUs. Fixes: df1e849ae455 ("rcu: Enable tick for nohz_full CPUs slow to provide expedited QS") Signed-off-by: Zqiang Cc: Steven Rostedt Cc: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Anna-Maria Behnsen Acked-by: Frederic Weisbecker Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- include/trace/events/timer.h | 3 ++- kernel/time/tick-sched.c | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/trace/events/timer.h b/include/trace/events/timer.h index 2e713a7d9aa3..3e8619c72f77 100644 --- a/include/trace/events/timer.h +++ b/include/trace/events/timer.h @@ -371,7 +371,8 @@ TRACE_EVENT(itimer_expire, tick_dep_name(PERF_EVENTS) \ tick_dep_name(SCHED) \ tick_dep_name(CLOCK_UNSTABLE) \ - tick_dep_name_end(RCU) + tick_dep_name(RCU) \ + tick_dep_name_end(RCU_EXP) #undef tick_dep_name #undef tick_dep_mask_name diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 68d81a4283c8..a46506f7ec6d 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -281,6 +281,11 @@ static bool check_tick_dependency(atomic_t *dep) return true; } + if (val & TICK_DEP_MASK_RCU_EXP) { + trace_tick_stop(0, TICK_DEP_MASK_RCU_EXP); + return true; + } + return false; } From patchwork Sat Mar 25 17:33:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74952 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp529690vqo; Sat, 25 Mar 2023 10:35:29 -0700 (PDT) X-Google-Smtp-Source: AKy350ZWAuwE57fOIuh/+jQp4jtTYiDV7rNHK2aUeiMUJ8lROcIm79hwe+iZ3S0xXxgvfJuvttB7 X-Received: by 2002:a17:90b:314c:b0:23f:b609:e704 with SMTP id ip12-20020a17090b314c00b0023fb609e704mr6823114pjb.1.1679765728957; Sat, 25 Mar 2023 10:35:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765728; cv=none; d=google.com; s=arc-20160816; b=KN1IfVOfOgDWzcue3s3w6I9SGMmBauvVNVPksCvsUwA6R7X8qcsMSDNlVLtWZ/1lQO r0uO+Yfe+HsFZz4dEs2be947/Ssifcw4Sy9CEKP3JcVilLzsGnmO6YtuQ9jIVwZIYSJ7 a5PzxJ8z0N93dqxkSaXCJH6ydxFd9CjH6RPi9PiOh/j9aUOjy8LbL++OetVoK6H/zloB +dh8YHbTCrnI+P6OWAK2UjNG6lkQQUZKQ5Nk3w2kNrecx40wjkF+tzviRx0k+KkFeyTB VgEEKtEDdu1igdT0qt78kJ0Ei000+OGnJDAvpJt4K9I7cGTLK4tlhZw/APlkIGAUUwW0 nTXQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=QyrXPYue4+kcgnuVhPQbl4hTj4jaTNBfGwV5VXHSeY8=; b=QGswzag1gY2wrB7+VtqMsON8VzbQJAAg4LPTKYpoKl/Ib3mDfWkU/Q1OpxSG+bzQx/ AjTWoT1uMaHTB1dKi/rFBVzc+YP6ANssWAI9FlJG32aZ1RsM+FTasX0KJZflUrTr8qyE cmsT08Dj0f9UvRDndBUXRbrBlD1gK3xs2pg9RLNPG9OcO5hup0SJT6EIimkLkDrodENU eBdJUtAp/BlHBGfeEmtT4o9RwRm345rkURFMWoc9wYX6YquJ2FtAZZ+1Hza1D1HlmZr6 KY8T//Zoi+Qnh3+oS8auryr3wqZZ9/D5p/3tP8Yimk5b2ywL8iFe7XPCFuTnOgO2Xl43 hhFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=wY7sjFYp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pc15-20020a17090b3b8f00b0023d422d08c6si7399642pjb.27.2023.03.25.10.35.16; Sat, 25 Mar 2023 10:35:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=wY7sjFYp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231985AbjCYRe2 (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36762 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231737AbjCYReH (ORCPT ); Sat, 25 Mar 2023 13:34:07 -0400 Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com [IPv6:2607:f8b0:4864:20::836]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0BAE4C677 for ; Sat, 25 Mar 2023 10:34:02 -0700 (PDT) Received: by mail-qt1-x836.google.com with SMTP id ga7so4521000qtb.2 for ; Sat, 25 Mar 2023 10:34:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765641; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QyrXPYue4+kcgnuVhPQbl4hTj4jaTNBfGwV5VXHSeY8=; b=wY7sjFYpq8YfHJuBRa5ndpAjxilKOxdXrz02f1B0SQldgeClltUK0+9Vtv54p+zDPm dRF+8T5ZRft8VqUNlEvzSiiq2rG7I7wFmObEc8Dm9u9xHEzCF0D2P+oJfF8dJ3lmlyql fjeWspj+q+fR+IxsTM6N1CXB47IUmZZ28GsLs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765641; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QyrXPYue4+kcgnuVhPQbl4hTj4jaTNBfGwV5VXHSeY8=; b=uns0RzxwYOOSLvPOkMdBv2ur2/arKPuhAnSygHNBECxdsXzZlbiSuXiR+nPVfNY4V3 RJwKNudOBmp+glxoojTwwqKyLQp/t840iPsgnb4MS1CPVPU0w9a6Fd0whdgf2OQyd5K7 BKmZwSfwsZKC6ZIRHcxd85HZCB3Hajod+XEbOqfxqB7krEXfzztTeLVb2BTzNTx2gpu5 9oZfiKXtMOYjlbxxPw9gy9GqfPBu+59HGkSVcpvToeRpS9xhU2oQoswNywHGekPrV7J4 z4K5c4LYfklt5WVXNLIi/zp7kX4zrFEgix54hLdrupQuICZG3ajwCJgNJnKgmuX1QOIs kXWw== X-Gm-Message-State: AO0yUKW7Qn2O8Yb/vjWUHJW5z/3Lg3msjDMatWnCVrwoQNTaBsPHCXs3 rvDHJoZfh3e7g+59lHKFihTsF/W4GwIXMQWt7r0= X-Received: by 2002:a05:622a:1749:b0:3e3:a298:7928 with SMTP id l9-20020a05622a174900b003e3a2987928mr12730734qtk.9.1679765640939; Sat, 25 Mar 2023 10:34:00 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.34.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:34:00 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang Cc: rcu@vger.kernel.org Subject: [PATCH v2 08/13] rcu: Register rcu-lazy shrinker only for CONFIG_RCU_LAZY=y kernels Date: Sat, 25 Mar 2023 17:33:11 +0000 Message-Id: <20230325173316.3118674-9-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362029217304974?= X-GMAIL-MSGID: =?utf-8?q?1761362029217304974?= From: Zqiang The lazy_rcu_shrink_count() shrinker function is registered even in kernels built with CONFIG_RCU_LAZY=n, in which case this function uselessly consumes cycles learning that no CPU has any lazy callbacks queued. This commit therefore registers this shrinker function only in the kernels built with CONFIG_RCU_LAZY=y, where it might actually do something useful. Signed-off-by: Zqiang Reviewed-by: Frederic Weisbecker Reviewed-by: Joel Fernandes (Google) Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree_nocb.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h index 9e1c8caec5ce..f2280616f9d5 100644 --- a/kernel/rcu/tree_nocb.h +++ b/kernel/rcu/tree_nocb.h @@ -1312,6 +1312,7 @@ int rcu_nocb_cpu_offload(int cpu) } EXPORT_SYMBOL_GPL(rcu_nocb_cpu_offload); +#ifdef CONFIG_RCU_LAZY static unsigned long lazy_rcu_shrink_count(struct shrinker *shrink, struct shrink_control *sc) { @@ -1360,6 +1361,7 @@ static struct shrinker lazy_rcu_shrinker = { .batch = 0, .seeks = DEFAULT_SEEKS, }; +#endif // #ifdef CONFIG_RCU_LAZY void __init rcu_init_nohz(void) { @@ -1391,8 +1393,10 @@ void __init rcu_init_nohz(void) if (!rcu_state.nocb_is_setup) return; +#ifdef CONFIG_RCU_LAZY if (register_shrinker(&lazy_rcu_shrinker, "rcu-lazy")) pr_err("Failed to register lazy_rcu shrinker!\n"); +#endif // #ifdef CONFIG_RCU_LAZY if (!cpumask_subset(rcu_nocb_mask, cpu_possible_mask)) { pr_info("\tNote: kernel parameter 'rcu_nocbs=', 'nohz_full', or 'isolcpus=' contains nonexistent CPUs.\n"); From patchwork Sat Mar 25 17:33:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74953 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp529697vqo; Sat, 25 Mar 2023 10:35:30 -0700 (PDT) X-Google-Smtp-Source: AK7set/zqxxqhPmzO/iksozgLLYO1ecfdKE3Gw82+Ullb6qcQA4Py1Ct5C6YD36rTtinnCNhevoC X-Received: by 2002:a05:6a20:4890:b0:da:90e5:fc17 with SMTP id fo16-20020a056a20489000b000da90e5fc17mr6301347pzb.13.1679765730141; Sat, 25 Mar 2023 10:35:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765730; cv=none; d=google.com; s=arc-20160816; b=ffhBlinShG7KJfQn1E/vRz2BD+W7z4z/zcZHznjdRwg+XjY+lenuwSXx5ZUrH/dYJv snCoxUepoagPZeW6iIpGcxBqPbEyJ0HfTvv1uvVJvHAprWuyITRIfxnoXzntKOijNHDn ygIQKWFEBP6v5izqcxhYA0E7DuP+i8a76uMogxyIsWDjdi2uo5ZWoaqxjyY1i+wX7X8z vWOShdQZAMiVvapXMRJp4Kcux6shdrIq67Xnu690uRQ05/6CpptdhtuvErEqIVt8Qz1Q fC+aYdv/UNTiJ2zAVzOh1gtTRrlkl7rtA5Kt0kLCcCEetkKvYip8Mu+4sn74iqIlmGHD jCpQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=QibGVAzBv0gTWQqE5TFgxflup7tk3PummO3A7I5nlFU=; b=AFniOu4b1q341VlKWdMKH1VUClS7CBheyAwXWVuDbkfRqsi2Jqtsgi22kv3sG34MWg 4Rd3xh3CU1h4mzbSKkCChDRflmrl+EcaFX39WfF8lV2Mk1+drYGZyJKt8g4p0P2CXNXA 5CGBflrrX23yPbdNhG3fIKTtPDQ7XuAAnPncbEWDTGuRMN7KqvgTxqKvWV0e2xf7Vw47 JVXI/Pw2qgqE6/lH+lOE0U7rq/o8ppuKEp5ZIrpvBjo9U4pWMxsns8xB0QXYREGdCewf VIyCo5BPfPty2NX5G+XVJJRsGJVokVKha2Rd4uCHq+JrugkPqdEpjswPcdSZpXzPjf5p 1dQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=Bitiwir0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o18-20020a63e352000000b0050bebc3e35bsi24419698pgj.766.2023.03.25.10.35.17; Sat, 25 Mar 2023 10:35:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=Bitiwir0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231840AbjCYRec (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231771AbjCYReH (ORCPT ); Sat, 25 Mar 2023 13:34:07 -0400 Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com [IPv6:2607:f8b0:4864:20::82b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1EA3CA37 for ; Sat, 25 Mar 2023 10:34:02 -0700 (PDT) Received: by mail-qt1-x82b.google.com with SMTP id a5so4504496qto.6 for ; Sat, 25 Mar 2023 10:34:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765642; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QibGVAzBv0gTWQqE5TFgxflup7tk3PummO3A7I5nlFU=; b=Bitiwir0A9IEj0P20k33ypH0Yu5zV4sW3y+VbbmcQ3jA6Nw5b2VS13k98mZrzbC630 re3JkfEMsrpKvdzMDtvWdQOgOvAHYSdj4qWTk+3WFFSEZJYUii/o8lbJ/uIyU9P+yTcs eil2loMErO49vAu9dR/zDfZq5DfkTdczeMp8c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765642; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QibGVAzBv0gTWQqE5TFgxflup7tk3PummO3A7I5nlFU=; b=fhJPHnbP5J3nhg0Wl2qNoAAsmoLgeqGzojhPuU0gnF1UsPbBCqwZ7QarlCXyZNdq6x PeGxkscdx7MWlst1QNgQaKuHm8LEIjnUOsy0Ry+1GwT73x59odJFhEnFEadZ5nms4TVf JxBxZiKC2tlKQagMnwoAhg4VdQGdm9ovCt8gBrzdm5bImd4x11ZCOQmyioim1aXqdTB5 DM8z5upX3+eDJ/yn7rrJM0PMWeyE8M/wB5XcqC0TBbr8GFDeGm7eDi4191gktwbuE4eY 5t4jicTnbDetC1q2IMREZFVbJb9sPQpkmfQbc0hva+y8nZ5IA/sX3lZarhfbMqIM99NY tSOg== X-Gm-Message-State: AAQBX9el5uGthstIYTyFAWYnycyOignSU/G63aXqrsI73Uw0MamFfs/W g4t6vf5vQ5akz6PEAGh0XD7c/NqPpeDtbbmKgww= X-Received: by 2002:ac8:7c48:0:b0:3e3:8bcd:23cb with SMTP id o8-20020ac87c48000000b003e38bcd23cbmr10851438qtv.29.1679765642081; Sat, 25 Mar 2023 10:34:02 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.34.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:34:01 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang Cc: rcu@vger.kernel.org Subject: [PATCH v2 09/13] rcu: Remove never-set needwake assignment from rcu_report_qs_rdp() Date: Sat, 25 Mar 2023 17:33:12 +0000 Message-Id: <20230325173316.3118674-10-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362030001625268?= X-GMAIL-MSGID: =?utf-8?q?1761362030001625268?= From: Zqiang The rcu_accelerate_cbs() function is invoked by rcu_report_qs_rdp() only if there is a grace period in progress that is still blocked by at least one CPU on this rcu_node structure. This means that rcu_accelerate_cbs() should never return the value true, and thus that this function should never set the needwake variable and in turn never invoke rcu_gp_kthread_wake(). This commit therefore removes the needwake variable and the invocation of rcu_gp_kthread_wake() in favor of a WARN_ON_ONCE() on the call to rcu_accelerate_cbs(). The purpose of this new WARN_ON_ONCE() is to detect situations where the system's opinion differs from ours. Signed-off-by: Zqiang Reviewed-by: Frederic Weisbecker Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 8e880c09ab59..e80e8f128c57 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -1955,7 +1955,6 @@ rcu_report_qs_rdp(struct rcu_data *rdp) { unsigned long flags; unsigned long mask; - bool needwake = false; bool needacc = false; struct rcu_node *rnp; @@ -1987,7 +1986,12 @@ rcu_report_qs_rdp(struct rcu_data *rdp) * NOCB kthreads have their own way to deal with that... */ if (!rcu_rdp_is_offloaded(rdp)) { - needwake = rcu_accelerate_cbs(rnp, rdp); + /* + * The current GP has not yet ended, so it + * should not be possible for rcu_accelerate_cbs() + * to return true. So complain, but don't awaken. + */ + WARN_ON_ONCE(rcu_accelerate_cbs(rnp, rdp)); } else if (!rcu_segcblist_completely_offloaded(&rdp->cblist)) { /* * ...but NOCB kthreads may miss or delay callbacks acceleration @@ -1999,8 +2003,6 @@ rcu_report_qs_rdp(struct rcu_data *rdp) rcu_disable_urgency_upon_qs(rdp); rcu_report_qs_rnp(mask, rnp, rnp->gp_seq, flags); /* ^^^ Released rnp->lock */ - if (needwake) - rcu_gp_kthread_wake(); if (needacc) { rcu_nocb_lock_irqsave(rdp, flags); From patchwork Sat Mar 25 17:33:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74961 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp532112vqo; Sat, 25 Mar 2023 10:41:56 -0700 (PDT) X-Google-Smtp-Source: AKy350a+Axmsmw1uqsCtIkiP0eunrS7qOpABSP7v40o104Dyu5lJL6En6HF1nJOqck+KWUmyyzsf X-Received: by 2002:a17:903:18b:b0:19e:8267:9590 with SMTP id z11-20020a170903018b00b0019e82679590mr7756516plg.41.1679766116192; Sat, 25 Mar 2023 10:41:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679766116; cv=none; d=google.com; s=arc-20160816; b=P1O9zTujRqifqtpjcgYjKNQrLfNVYK3VSrpLjsXetZz+xDAoN4vuYfAnco06gvQpOa bmSWCKnD0QS+ZTY5aT35e5/NEjtEkwclKV3UfZPkAYtYQMCYX7IFBoAI8LxdsbyfrGaJ zwGmoBcbIQxg5TiZWFxUrSYuDrw82npohGpAyHZIdWq4cMOx6icS/OGtoSY8gMDQJxgi hRDaUhHX5jMPhD1fzrcLl6BCnos9Vc2EhsMx0sR+Skw/DhMARV6FBOfloq1PJm2QeY8K PngW4zpYDBODZIRdCFzJ6MrynLr3bx1O4offVSxdRs/+8FfnHJAIWawKxizYMs7P5UEQ qenA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Q6C53sn27NuA32AX3ykr9qVTka3YNyXyLo2FHjcHAPk=; b=eoprdJSxunX5++bdhOtISTMz24oKDigg+af/WHVnVJy7iHSgBLy07wdTno48zS5/0B 0Ss8RzzrRF4d/jLvon9ozBu8wP7NkQ3FSKSpd92r7orSfhcd/lNl9EFAKCnHnisjDZEN Ld+MzRB1ZPBPJSxPQs9eOK8nE2ThWqdHH4zUz8UI4BFTYVB/LMaY6oWcraGOX2bAexM8 oFO41MYuHcHXDIErvnAo/akKlnRHCkPO3J/XZnCtQeLaXCwlH2QO7LqZBqQdAWqmCmni MV/5P610yBwT43D23o1IhxMgm8kGdgC/n+tT7+5L67Le8H29x749zAZFafL/TWMSysb7 hjcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=yhQE5Jit; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r137-20020a632b8f000000b0050fbc594e1asi10152982pgr.207.2023.03.25.10.41.43; Sat, 25 Mar 2023 10:41:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=yhQE5Jit; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232051AbjCYReg (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231825AbjCYReK (ORCPT ); Sat, 25 Mar 2023 13:34:10 -0400 Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com [IPv6:2607:f8b0:4864:20::82c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4E71DBE6 for ; Sat, 25 Mar 2023 10:34:04 -0700 (PDT) Received: by mail-qt1-x82c.google.com with SMTP id hf2so4509967qtb.3 for ; Sat, 25 Mar 2023 10:34:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765643; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Q6C53sn27NuA32AX3ykr9qVTka3YNyXyLo2FHjcHAPk=; b=yhQE5JitzdBNkzY0TYfTzuvOS/VKmMwn5KP2dPiUdYcgdHLPrmvZZ6Np/lG32lNBAd lt9VxOLDD0Yxnj/P9thYO1M/R2JLG12ggb55LdZcQNrb8ZOv8E4OD9ybmGmBVQE7U7t4 vwfVjwDCDMeJ7G6L/7UIbp5+MZFMuw6ebBtYE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765643; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Q6C53sn27NuA32AX3ykr9qVTka3YNyXyLo2FHjcHAPk=; b=7WwpDyrLFOfMLgWrQAQlGTo1rw2TUDwi38VlDwa518KblppmfGfe89W7ADL0VrRlfn InKrXwjINnjLNfaIiujwGVu76Ghg9JREVZjKZL7kDnyVPPPs4evSLVTS2VW0PIpRu7YD DaiiKSe+7LAmYluh8PGehrpyonJ72bJz6uXRpfZlL5R5YSYic++RKZ682LKGqQzngoVp eVtH94aFfgqwFHLi3fABlvF4bTygDk5/hLVr2V/kmAovPGFqey/CO/uzfm5cAcK9c3gv EH0WLE/71ZUlPEZ0d5wctPQzE/7nCPENEsYNHkpqmZM07pg6y0T1IYKdi5E/zDuDBApA t03Q== X-Gm-Message-State: AO0yUKUh42FFaj0pHOuF7KpBk2cUED/zde7f5MVvmFnJV/0xglbhhIR/ mTyUKinMilASvDZQ/TXjuEiw9g/DtltplRi9TlI= X-Received: by 2002:ac8:5787:0:b0:3e3:98af:5de9 with SMTP id v7-20020ac85787000000b003e398af5de9mr12140109qta.63.1679765643455; Sat, 25 Mar 2023 10:34:03 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.34.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:34:03 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang Cc: rcu@vger.kernel.org Subject: [PATCH v2 10/13] rcu: Permit start_poll_synchronize_rcu_expedited() to be invoked early Date: Sat, 25 Mar 2023 17:33:13 +0000 Message-Id: <20230325173316.3118674-11-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362435126869933?= X-GMAIL-MSGID: =?utf-8?q?1761362435126869933?= From: Zqiang According to the commit log of the patch that added it to the kernel, start_poll_synchronize_rcu_expedited() can be invoked very early, as in long before rcu_init() has been invoked. But before rcu_init(), the rcu_data structure's ->mynode field has not yet been initialized. This means that the start_poll_synchronize_rcu_expedited() function's attempt to set the CPU's leaf rcu_node structure's ->exp_seq_poll_rq field will result in a segmentation fault. This commit therefore causes start_poll_synchronize_rcu_expedited() to set ->exp_seq_poll_rq only after rcu_init() has initialized all CPUs' rcu_data structures' ->mynode fields. It also removes the check from the rcu_init() function so that start_poll_synchronize_rcu_expedited( is unconditionally invoked. Yes, this might result in an unnecessary boot-time grace period, but this is down in the noise. Signed-off-by: Zqiang Reviewed-by: Frederic Weisbecker Reviewed-by: Joel Fernandes (Google) Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.c | 5 ++--- kernel/rcu/tree_exp.h | 5 +++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index e80e8f128c57..90d54571126a 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -4942,9 +4942,8 @@ void __init rcu_init(void) else qovld_calc = qovld; - // Kick-start any polled grace periods that started early. - if (!(per_cpu_ptr(&rcu_data, cpu)->mynode->exp_seq_poll_rq & 0x1)) - (void)start_poll_synchronize_rcu_expedited(); + // Kick-start in case any polled grace periods started early. + (void)start_poll_synchronize_rcu_expedited(); rcu_test_sync_prims(); } diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index 7cc4856da081..5343f32e7d67 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -1066,9 +1066,10 @@ unsigned long start_poll_synchronize_rcu_expedited(void) if (rcu_init_invoked()) raw_spin_lock_irqsave(&rnp->exp_poll_lock, flags); if (!poll_state_synchronize_rcu(s)) { - rnp->exp_seq_poll_rq = s; - if (rcu_init_invoked()) + if (rcu_init_invoked()) { + rnp->exp_seq_poll_rq = s; queue_work(rcu_gp_wq, &rnp->exp_poll_wq); + } } if (rcu_init_invoked()) raw_spin_unlock_irqrestore(&rnp->exp_poll_lock, flags); From patchwork Sat Mar 25 17:33:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74954 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp529707vqo; Sat, 25 Mar 2023 10:35:32 -0700 (PDT) X-Google-Smtp-Source: AKy350ai90t1IGyGl7qQisr2cYPrHEJXNKVPWRm/i8Kkv0uq62UZ4n+0+KX4lYsLwVwrSJOONyNU X-Received: by 2002:a62:1b47:0:b0:62a:1267:2042 with SMTP id b68-20020a621b47000000b0062a12672042mr6683276pfb.2.1679765731779; Sat, 25 Mar 2023 10:35:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765731; cv=none; d=google.com; s=arc-20160816; b=qYLc9g8SImpaGoQQ8x5jXV+t8QO4IZFO+LjlOn5Hue6VRQXWs0DwMkLCD0Y5cGMbR+ 7r4Lmr9kmMeaA8rZPMhILKc0C6BvowVylymP1v/e1ZIvZ2qRh+jPbD//sljHosVb8fZG x+9TJxS8d990dV69yDmSVdGYqpo7D5VjDmthXW6FCaG6WWEMWc/JUFFirJqQFrIOk0ar EpaxUAPeygf4+Hdck7aiNKqx2WV/J2gkQAijX9qAkSFUFLE1yvR2p8CdVuuuCQVojSnN 9oFJkAURuIBdGUTx2riPVrbGrtOzxOPVOMuRw/pUVQkOE5MF3uktkK0h38cURtKQvK5D uAaQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=kDgsb2d+hZmc+VQbS7ffR7EbpJzTOYghTZrLGYmTtWc=; b=g17xeDrntKF54OFchLZKFWcP8aZKqQnteK3hXndF0aWGUjE7Ze072SK9QAXvNN7xP9 xBXB0RDKAFbHL10R5xLxOpa2N4KWoLMk92olyJjzQONaFg9lDs1FnVtlxMO3rvCsQdEj C/oAs7aI+q+RW16kUG9Co5FuSfoGWkpwIZWC6NPDUJGSawl3cX5KoqqJ75qxzYkse/L3 Zt7fr/TaTqaOTX00Xafzr6UvwfwRIvub/LTEyEFqwrjzoB6q4ZNqHjfIMoc+g92uAqtr jmgy5KuJj1yzWOv/R3wn1l4MSJU4ZzmDSWkdyQGkS4z85lCd8DQdLJtx0Ty8ZACyMsTo CruA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=jhaF7jMZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bm18-20020a656e92000000b0050fabcb44d7si11993534pgb.308.2023.03.25.10.35.19; Sat, 25 Mar 2023 10:35:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=jhaF7jMZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232097AbjCYRej (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231853AbjCYReL (ORCPT ); Sat, 25 Mar 2023 13:34:11 -0400 Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com [IPv6:2607:f8b0:4864:20::836]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D62AEF81 for ; Sat, 25 Mar 2023 10:34:06 -0700 (PDT) Received: by mail-qt1-x836.google.com with SMTP id a5so4504568qto.6 for ; Sat, 25 Mar 2023 10:34:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765645; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kDgsb2d+hZmc+VQbS7ffR7EbpJzTOYghTZrLGYmTtWc=; b=jhaF7jMZ0YB7rLiRDFZrRklRXt1OS7zPKXAlOrC6Ofk00510pCD4FnDFVqfLxhpUjD BgjbV9/qa/zMtSEVZ9i8O8NwPGlXueA5d8pnRbjRaOifUjtUqVzrrbg4wXpX7QQON0Ga h2cXsbZfUrcDoLDyKLO+AqiHanYO7hZFWtMyw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765645; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kDgsb2d+hZmc+VQbS7ffR7EbpJzTOYghTZrLGYmTtWc=; b=8H2J6UvxKzQ93HcuDsCJtDMntn6PBbTMp8qWY4bX/oaGi4lL208vf4CtGWEtp41GWl PnUielnDXc0VYC8R9aUFkKqndj/YrT/vSDxfnPjgChXCflNsl0Y7d7cfk9MRRWMFCx7S 63xmFMk44HIy1a6BQTH7DTDf13feru2YTepJDmlrK+cZWTKH9obqf/APRgyu3HnIs3Zj PQLAhs521cQ5fkdcEJhEbf+Vtmy+i+whWbMTcOCqjPuL7f7+4rP2oXr3hGM4XcratE/I zWR+/x1G5Di3JBk6qMuQPJfMGgQm55VzVdR+G6P5BMwnPhj4i9ZJ5X5QIftC25ruV1nA ZbzQ== X-Gm-Message-State: AO0yUKVDpcNbnsiUWYZPpwJ0Ns+sV5sxtivEl1tKVBDcvtXe5eXq1Bkp r5q1f05TFYV96z65xUXusjzv/UYY8PgS1/vaHfM= X-Received: by 2002:ac8:5755:0:b0:3e1:7465:91f5 with SMTP id 21-20020ac85755000000b003e1746591f5mr12423604qtx.10.1679765644872; Sat, 25 Mar 2023 10:34:04 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.34.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:34:04 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang Cc: Mark Brown , rcu@vger.kernel.org Subject: [PATCH v2 11/13] rcu-tasks: Report stalls during synchronize_srcu() in rcu_tasks_postscan() Date: Sat, 25 Mar 2023 17:33:14 +0000 Message-Id: <20230325173316.3118674-12-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362031718703129?= X-GMAIL-MSGID: =?utf-8?q?1761362031718703129?= From: Neeraj Upadhyay The call to synchronize_srcu() from rcu_tasks_postscan() can be stalled by a task getting stuck in do_exit() between that function's calls to exit_tasks_rcu_start() and exit_tasks_rcu_finish(). To ease diagnosis of this situation, print a stall warning message every rcu_task_stall_info period when rcu_tasks_postscan() is stalled. [ paulmck: Adjust to handle CONFIG_SMP=n. ] Reported-by: Mark Brown Link: https://lore.kernel.org/rcu/20230111212736.GA1062057@paulmck-ThinkPad-P17-Gen-1/ Signed-off-by: Neeraj Upadhyay Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) Acked-by: Frederic Weisbecker --- kernel/rcu/tasks.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h index bfb5e1549f2b..baf7ec178155 100644 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@ -139,6 +139,12 @@ static struct rcu_tasks rt_name = \ /* Track exiting tasks in order to allow them to be waited for. */ DEFINE_STATIC_SRCU(tasks_rcu_exit_srcu); +#ifdef CONFIG_TASKS_RCU +/* Report delay in synchronize_srcu() completion in rcu_tasks_postscan(). */ +static void tasks_rcu_exit_srcu_stall(struct timer_list *unused); +static DEFINE_TIMER(tasks_rcu_exit_srcu_stall_timer, tasks_rcu_exit_srcu_stall); +#endif + /* Avoid IPIing CPUs early in the grace period. */ #define RCU_TASK_IPI_DELAY (IS_ENABLED(CONFIG_TASKS_TRACE_RCU_READ_MB) ? HZ / 2 : 0) static int rcu_task_ipi_delay __read_mostly = RCU_TASK_IPI_DELAY; @@ -830,6 +836,13 @@ static void rcu_tasks_pertask(struct task_struct *t, struct list_head *hop) /* Processing between scanning taskslist and draining the holdout list. */ static void rcu_tasks_postscan(struct list_head *hop) { + int rtsi = READ_ONCE(rcu_task_stall_info); + + if (!IS_ENABLED(CONFIG_TINY_RCU)) { + tasks_rcu_exit_srcu_stall_timer.expires = jiffies + rtsi; + add_timer(&tasks_rcu_exit_srcu_stall_timer); + } + /* * Exiting tasks may escape the tasklist scan. Those are vulnerable * until their final schedule() with TASK_DEAD state. To cope with @@ -848,6 +861,9 @@ static void rcu_tasks_postscan(struct list_head *hop) * call to synchronize_rcu(). */ synchronize_srcu(&tasks_rcu_exit_srcu); + + if (!IS_ENABLED(CONFIG_TINY_RCU)) + del_timer_sync(&tasks_rcu_exit_srcu_stall_timer); } /* See if tasks are still holding out, complain if so. */ @@ -923,6 +939,21 @@ static void rcu_tasks_postgp(struct rcu_tasks *rtp) void call_rcu_tasks(struct rcu_head *rhp, rcu_callback_t func); DEFINE_RCU_TASKS(rcu_tasks, rcu_tasks_wait_gp, call_rcu_tasks, "RCU Tasks"); +static void tasks_rcu_exit_srcu_stall(struct timer_list *unused) +{ +#ifndef CONFIG_TINY_RCU + int rtsi; + + rtsi = READ_ONCE(rcu_task_stall_info); + pr_info("%s: %s grace period number %lu (since boot) gp_state: %s is %lu jiffies old.\n", + __func__, rcu_tasks.kname, rcu_tasks.tasks_gp_seq, + tasks_gp_state_getname(&rcu_tasks), jiffies - rcu_tasks.gp_jiffies); + pr_info("Please check any exiting tasks stuck between calls to exit_tasks_rcu_start() and exit_tasks_rcu_finish()\n"); + tasks_rcu_exit_srcu_stall_timer.expires = jiffies + rtsi; + add_timer(&tasks_rcu_exit_srcu_stall_timer); +#endif // #ifndef CONFIG_TINY_RCU +} + /** * call_rcu_tasks() - Queue an RCU for invocation task-based grace period * @rhp: structure to be used for queueing the RCU updates. From patchwork Sat Mar 25 17:33:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74964 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp549214vqo; Sat, 25 Mar 2023 11:22:11 -0700 (PDT) X-Google-Smtp-Source: AKy350YEAHw6YvYV6sG+ExnLYSBUWIzzi/2VRN0ZRi/EyFboqudC9s7oA/KhpqvrW3sFBVjcR5XM X-Received: by 2002:a05:6402:1389:b0:501:d3a0:30d9 with SMTP id b9-20020a056402138900b00501d3a030d9mr6534642edv.7.1679768530835; Sat, 25 Mar 2023 11:22:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679768530; cv=none; d=google.com; s=arc-20160816; b=md1Wlivj3ssoN9qkbXbs7yCZ+GCeXfL5g/eS5wHyjl1dxKCQ0epqgCOHszlw3PNhDL I5d554fzTuQPjl2qUvHpD0X2k717nzOXTACitCA1yw7+AZ7bCCy9NLyep8rS+GKQaooX uMwVvI44vziYiH+6+alyPnIbc73lAQIRt9kH2atVtYQ37rBXVYkDqMUPiXKpVIHgWdTQ KzCKdiuL4ZLd4khipOHPHKt3Z6Ddvps23A3vSgrIm9chHhGxvWsvDxV+nxUfnPGZLWgj dyhVoUmg/921+4ZHPO5oFfuU06X1GA8Rr2BYlQQ8+B8z3G19psylbQODeEhbux1afld5 ex2A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=8qmbLy4FeD1wXnpI5jFiDQ+/P/XNzoLaPeANuPc2CnI=; b=QTS5qkB2UZ0ZDkztxkcc0AReVB+utG2/zpG1IkwX9Iwo4r4yr4PY48kHDt2VjYDyke XXLesiAdhIZAFkZblisst5vj+V0g40r/Cht4zLZ0B+8nAofXgPxa8E43qjgsht44qVpg DdKnM97qZe5nZkggvQbsnmjFXmTYOaEv6PM1SMU5WGB1hVxy8u46DIfvthdw0oYYxT9Q srwTivANv8iZPom4kPOSEzrQjlebdEF7ECXSp6EcCii9o5ChKBxDyeQrffVATifE9YWB taINyrQOvWKznZoXIuneoyPkcnLQ1cF8TKMAMkuhDPErFdUa0Q0YyvyvjlHlhFLiIOMk 8iLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=EMuepLXH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d2-20020aa7d5c2000000b004acc29f65absi24146954eds.452.2023.03.25.11.21.47; Sat, 25 Mar 2023 11:22:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=EMuepLXH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231971AbjCYRen (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36890 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230383AbjCYReO (ORCPT ); Sat, 25 Mar 2023 13:34:14 -0400 Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC35FEF90 for ; Sat, 25 Mar 2023 10:34:06 -0700 (PDT) Received: by mail-qt1-x833.google.com with SMTP id r5so4507289qtp.4 for ; Sat, 25 Mar 2023 10:34:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765646; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8qmbLy4FeD1wXnpI5jFiDQ+/P/XNzoLaPeANuPc2CnI=; b=EMuepLXHAx1qWBBkKwrBLaXDPtiy7wo5Nx6Gbt+/79BQ1l1YhLOKw+DvIsAKNacCVV XLEvZQXEJVNl4Wt9PIGjTLoHgIxkQUfoyMmJqKf0/PvCUQ5q//7G/zQHgcKYkDUfFB7s C8yPwfoLXSJEB9JPxc1hkYf/Gi+q1qB5Gu24U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765646; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8qmbLy4FeD1wXnpI5jFiDQ+/P/XNzoLaPeANuPc2CnI=; b=hhfoVD1Qqsfw9ZFL37ZzRlLjfRgK7Kqh3p2wlhY2GSEVEi/lrFNf2J3uT5mzDyejjf WjzAzbMk3cgIwYnP5uUYoX0C0b2nGFN//j56qn8rqou7oru5oOwUJlAgOfb51HlV63rU EbC5EgoPDM4zyEpghRFXLweke63Ochrhz7hmQCk2cxLLY7WhWcjfRloq9I5myv18qpIJ CHQgtT34v2Ie/32jTiuPkvq00hreCtFtb8c01cWGxMGYRURC11yp1YccGdoaERL6z5+p Up/1gad80B7fn3VR4476pndJYoi9ZpKBnVXUggCAJ5VwEP7aacuY+3VmF+26LUeHNJUz e7gQ== X-Gm-Message-State: AO0yUKXiJ2Mk9Wf9+LOzB7v18ey5sA7iEvBFhGJlgMkbyQAer+vDcQb+ nF1/MQBSQ2uJCDW8IqfZ137XPphfczcPXh86upQ= X-Received: by 2002:a05:622a:88:b0:3dd:a703:f7df with SMTP id o8-20020a05622a008800b003dda703f7dfmr12570788qtw.2.1679765646066; Sat, 25 Mar 2023 10:34:06 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.34.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:34:05 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Thomas Gleixner , Ingo Molnar Cc: Zheng Yejian , stable@vger.kernel.org, rcu@vger.kernel.org Subject: [PATCH v2 12/13] rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed Date: Sat, 25 Mar 2023 17:33:15 +0000 Message-Id: <20230325173316.3118674-13-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761364966873372247?= X-GMAIL-MSGID: =?utf-8?q?1761364966873372247?= From: Zheng Yejian Registering a kprobe on __rcu_irq_enter_check_tick() can cause kernel stack overflow as shown below. This issue can be reproduced by enabling CONFIG_NO_HZ_FULL and booting the kernel with argument "nohz_full=", and then giving the following commands at the shell prompt: # cd /sys/kernel/tracing/ # echo 'p:mp1 __rcu_irq_enter_check_tick' >> kprobe_events # echo 1 > events/kprobes/enable This commit therefore adds __rcu_irq_enter_check_tick() to the kprobes blacklist using NOKPROBE_SYMBOL(). Insufficient stack space to handle exception! ESR: 0x00000000f2000004 -- BRK (AArch64) FAR: 0x0000ffffccf3e510 Task stack: [0xffff80000ad30000..0xffff80000ad38000] IRQ stack: [0xffff800008050000..0xffff800008058000] Overflow stack: [0xffff089c36f9f310..0xffff089c36fa0310] CPU: 5 PID: 190 Comm: bash Not tainted 6.2.0-rc2-00320-g1f5abbd77e2c #19 Hardware name: linux,dummy-virt (DT) pstate: 400003c5 (nZcv DAIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __rcu_irq_enter_check_tick+0x0/0x1b8 lr : ct_nmi_enter+0x11c/0x138 sp : ffff80000ad30080 x29: ffff80000ad30080 x28: ffff089c82e20000 x27: 0000000000000000 x26: 0000000000000000 x25: ffff089c02a8d100 x24: 0000000000000000 x23: 00000000400003c5 x22: 0000ffffccf3e510 x21: ffff089c36fae148 x20: ffff80000ad30120 x19: ffffa8da8fcce148 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: ffffa8da8e44ea6c x14: ffffa8da8e44e968 x13: ffffa8da8e03136c x12: 1fffe113804d6809 x11: ffff6113804d6809 x10: 0000000000000a60 x9 : dfff800000000000 x8 : ffff089c026b404f x7 : 00009eec7fb297f7 x6 : 0000000000000001 x5 : ffff80000ad30120 x4 : dfff800000000000 x3 : ffffa8da8e3016f4 x2 : 0000000000000003 x1 : 0000000000000000 x0 : 0000000000000000 Kernel panic - not syncing: kernel stack overflow CPU: 5 PID: 190 Comm: bash Not tainted 6.2.0-rc2-00320-g1f5abbd77e2c #19 Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0xf8/0x108 show_stack+0x20/0x30 dump_stack_lvl+0x68/0x84 dump_stack+0x1c/0x38 panic+0x214/0x404 add_taint+0x0/0xf8 panic_bad_stack+0x144/0x160 handle_bad_stack+0x38/0x58 __bad_stack+0x78/0x7c __rcu_irq_enter_check_tick+0x0/0x1b8 arm64_enter_el1_dbg.isra.0+0x14/0x20 el1_dbg+0x2c/0x90 el1h_64_sync_handler+0xcc/0xe8 el1h_64_sync+0x64/0x68 __rcu_irq_enter_check_tick+0x0/0x1b8 arm64_enter_el1_dbg.isra.0+0x14/0x20 el1_dbg+0x2c/0x90 el1h_64_sync_handler+0xcc/0xe8 el1h_64_sync+0x64/0x68 __rcu_irq_enter_check_tick+0x0/0x1b8 arm64_enter_el1_dbg.isra.0+0x14/0x20 el1_dbg+0x2c/0x90 el1h_64_sync_handler+0xcc/0xe8 el1h_64_sync+0x64/0x68 __rcu_irq_enter_check_tick+0x0/0x1b8 [...] el1_dbg+0x2c/0x90 el1h_64_sync_handler+0xcc/0xe8 el1h_64_sync+0x64/0x68 __rcu_irq_enter_check_tick+0x0/0x1b8 arm64_enter_el1_dbg.isra.0+0x14/0x20 el1_dbg+0x2c/0x90 el1h_64_sync_handler+0xcc/0xe8 el1h_64_sync+0x64/0x68 __rcu_irq_enter_check_tick+0x0/0x1b8 arm64_enter_el1_dbg.isra.0+0x14/0x20 el1_dbg+0x2c/0x90 el1h_64_sync_handler+0xcc/0xe8 el1h_64_sync+0x64/0x68 __rcu_irq_enter_check_tick+0x0/0x1b8 el1_interrupt+0x28/0x60 el1h_64_irq_handler+0x18/0x28 el1h_64_irq+0x64/0x68 __ftrace_set_clr_event_nolock+0x98/0x198 __ftrace_set_clr_event+0x58/0x80 system_enable_write+0x144/0x178 vfs_write+0x174/0x738 ksys_write+0xd0/0x188 __arm64_sys_write+0x4c/0x60 invoke_syscall+0x64/0x180 el0_svc_common.constprop.0+0x84/0x160 do_el0_svc+0x48/0xe8 el0_svc+0x34/0xd0 el0t_64_sync_handler+0xb8/0xc0 el0t_64_sync+0x190/0x194 SMP: stopping secondary CPUs Kernel Offset: 0x28da86000000 from 0xffff800008000000 PHYS_OFFSET: 0xfffff76600000000 CPU features: 0x00000,01a00100,0000421b Memory Limit: none Link: https://lore.kernel.org/all/20221119040049.795065-1-zhengyejian1@huawei.com/ Fixes: aaf2bc50df1f ("rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter()") Signed-off-by: Zheng Yejian Cc: stable@vger.kernel.org Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 90d54571126a..ee27a03d7576 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -640,6 +640,7 @@ void __rcu_irq_enter_check_tick(void) } raw_spin_unlock_rcu_node(rdp->mynode); } +NOKPROBE_SYMBOL(__rcu_irq_enter_check_tick); #endif /* CONFIG_NO_HZ_FULL */ /* From patchwork Sat Mar 25 17:33:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 74960 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp530664vqo; Sat, 25 Mar 2023 10:38:01 -0700 (PDT) X-Google-Smtp-Source: AKy350YxtdhN5xOqDmjEhFfvOftOowKDM/7hD03JOTy2TjgOZtM73wR0hojMGKXviuUjRMmXeRQ+ X-Received: by 2002:a17:903:244c:b0:19a:9833:6f8 with SMTP id l12-20020a170903244c00b0019a983306f8mr9365448pls.35.1679765881186; Sat, 25 Mar 2023 10:38:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679765881; cv=none; d=google.com; s=arc-20160816; b=ujdKUE2P0yDqmtqxVJUbhE5E9M+xFjtBZTxMp5rdGd00y6lxh3j3dr9T2yz9CkMu+Y nka7yV6fbdNJaURmV5My/mKEgNiX/yh3BltJVCeYs9u78oKgHgj/hV2MQ1wc8MlIPB/Z luO6A8zRF4j07iBMp9GNz+awXa52cYgZveIvN4LtxwOT4Q08QwuoZpQh0Y5zWrExAZBR ISdsjltgDuzXlG87rI7TjCOXe+DhxtOgAmzRaF8D6B+3QYKA4V5ZhyFy4ksWK7hL6Q1j rJ+F8iqpoBDKkVb4uAKIieP4Oj/KtMBWtkHfmULqXwqkecm0W5ChAx/JLq9JwRSzyyKF hD8A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ONoHk+Rj1ufMcYHSOwfNTPmuuZ3mXzko5D4ACMs/eOA=; b=qtzhYEclrgsa3PoSgTZLspao38AYFdqRon5qDyLmFnCy8Xp7379PzS/BKnpd8kaBrX 0e84zOIGOgdFbbGi42pfpEDCMVDADa0fJXrgiJarPk6IfBHwZVBHN8aKJTy93o3g9Tt/ 8i3CldmqETb41LTqfCS1oS5D4BDqFYbqakIrJBAe3Fg+y7s+KFcoAZ3HiAB6kVf/vmhL t+7zB729GX4Ihe/ikop3irSwBMlJ5uxp+tOIeAK1Eh/JsirJgDPMrjDpmEVZ9W+BAo8O iASlGcYZWI7GNnZOe5BAxOKctbs9wukIbhlNltDKXEwX8LAturdSv/5nFQ+zFT5UjlRe qVnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=ikQ37MdC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bf8-20020a170902b90800b0019abdf99d41si23036498plb.157.2023.03.25.10.37.48; Sat, 25 Mar 2023 10:38:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=ikQ37MdC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232137AbjCYReq (ORCPT + 99 others); Sat, 25 Mar 2023 13:34:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37146 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231297AbjCYReP (ORCPT ); Sat, 25 Mar 2023 13:34:15 -0400 Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com [IPv6:2607:f8b0:4864:20::82c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4503F766 for ; Sat, 25 Mar 2023 10:34:07 -0700 (PDT) Received: by mail-qt1-x82c.google.com with SMTP id hf2so4510065qtb.3 for ; Sat, 25 Mar 2023 10:34:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1679765647; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ONoHk+Rj1ufMcYHSOwfNTPmuuZ3mXzko5D4ACMs/eOA=; b=ikQ37MdCcvJ+qjCxLa0DlYnQ1qgqtu0+7/KD0Bb/Tc4mBBI7pxErsaA3YnRKCfkpmX 3p0P+l2DU6LzWXS3KmQPuTqncSpWI/pcmz1ufIhInc5srxC3za/4WZhFXfWgLnnaNFNZ Nk9m6/9CnTBL+94W3Acb2UnO12oHOjCG9k8vg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679765647; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ONoHk+Rj1ufMcYHSOwfNTPmuuZ3mXzko5D4ACMs/eOA=; b=STnzC0mF87se/xSNANolFZg0MJGiFZUcTc36XrwcP3snXfKZJJIQjU57HCMnm/Y28U t4KgnfvIgh9p3q/kNox3aiEqLxO2fCWXmV6m6H0e1G/CLrG+yOrjNSLe61eKG8Y1Tb18 VLmWwUSv1JadBk73rUsxXSDyodU1JxktwIMxSn5cLav2zy3owqdwTejdxB/vA0fk3SLP 79vkGl7ztfU7uJOrZt0ul9T7RGVhRwCc6X4iFtAJDCHiJVOP6HztlneEEQm4hzjviWMx tW6jiCl8bxhvaDIZHS00lN8gdCPrvZhE9i1dJIOmnoxZNhFJzgoYHelzv32bykjzEgkh SMUg== X-Gm-Message-State: AAQBX9fDeLWJ5DKBBMxw5HkX+HKORx8A7Fv3VpoBRbZF5xdnBKP5gZpo ldVD0qZIC73EoP8QPp2Fp7AbOjCAx9G4TUMAwCo= X-Received: by 2002:a05:622a:1a0b:b0:3e4:dbaa:8a05 with SMTP id f11-20020a05622a1a0b00b003e4dbaa8a05mr4599709qtb.0.1679765647265; Sat, 25 Mar 2023 10:34:07 -0700 (PDT) Received: from joelboxx.c.googlers.com.com (129.239.188.35.bc.googleusercontent.com. [35.188.239.129]) by smtp.gmail.com with ESMTPSA id m4-20020ac84444000000b003e37ee54b5dsm6762764qtn.90.2023.03.25.10.34.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Mar 2023 10:34:06 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang Cc: rcu@vger.kernel.org Subject: [PATCH v2 13/13] rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access Date: Sat, 25 Mar 2023 17:33:16 +0000 Message-Id: <20230325173316.3118674-14-joel@joelfernandes.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog In-Reply-To: <20230325173316.3118674-1-joel@joelfernandes.org> References: <20230325173316.3118674-1-joel@joelfernandes.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761362188675975155?= X-GMAIL-MSGID: =?utf-8?q?1761362188675975155?= From: Zqiang For kernels built with CONFIG_PREEMPT_RCU=y, the following scenario can result in a NULL-pointer dereference: CPU1 CPU2 rcu_preempt_deferred_qs_irqrestore rcu_print_task_exp_stall if (special.b.blocked) READ_ONCE(rnp->exp_tasks) != NULL raw_spin_lock_rcu_node np = rcu_next_node_entry(t, rnp) if (&t->rcu_node_entry == rnp->exp_tasks) WRITE_ONCE(rnp->exp_tasks, np) .... raw_spin_unlock_irqrestore_rcu_node raw_spin_lock_irqsave_rcu_node t = list_entry(rnp->exp_tasks->prev, struct task_struct, rcu_node_entry) (if rnp->exp_tasks is NULL, this will dereference a NULL pointer) The problem is that CPU2 accesses the rcu_node structure's->exp_tasks field without holding the rcu_node structure's ->lock and CPU2 did not observe CPU1's change to rcu_node structure's ->exp_tasks in time. Therefore, if CPU1 sets rcu_node structure's->exp_tasks pointer to NULL, then CPU2 might dereference that NULL pointer. This commit therefore holds the rcu_node structure's ->lock while accessing that structure's->exp_tasks field. [ paulmck: Apply Frederic Weisbecker feedback. ] Signed-off-by: Zqiang Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree_exp.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index 5343f32e7d67..3b7abb58157d 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -803,9 +803,11 @@ static int rcu_print_task_exp_stall(struct rcu_node *rnp) int ndetected = 0; struct task_struct *t; - if (!READ_ONCE(rnp->exp_tasks)) - return 0; raw_spin_lock_irqsave_rcu_node(rnp, flags); + if (!rnp->exp_tasks) { + raw_spin_unlock_irqrestore_rcu_node(rnp, flags); + return 0; + } t = list_entry(rnp->exp_tasks->prev, struct task_struct, rcu_node_entry); list_for_each_entry_continue(t, &rnp->blkd_tasks, rcu_node_entry) {