Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760191AbXERBCd (ORCPT ); Thu, 17 May 2007 21:02:33 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756763AbXERBC0 (ORCPT ); Thu, 17 May 2007 21:02:26 -0400 Received: from adsl-69-232-92-238.dsl.sndg02.pacbell.net ([69.232.92.238]:55944 "EHLO gnuppy.monkey.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755110AbXERBC0 (ORCPT ); Thu, 17 May 2007 21:02:26 -0400 Date: Thu, 17 May 2007 18:01:11 -0700 To: Ingo Molnar Cc: linux-kernel@vger.kernel.org, Linus Torvalds , Andrew Morton , Con Kolivas , Nick Piggin , Mike Galbraith , Arjan van de Ven , Peter Williams , Thomas Gleixner , caglar@pardus.org.tr, Willy Tarreau , Gene Heskett , Mark Lord , William Lee Irwin III , "Bill Huey (hui)" Subject: Re: [patch] CFS scheduler, -v12 Message-ID: <20070518010111.GE2017@gnuppy.monkey.org> References: <20070513153853.GA19846@elte.hu> <20070518001841.GA21140@gnuppy.monkey.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070518001841.GA21140@gnuppy.monkey.org> User-Agent: Mutt/1.5.13 (2006-08-11) From: Bill Huey (hui) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2012 Lines: 40 On Thu, May 17, 2007 at 05:18:41PM -0700, Bill Huey wrote: > On Sun, May 13, 2007 at 05:38:53PM +0200, Ingo Molnar wrote: > > Even a simple 3D app like glxgears does a sys_sched_yield() for every > > frame it generates (!) on certain 3D cards, which in essence punishes > > any scheduler that implements sys_sched_yield() in a sane manner. This > > interaction of CFS's yield implementation with this user-space bug could > > be the main reason why some testers reported SD to be handling 3D games > > better than CFS. (SD uses a yield implementation similar to the vanilla > > scheduler.) > > > > So i've added a yield workaround to -v12, which makes it work similar to > > how the vanilla scheduler and SD does it. (Xorg has been notified and > > this bug should be fixed there too. This took some time to debug because > > the 3D driver i'm using for testing does not use sys_sched_yield().) The > > workaround is activated by default so -v12 should work 'out of the box'. > > This is an incorrect analysis. OpenGL has the ability to "yield" after > every frame specifically for SGI IRIX (React/Pro) frame scheduler (driven > by the system vertical retrace interrupt) so that it can free up CPU > resources for other tasks to run. The problem here is that the yield > behavior is treated generally instead of specifically to a particular > proportion scheduler policy. > > The correct solution is for the app to use a directed yield and a policy > that can directly support it so that OpenGL can guaratee a frame rate > governed by CPU bandwidth allocated by the scheduler. > > Will is working on such a mechanism now. Follow up: http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/0650/bks/SGI_Developer/books/REACT_PG/sgi_html/ch04.html bill - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/