From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752227Ab1LSPwE (ORCPT ); Mon, 19 Dec 2011 10:52:04 -0500 Received: from merlin.infradead.org ([205.233.59.134]:45636 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751713Ab1LSPvv convert rfc822-to-8bit (ORCPT ); Mon, 19 Dec 2011 10:51:51 -0500 Message-ID: <1324309901.24621.14.camel@twins> Subject: Re: [RFC PATCH 0/4] Gang scheduling in CFS From: Peter Zijlstra To: "Nikunj A. Dadhania" Cc: mingo@elte.hu, linux-kernel@vger.kernel.org, vatsa@linux.vnet.ibm.com, bharata@linux.vnet.ibm.com, Benjamin Herrenschmidt , paulus Date: Mon, 19 Dec 2011 16:51:41 +0100 In-Reply-To: <20111219083141.32311.9429.stgit@abhimanyu.in.ibm.com> References: <20111219083141.32311.9429.stgit@abhimanyu.in.ibm.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Mailer: Evolution 3.2.1- Mime-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2011-12-19 at 14:03 +0530, Nikunj A. Dadhania wrote: > The following patches implements gang scheduling. These patches > are *highly* experimental in nature and are not proposed for > inclusion at this time. Nor will they ever be, I've always strongly opposed the whole concept and I'm not about to change my mind. Gang scheduling is a scalability nightmare. > Gang scheduling can be helpful in virtualization scenario. It will > help in avoiding the lock-holder-preemption[1] problem and other > benefits include improved lock-acquisition times. This feature > will help address some limitations of KVM on Power Use paravirt ticket locks or a pause-loop-filter like thing. > On Power, we have an interesting hardware restriction on guests > running across SMT theads: on any single core, we can only run one > mm context at any given time. OMFG are your hardware engineers insane? Anyway, I had a look at your patches and I don't see how could ever work. You gang-schedule cgroup entities, but there's no guarantee the load-balancer will have at least one task for each group on every cpu.