Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1882689pxb; Fri, 5 Feb 2021 04:00:24 -0800 (PST) X-Google-Smtp-Source: ABdhPJxtOsM9/jspGDWjhv0yEG45W77OVCfUqOYQ6FCpD9rOEcu8YNSMPTy4MuYTiCKfQ6yXeios X-Received: by 2002:a17:906:1719:: with SMTP id c25mr3796640eje.251.1612526424507; Fri, 05 Feb 2021 04:00:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612526424; cv=none; d=google.com; s=arc-20160816; b=t8y1fCX50DqxwjxdgA31NTXt7CMLT4yaT46rp/2sr31R+7+jt5NSF0NCppKj7xFqyy ZchJCv64H61FWt1BCoQ5NfFkf/ukAH1n5cRfAYX9SdjCromDDeqDqNcverco1wqTV5uI 0myuAF843ZJtbKpeZGR0bRap5dyhjxWXjwtkLgoA3c+MrN3xd6a2bylcUwj2LI50yneg ayQBCOjzDwIjyoebLawx8F1yKywnk1a/RrYO5W9vc61emZDR1FCGFOAV5Tkali+RFSI9 g00OwLZaOcKWhV3To/MGJzLZ7SNnmbuTM/yIXsPKqhMZz4pJ4P4OSsolkLXXjK26Z5AY qbpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=ae5DQR4ZoHUZ8GoUSPLSVluq4lgx/12YQSO36BQONXk=; b=QdvnzeGEpZmHXe71EtvzgYvd7raOlb4L2yr1s1dvqf4AL+3rz7KOSmmOfnRFOjuhbB EvoX7z+qyUTqaXwQRzwg8LETd0FAT+3TSZk/N2VuxtHynMQq+/WUoqtUWh5HI8gCeToV 5uakS788ClQ/0iNhknB+79IUYYnZCUnXndrPudyv+4wmZU/yVa+Pjt+xaLIkhBfSK9ia 28q0/bBx5Dsl+8wZRwUXznj7uIIlZuyFfCdEMOlUyrEYIlo6gDPsQe9hQokZYpzAseR2 thkyT99XobO3sRUgpFelEVt2nin/Qovq0UJi3IJsN6FCObN3IgImA5CUsbESB+yM327D exWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=iqvj0gy3; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k12si90172edh.270.2021.02.05.03.59.55; Fri, 05 Feb 2021 04:00:24 -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=@infradead.org header.s=casper.20170209 header.b=iqvj0gy3; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231509AbhBEL6u (ORCPT + 99 others); Fri, 5 Feb 2021 06:58:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232014AbhBELzG (ORCPT ); Fri, 5 Feb 2021 06:55:06 -0500 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38B14C06178C for ; Fri, 5 Feb 2021 03:54:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=ae5DQR4ZoHUZ8GoUSPLSVluq4lgx/12YQSO36BQONXk=; b=iqvj0gy3tOUtgw050OYxxZYsKG k/nqHlhVzSvRCyDDu3tJzX7eAlG80gGOLZvEpVN2AywuJuRNI9DRXAogntHfbkyL85SvrtuMd1JZ0 bovinx2osD8NgjksjtTbqdj6cIg27f9JozRJUOSbS+v6buRAJOXZfEAjMf+ERUqC3Km45PPQgfAIE Mgo5E9eSDF3HYVwbj/98QXTJhcUhmYauRsf+ls1JHQBt3xHOY1IwOf74JeMu6XgbtQEwG7blxMeLz ccdHc2ufgFe9diHqtP+w31/UbDNY8TZPlLeBfn0Aj2hRh2nda4XlgaLT/nrP7XoCl48OaSbGR49aX mwsNBGKA==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=noisy.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.94 #2 (Red Hat Linux)) id 1l7zf8-002FHo-V9; Fri, 05 Feb 2021 11:52:36 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id D9011305C1C; Fri, 5 Feb 2021 12:52:32 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id AB1CB2BBE1CB1; Fri, 5 Feb 2021 12:52:32 +0100 (CET) Date: Fri, 5 Feb 2021 12:52:32 +0100 From: Peter Zijlstra To: "Joel Fernandes (Google)" Cc: Nishanth Aravamudan , Julien Desfossez , Tim Chen , Vineeth Pillai , Aaron Lu , Aubrey Li , tglx@linutronix.de, linux-kernel@vger.kernel.org, mingo@kernel.org, torvalds@linux-foundation.org, fweisbec@gmail.com, keescook@chromium.org, kerrnel@google.com, 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, pjt@google.com, rostedt@goodmis.org, derkling@google.com, benbjiang@tencent.com, Alexandre Chartre , James.Bottomley@hansenpartnership.com, OWeisse@umich.edu, Dhaval Giani , Junaid Shahid , jsbarnes@google.com, chris.hyser@oracle.com, Ben Segall , Josh Don , Hao Luo , Tom Lendacky Subject: Re: [PATCH v10 2/5] sched: CGroup tagging interface for core scheduling Message-ID: References: <20210123011704.1901835-1-joel@joelfernandes.org> <20210123011704.1901835-3-joel@joelfernandes.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210123011704.1901835-3-joel@joelfernandes.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.