Received: by 2002:a19:771d:0:0:0:0:0 with SMTP id s29csp1267397lfc; Wed, 1 Jun 2022 13:37:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzvWXYmoTWpvf1/vd8z+ENOqlZh/EwaaSFHnJulgqs3xFULud4r9c2Y2boY8ec1lGtWRI9e X-Received: by 2002:a63:d358:0:b0:3fa:f500:4487 with SMTP id u24-20020a63d358000000b003faf5004487mr985037pgi.595.1654115835630; Wed, 01 Jun 2022 13:37:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654115835; cv=none; d=google.com; s=arc-20160816; b=dytcFz2iejrdsRXx0WThdfHThlTxD92ETzitls0+X+CgmC+NlwgVcXdiuF+JXfOXQe STZ99Dyg2DSKYx43jB1XilrfleHecg6cYCPPr/CZkdHJtw0oo24rbkh4jYhay+gNuAfQ l4hKQL0ucJDpZ137rabNxKoB6YWuiFxWLHIB9zxdg+4FSpAflfpdSCBhZjmgLQnLJECz jmSXG0WfNo+DdktyKQM4VX9DdVRRlGDj86wIgkG2PYfvPhafDTWT+j4nlmymlwBUy9N8 ZyYqS9xcl6UQ/FKMC40VVhSZm1eP8yj6c4Fboy6lwjzia+UIo4beASdqaFiYCibVejTs yeew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=Jzunswihq7emLJrZKcMyFQww1H3CwuUil00+SfCZ470=; b=KvPWFOlm5gRUjAG3De3aDgBnoYWa/W59t/26OsB/gs0Cg4AQO0xr52QyQjd2iHHLQs V2l3FhbwCkiVEUZkaun725bu0dNxkp2DV+LowC5AAWLv50qgufTQL9Ns9snunK/3L7nK 54p2DojRFgIUWiBgjaK0sjHkoda+g/50msaxUN/HUx5zF+AfhA+0vbUhGad2GvNe5yJP 2jwVGT1Lk9Y+Ky3oxDxKjtMYhaOgLxFY9O/fvygipPvKuvdPWk9TtbnQPVW2MeRzc7XC P9XQmCY2FE1/O2+aSsG4YBOFl/zEuUr7pm815IKszTHdQ+M4RroXuYnucJr18RoAVVWD Rxng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@aurora.tech header.s=google header.b=MxjhMKPH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=aurora.tech Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id x24-20020a63fe58000000b003f655829a2csi3725686pgj.346.2022.06.01.13.37.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jun 2022 13:37:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@aurora.tech header.s=google header.b=MxjhMKPH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=aurora.tech Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4EFD91E302C; Wed, 1 Jun 2022 12:46:08 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237559AbiE3WgQ (ORCPT + 99 others); Mon, 30 May 2022 18:36:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57048 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231669AbiE3WgP (ORCPT ); Mon, 30 May 2022 18:36:15 -0400 Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com [IPv6:2607:f8b0:4864:20::b30]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF91C77F3F for ; Mon, 30 May 2022 15:36:12 -0700 (PDT) Received: by mail-yb1-xb30.google.com with SMTP id a64so10765112ybg.11 for ; Mon, 30 May 2022 15:36:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aurora.tech; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Jzunswihq7emLJrZKcMyFQww1H3CwuUil00+SfCZ470=; b=MxjhMKPHxKe9mLGtiURZCmcqHs+PbmChzbnPdapWj+nZAARhwolGI2X489aj/Ol/od DU/tsxpThvmrpN+KcX44K2fxSgN2vfqg1P5ROsPegWgYx92LUi7T6yCHcBg6eB9TZDJA HPuIlmrHXvI0NPYbogQg5rbd8phPteFDUM3mQP/P6Tc2K7ADcoJWSiGr+itEcY+XVgsh wXK7VPtNtj4TLSe11qVs28OilAzut0zrja6ULNxeKmm0BIZ+LCATFH6bAYrIE1CqlUcu n6pUh2rEMiIsKtd53c6rx98wiHpaVuemQGrQUv6nWwAWl/DSvImGS1ucRwJsu2Mhvrr7 4wQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Jzunswihq7emLJrZKcMyFQww1H3CwuUil00+SfCZ470=; b=2hvMeLsO+xjtz/NqNMOrGU5qMItnthm2ibGqnyPPBTCQcEMhzwrFm/Nz8sI3dReM1u VI9RL/OMVd8ZZOIW3xinOp3QNUZ91LEE15+hmIkw5BpytIiRquS/mYSW6VHey7TlbpuN ON8e1XHMuFCGxxoeCJLIsvXAdHd8iMo6QnL64sMMYI0Xm9q/xt5L3ar6sy6Z+7mZojbz s15UWHaT3ziHR+Ki5813uX1bLncv8qIuH5JoC+eXxXU/PPgdFMA4o05oJbI+Wygvvb/M TRgLRxkptFzN38WdpoFwj4IFeih4BQoRp16O344k9Y75iOy6xMMHMA9lARHB9thxddlo Brjw== X-Gm-Message-State: AOAM532Og0ee0kKieQZnTZRyEnm/GcuKBlwBot3g9gpLqSlHtbSWpPCw YaCFueNFD5feJC3fEg48xWyAOkXYEbsG4w7AJtncSQ== X-Received: by 2002:a25:8691:0:b0:65c:f544:4186 with SMTP id z17-20020a258691000000b0065cf5444186mr5817316ybk.277.1653950172140; Mon, 30 May 2022 15:36:12 -0700 (PDT) MIME-Version: 1.0 References: <20220525221055.1152307-5-frederic@kernel.org> <20220526225141.GA1214445@lothringen> <9e44bb00-955a-dbc6-a863-be649e0c701f@redhat.com> <20220527083018.n43nc73vuuzm5ixo@localhost.localdomain> <20220530004049.GA1251147@lothringen> <20220530144922.GA1790663@paulmck-ThinkPad-P17-Gen-1> In-Reply-To: <20220530144922.GA1790663@paulmck-ThinkPad-P17-Gen-1> From: Alison Chaiken Date: Mon, 30 May 2022 15:36:01 -0700 Message-ID: Subject: Re: [RFC PATCH 4/4] cpuset: Support RCU-NOCB toggle on v2 root partitions To: paulmck@kernel.org Cc: nicolas saenz julienne , Frederic Weisbecker , Peter Zijlstra , Juri Lelli , Tejun Heo , Waiman Long , LKML , Paul Gortmaker , Johannes Weiner , Marcelo Tosatti , Phil Auld , Zefan Li , Daniel Bristot de Oliveira , rcu@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 > On Mon, May 30, 2022 at 04:29:56PM +0200, nicolas saenz julienne wrote: > > On Mon, 2022-05-30 at 02:40 +0200, Frederic Weisbecker wrote: > > > On Sat, May 28, 2022 at 04:24:50PM +0200, Peter Zijlstra wrote: > > > > On Fri, May 27, 2022 at 10:30:18AM +0200, Juri Lelli wrote: > > > > > Hi, > > > > > > > > > > On 26/05/22 14:37, Tejun Heo wrote: > > > > > > On Thu, May 26, 2022 at 08:28:43PM -0400, Waiman Long wrote: > > > > > > > I am thinking along the line that it will not be hierarchical. However, > > > > > > > cpuset can be useful if we want to have multiple isolated partitions > > > > > > > underneath the top cpuset with different isolation attributes, but no more > > > > > > > sub-isolated partition with sub-attributes underneath them. IOW, we can only > > > > > > > set them at the first level under top_cpuset. Will that be useful? > > > > > > > > > > > > At that point, I'd just prefer to have it under /proc or /sys. > > > > > > > > > > FWIW, I was under the impression that this would nicely fit along the > > > > > side of other feaures towards implenting dynamic isolation of CPUs (say > > > > > https://lore.kernel.org/lkml/20220510153413.400020-1-longman@redhat.com/ > > > > > for example). Wouldn't be awkward to have to poke different places to > > > > > achieve isolation at runtime? > > > > > > > > This, that's what I was thinking. > > > > > > > > My main objection to the whole thing is that it's an RCU_NOCB specific > > > > interface. *That* I think is daft. > > > > > > > > I was thinking a partition would be able to designate a house-keeping > > > > sub-partition/mask, but who cares about all the various different > > > > housekeeping parties. > > > > > > It's time for the isolation users to step up here! I very rarely hear from them > > > and I just can't figure out by myself all the variants of uses for each of the > > > isolation features. May be some people are only interested in nocb for some > > > specific uses, or may be it never makes sense without nohz full and all the rest > > > of the isolation features. So for now I take the very cautious path to split the > > > interface. > > > > OK, my 2 cents. I personally deal with virtualisation setups that involve RT > > and CPU isolation on both host and guests. > > > > The main use-case ATM is running DPDK-like workloads. We want to achieve > > latencies in the order of tens of microseconds, so it's essential to avoid > > entering the kernel at all cost. So, no HW interrupts, sched tick, RCU > > callbacks, clocksource watchdogs, softlockup, intel_pstate, timers, etc... > > Everything is deferred onto housekeeping CPUs or disabled. > > > > Then we have setups that need to deal with HW on the host, exposed to the guest > > through emulation or VirtIO. The same rules apply really, except for some IRQ > > affinity tweaks and sched priority magic. > > > > I find it hard to see how running RCU callback locally could be useful to any > > latency sensitive workload. > > > > Frederic, out of curiosity, do you have a use-case in mind that might benefit > > from nohz_full but not rcu_nocb? Maybe HPC? On Mon, May 30, 2022 at 8:42 AM Paul E. McKenney wrote: > Would users looking for millisecond-scale latencies want rcu_nocbs but > not nohz_full, that is, the other way around? On Intel processors running 5.15 with the timersd patches from Siewior backported and Weisbecker's bug-fix, choosing CONFIG_HZ_PERIODIC prevents cores from entering deeper C-states when hrtimers are pending. With CONFIG_NO_HZ_COMMON, the cores do not service non-blocking timer callbacks until another thread wakes them. Since low latency is critical, this is a use case where NO_HZ_FULL will not work but rcu_nocbs is needed. -- Alison Chaiken, Aurora Innovation