Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752615AbdHGIjW (ORCPT ); Mon, 7 Aug 2017 04:39:22 -0400 Received: from bombadil.infradead.org ([65.50.211.133]:54010 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752593AbdHGIjV (ORCPT ); Mon, 7 Aug 2017 04:39:21 -0400 Date: Mon, 7 Aug 2017 10:39:13 +0200 From: Peter Zijlstra To: Alexey Budankov Cc: Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin , Andi Kleen , Kan Liang , Dmitri Prokhorov , Valery Cherepennikov , Mark Rutland , Stephane Eranian , David Carrillo-Cisneros , linux-kernel Subject: Re: [PATCH v6 1/3] perf/core: use rb trees for pinned/flexible groups Message-ID: <20170807083913.vfqmwsdzxsczh4yr@hirez.programming.kicks-ass.net> References: <96c7776f-1f17-a39e-23e9-658596216d6b@linux.intel.com> <20170803130002.oatczvnaalplrsep@hirez.programming.kicks-ass.net> <86cbe0b0-a1ec-4d5f-addc-87bccf2e97d7@linux.intel.com> <20170804143628.34c2xqxl2e6k2arj@hirez.programming.kicks-ass.net> <9d2e25c9-209c-f28a-d601-d3f1a71f032f@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9d2e25c9-209c-f28a-d601-d3f1a71f032f@linux.intel.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 795 Lines: 19 On Mon, Aug 07, 2017 at 10:17:46AM +0300, Alexey Budankov wrote: > Makes sense. The implementation becomes a bit simpler. The drawbacks > may be several rotations of potentially big tree on the critical path, > instead of updating four pointers in case of the tree of lists. Yes, but like said, it allows implementing a better scheduler than RR, allowing us to fix rotation artifacts where task runtimes are near the rotation window. A slightly more complicated, but also interested scheduling problem is the per-cpu flexible vs the per-task flexible. Ideally we'd rotate them at the same priority based on service, without strictly prioritizing the per-cpu events. Again, that is something that should be possible once we have a more capable event scheduler. So yes, cons and pros.. :-)