Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2452766pxb; Fri, 5 Feb 2021 19:47:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJz6g/LOFrScjQ0cGWC+sFLQgbgtUl444tOYKefJF0/FWbXxCORwMAAm2ePxBTlikZmhg8vw X-Received: by 2002:a17:906:2c17:: with SMTP id e23mr6827709ejh.434.1612583264134; Fri, 05 Feb 2021 19:47:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612583264; cv=none; d=google.com; s=arc-20160816; b=Kpn35iwAgoBubmn1cId38L3g4PVwEfNLLYDCoUzXj2iFisGGCKcDSwb0xXAUFUWgB7 JR7qOXWVErHkUviIS46pgtsMSTi6PYcMF3QZz8tKtaX5/h3il39WtFvYitxBLvJvwdoD iIcpcV1TLsht6SdGd99S7ZEKl3L8fAXIjVP7nzerlN6CFd8ks3vVTFEeUxKStSM4ge7O jv2NWZusm1hkFcrQjPAFX0Tb7C5R4f0oVMjSni+OqQCgYoM9zNrKzgEGSRWfUPakluFa 866HqiyI/5e1XDL7xYlUBXaccwMwy+GwU+OchlKmuyEWOsXRPuTsfilXuWNxv4FYEeo5 3iDQ== 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=8gWhYRq0iywYBH7TzYnfQ9fWlCOVVPnd7CZq8DoR0+c=; b=I7AxORVqb2/1bfhBikYFv/6nG6cKgIEBIprfYRpUjfaPtnJRaPPo8XIrDObvxowvvD K3nLXFGnYLUcpNE8CIvmSCziaSCFyb3LR+xS2Dxg35idn0RJgD6HuL/3kriFFC6tBrRG h2BhP5c0+vSsp7yjJ/xH5u3HF4FUaz/rbkHl70MtzpK3ohQrCFofYT07iQDEEfn2BxBA 0Z9CbJ0Cgz51NgoXsn7qhgywyu/RO8F4ZTH2URZWdXR7ztitJWuxO1VF+L/jg0D1y0Qa 4dJXlea+sKp6gWFcoRLSQKPe9pCKEaAcI7G4kJC9v7uB546fsvxkjKlsv6pYdHn6fysp ge+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=HAlI4OCF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i10si7586137ejd.240.2021.02.05.19.47.20; Fri, 05 Feb 2021 19:47:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=HAlI4OCF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232376AbhBFDqT (ORCPT + 99 others); Fri, 5 Feb 2021 22:46:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231667AbhBFCsY (ORCPT ); Fri, 5 Feb 2021 21:48:24 -0500 Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com [IPv6:2607:f8b0:4864:20::82d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A5985C033273 for ; Fri, 5 Feb 2021 17:16:01 -0800 (PST) Received: by mail-qt1-x82d.google.com with SMTP id w20so6454969qta.0 for ; Fri, 05 Feb 2021 17:16:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8gWhYRq0iywYBH7TzYnfQ9fWlCOVVPnd7CZq8DoR0+c=; b=HAlI4OCFihCqRVXSWwnNXcbihpiw8P4x+YYAGBjJBirPzxtUZRl/odfkOpGig/FdGC 8NCj/Lne9INJ8i0pSz11etpiOM3EHmuCV/sAMU6d1GUZCJsXNmqhqtKliMq4XMIy+Wpd 2ydlc+4VpCAMW2FQCUCvNte0ZWE0/+h7GYB1tpxesfjFo7IRIbQczp4lwxeYfjofwIcP bVegLnAt7zShVm5L4scLazQrBmT+1hIga4gkeVNqoYXTLQclAxLGP53juIAQ8Gf6JCne YfiABOzOT923orWrKRKM0qQZahiZhE83sJtFv8BUPoTQ1EzCplhjjgzFgPdmJl1L5ohm 3PHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8gWhYRq0iywYBH7TzYnfQ9fWlCOVVPnd7CZq8DoR0+c=; b=EdrTUHZ+A0YdJ2OlKipA/IGiRB3ExAuaUzQ6XIL5gSEg2mhwmGcDTJqSZXAtseZjH8 OfKj3cDgtGHOYvRb2pBYSlWJQXD74vNVf7lwu+COrKBElJbO9eez9QphDPqH51jtRiXv Ui33kzcJbYtYZDNvmseaxli7ZW+3FThouDvybRRbRe+WqHYusbX0ew2Oni3iVb9Zsx+O +esDMOS39AUc3mn3/UxswCdrLLI6SXVlAJGwRJ2RLG+PMxrkkYLA8nVkG4SpWXiHf/lW qW7S7lt97VI50ObuQ9Wo5/PKGOPbrZVJHN9mxQhd9lsYi0lSEZx6FAl7lJNOwj5jIyOO Jr5A== X-Gm-Message-State: AOAM531VMYF0Y4J42jFun97OAmhH20galrWWtZypZJYiy03GzuEsB726 Hz357W3n1toi9Sfa4QO93sXnoPAjY3sMC1yxf8g2rQ== X-Received: by 2002:ac8:5d0d:: with SMTP id f13mr6798213qtx.317.1612574160377; Fri, 05 Feb 2021 17:16:00 -0800 (PST) MIME-Version: 1.0 References: <20210123011704.1901835-1-joel@joelfernandes.org> <20210123011704.1901835-3-joel@joelfernandes.org> In-Reply-To: From: Josh Don Date: Fri, 5 Feb 2021 17:15:49 -0800 Message-ID: Subject: Re: [PATCH v10 2/5] sched: CGroup tagging interface for core scheduling To: Peter Zijlstra Cc: "Joel Fernandes (Google)" , Nishanth Aravamudan , Julien Desfossez , Tim Chen , Vineeth Pillai , Aaron Lu , Aubrey Li , Thomas Gleixner , linux-kernel , mingo@kernel.org, torvalds@linux-foundation.org, fweisbec@gmail.com, Kees Cook , Greg Kerr , Phil Auld , Valentin Schneider , Mel Gorman , Pawan Gupta , Paolo Bonzini , vineeth@bitbyteword.org, Chen Yu , Christian Brauner , Agata Gruza , Antonio Gomez Iglesias , graf@amazon.com, konrad.wilk@oracle.com, dfaggioli@suse.com, Paul Turner , Steven Rostedt , Patrick Bellasi , benbjiang@tencent.com, Alexandre Chartre , James.Bottomley@hansenpartnership.com, OWeisse@umich.edu, Dhaval Giani , Junaid Shahid , Jesse Barnes , "Hyser,Chris" , Ben Segall , Hao Luo , Tom Lendacky Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 5, 2021 at 3:53 AM Peter Zijlstra wrote: > > On Fri, Jan 22, 2021 at 08:17:01PM -0500, Joel Fernandes (Google) wrote: > > > +/* All active sched_core_cookies */ > > +static struct rb_root sched_core_cookies = RB_ROOT; > > +static DEFINE_RAW_SPINLOCK(sched_core_cookies_lock); > > > +/* > > + * Returns the following: > > + * a < b => -1 > > + * a == b => 0 > > + * a > b => 1 > > + */ > > +static int sched_core_cookie_cmp(const struct sched_core_cookie *a, > > + const struct sched_core_cookie *b) > > +{ > > +#define COOKIE_CMP_RETURN(field) do { \ > > + if (a->field < b->field) \ > > + return -1; \ > > + else if (a->field > b->field) \ > > + return 1; \ > > +} while (0) \ > > + > > + COOKIE_CMP_RETURN(task_cookie); > > + COOKIE_CMP_RETURN(group_cookie); > > + > > + /* all cookie fields match */ > > + return 0; > > + > > +#undef COOKIE_CMP_RETURN > > +} > > AFAICT all this madness exists because cgroup + task interaction, yet > none of that code is actually dependent on cgroups being on. > > So this seems to implement semantics that will make two tasks that share > a cookie, but are then placed in different cgroups not actually share. > > Is that desired? Can we justify these semantics and the resulting code > complexity. Yes that is the desired result. IMO it is less optimal from an interface perspective if we were to instead have group or task cookie override the other. Joel gave some additional justification here: https://lkml.org/lkml/2020/12/6/389.