Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp320913rwd; Mon, 12 Jun 2023 14:11:05 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7QR+azN9pNAqlW2cNT4GNm94ooW1XUS9lfd5M2KpeKRPCYVQZlJv9F/t4FqfaqeeV444sH X-Received: by 2002:a05:6402:120b:b0:514:9eae:b09c with SMTP id c11-20020a056402120b00b005149eaeb09cmr6184861edw.13.1686604264882; Mon, 12 Jun 2023 14:11:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686604264; cv=none; d=google.com; s=arc-20160816; b=Cu/5p2nFM/18WdGom5h7DZiEPWwKKA39zclI/FHaH/X9PLXbyfn0w3Aaa58GzSBkh6 sSqJseH8Pj3UAi7AFtgh3VX+9w1G2+d/yrMZ3H/aYuI9AMv5Iu4d7vly04OCbHpx8dr2 rZ5ig8+swmKqtRp40nZcWEU4EesCq5KFyhiXVEH1CiPKX3BVOGUABFYIJdhIwtS40l50 oKFQMxOxhS6a7s9J8C8qquIj/Z5tifKYJaKcQTgjfhlWA6LVwgw5yj0r2zRFLdRPwPqh kINQUFN+yrTP7PBuvy2KuaieJUz7Xn0rf76siWI1WX7zCdt0tWadHXyZ3/b0xWC8EX2h 1lvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:message-id:in-reply-to :date:references:subject:cc:to:from:dkim-signature; bh=Fgw46zt6MDtrMTwsEX7n0XbeWzAiTod4HTnQ2U8CWyw=; b=D2imyTPC2bpbBTwLRiSH9thrtOu36V0C68ax6zMl8q0P3tiUoVhEoV9hIG3V9ZDRnD 4nPnT/av/1/JhBTzYBvDQtrvOa2LPpEvQPHCowcO79q6Wr1rHlAIdBlnfHsHrPAj7zR1 K2DXSLYNr6k+yizzQ97KMz+z9Y/AGww0mOcKenh2jMPeB3Zz5nUN4GWoDl7YsTjFzUz6 BgCk0SMhTIJ6Hz/UW48Ogu92sykJ32BPnA6J2iGWu16pv6F2fw6QngxpY3i61lTQMqAU UC8o22hoTIgFFoUbXdQI70OY5XKO3R28LjU+JcA3e4x6I5ijTO2pxAkyavwA9GskDZys 3jdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=ccJ6qsGR; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s12-20020aa7c54c000000b00504eaa2d7a1si6114197edr.534.2023.06.12.14.10.40; Mon, 12 Jun 2023 14:11:04 -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=@google.com header.s=20221208 header.b=ccJ6qsGR; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229749AbjFLUpK (ORCPT + 99 others); Mon, 12 Jun 2023 16:45:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35166 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238011AbjFLUpB (ORCPT ); Mon, 12 Jun 2023 16:45:01 -0400 Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A7D61996 for ; Mon, 12 Jun 2023 13:44:18 -0700 (PDT) Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1b3e3f33e33so49755ad.0 for ; Mon, 12 Jun 2023 13:44:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1686602617; x=1689194617; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=Fgw46zt6MDtrMTwsEX7n0XbeWzAiTod4HTnQ2U8CWyw=; b=ccJ6qsGRMdSTlWMjwgNgFX4kU9bit8RFNsijJshd0RVmP/hgqqXQ5Py4jiZMneKnaM bp8fOfOZC+YCwJFMiRrn6vnb3LnVabfDpmdtl6IdEz2VY3FBHS9lbTPAmY2I7DU9Phfu MHCVWA76F6QPxE8MnTJMAbKvOzkvwv2i2C3tTxwWu/XBpYPseShsJypqRT2vrGIFjEQ4 1xKenFZ9YGRn7mYMHbdwnwez/OgUfZ0GLVUmjqYHcKm2ZdQqCuqqHr3gr6/mEHUiRJre v4T9riFyikJtE3xCHWotIon5A0NqHg8swJt5+m1aDVX56N8n0BBov/msh52teEBGRkV5 8H2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686602617; x=1689194617; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Fgw46zt6MDtrMTwsEX7n0XbeWzAiTod4HTnQ2U8CWyw=; b=RMUtAfbmNbVysMd34bKetaSmMtZJ62ZLsqA4NXzr/bkQbOgTssNdlotIfPJrebUt3G Kxwh4VWnIMC4tZzGExS+1vVJpnN1wcSiJ5G+YVQiWarp+VWTEzsusH0xVlW8o1HI4ZOw qacab797akgvyT3ohhJjg4h2WFPmSeATeNfAViXkxgKVICuMToGBKMvbJXZ7xs1gY9x8 BevTv0iiu9uYyDPy0RB6jrAYIF1tnFBq+FbXwXJ0j2hNlnGlLvLkhV+5TM/pFmWJIQ3L P8xNA1JwI5U+t88psH/F19fFtnZWiAAbR38zkWfYoBE6lZmBxF6ns1nikYfvFYR4hZQY ipMw== X-Gm-Message-State: AC+VfDybl2Zo6MNeOAlmTgme3QtfNZXAhlbsa4UZYybb6MQtyhen2Sef qjR1coW1xQyudYeplFmF7vbMsQ== X-Received: by 2002:a17:902:ec8c:b0:1b2:421b:28fa with SMTP id x12-20020a170902ec8c00b001b2421b28famr39246plg.21.1686602617176; Mon, 12 Jun 2023 13:43:37 -0700 (PDT) Received: from bsegall-glaptop.localhost (c-73-158-249-138.hsd1.ca.comcast.net. [73.158.249.138]) by smtp.gmail.com with ESMTPSA id bi8-20020a170902bf0800b001b3d7205401sm1893699plb.303.2023.06.12.13.43.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jun 2023 13:43:36 -0700 (PDT) From: Benjamin Segall To: Phil Auld Cc: linux-kernel@vger.kernel.org, Juri Lelli , Ingo Molnar , Daniel Bristot de Oliveira , Peter Zijlstra , Vincent Guittot , Dietmar Eggemann , Valentin Schneider , Steven Rostedt , Mel Gorman Subject: Re: [PATCH v2] sched/nohz: Add HRTICK_BW for using cfs bandwidth with nohz_full References: <20230608125228.56097-1-pauld@redhat.com> Date: Mon, 12 Jun 2023 13:43:35 -0700 In-Reply-To: <20230608125228.56097-1-pauld@redhat.com> (Phil Auld's message of "Thu, 8 Jun 2023 08:52:28 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Phil Auld writes: > CFS bandwidth limits and NOHZ full don't play well together. Tasks > can easily run well past their quotas before a remote tick does > accounting. This leads to long, multi-period stalls before such > tasks can run again. Use the hrtick mechanism to set a sched > tick to fire at remaining_runtime in the future if we are on > a nohz full cpu, if the task has quota and if we are likely to > disable the tick (nr_running == 1). This allows for bandwidth > accounting before tasks go too far over quota. > > A number of container workloads use a dynamic number of real > nohz tasks but also have other work that is limited which ends > up running on the "spare" nohz cpus. This is an artifact of > having to specify nohz_full cpus at boot. Adding this hrtick > resolves the issue of long stalls on these tasks. Currently > the scheduler, when faced with these conflicting requirements > choosed to favor nohz_full even though that is already best > effort. Here we make it favor respecting the bandwidth > limitations which are not supposed to be best effort. > > Add the sched_feat HRTICK_BW off by default to allow users to > enable this only when needed. > > Signed-off-by: Phil Auld > Suggested-by: Juri Lelli > Cc: Ingo Molnar > Cc: Peter Zijlstra > Cc: Vincent Guittot > Cc: Juri Lelli > Cc: Dietmar Eggemann > Cc: Valentin Schneider > Cc: Ben Segall > --- > > v2: Clean up building issues with various related CONFIG changes. Add a > check to start the hrtick in __account_cfs_rq_runtime() for when the > task gets more runtime. This starts the hrtick before/without going through schedule, but the fact that it's still the standard hrtick()->task_tick(queued=1) means it will still set need_resched even if it succeeds at getting runtime.