From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752855AbZHSSmT (ORCPT ); Wed, 19 Aug 2009 14:42:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752041AbZHSSmT (ORCPT ); Wed, 19 Aug 2009 14:42:19 -0400 Received: from bombadil.infradead.org ([18.85.46.34]:60449 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751795AbZHSSmS (ORCPT ); Wed, 19 Aug 2009 14:42:18 -0400 Subject: Re: CPU scheduler weirdness? From: Peter Zijlstra To: Marton Balint Cc: Andreas Mohr , linux-kernel@vger.kernel.org, mingo@elte.hu In-Reply-To: References: <20090813084257.GA761@rhlx01.hs-esslingen.de> <20090813155812.GA15714@rhlx01.hs-esslingen.de> <1250665455.7583.326.camel@twins> <1250683834.7583.360.camel@twins> Content-Type: text/plain Date: Wed, 19 Aug 2009 20:42:11 +0200 Message-Id: <1250707331.7154.1.camel@laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.26.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2009-08-19 at 14:34 +0200, Marton Balint wrote: > > On Wed, 19 Aug 2009, Peter Zijlstra wrote: > > > On Wed, 2009-08-19 at 14:01 +0200, Marton Balint wrote: > >> On Wed, 19 Aug 2009, Peter Zijlstra wrote: > >>> On Tue, 2009-08-18 at 21:49 +0200, Marton Balint wrote: > >>> > >>>> In the meantime, I was able to create a tiny C program which always > >>>> succesfully reproduces the bug. It's basically an endless loop which does > >>>> not stop while the process is running on the last CPU core. The program > >>>> creates multiple instances of itself, to be able to keep all of the CPU > >>>> cores busy. After 1 second, the processes running on other than the last > >>>> CPU core die, the processes running on the last CPU core remain stuck > >>>> there... > >>>> > >>>> I tested it on my dual core system, if someone could test it on a quad > >>>> core and report back that would probably be useful. > >>>> > >>>> Usage: ./schedtest > >>>> > >>>> And don't forget to kill the stuck processes after using the program! :) > >>> > >>> So what's the bug? Sure one task will stay on the cpu, and because there > >>> is no contention it doesn't get migrated, and therefore won't quit, > >>> how's that a problem? > >> > >> Problem is that more than one processes remain on that CPU core, and none > >> of them get migrated to other (idle) cores. I tested it with my E8400 > >> processor and 2.6.31-rc5-git3 kernel. > > > > Only one remains here.. on a c2q running 2.6.31-rc6-tip > > > > Do you have a .config handy? > > > > Yes it's in my original post: > > http://marc.info/?l=linux-kernel&m=125012584709800&w=2 Right you are,.. so I build a kernel with the cgroup scheduler in and tested it on a dual-core opteron machine, but I can't seem to reproduce this. Are you using cgroups in any way, or do you simply have it enabled in your config?