From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752765AbZH0XxH (ORCPT ); Thu, 27 Aug 2009 19:53:07 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752092AbZH0XxG (ORCPT ); Thu, 27 Aug 2009 19:53:06 -0400 Received: from zrtps0kp.nortel.com ([47.140.192.56]:43990 "EHLO zrtps0kp.nortel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751323AbZH0XxF (ORCPT ); Thu, 27 Aug 2009 19:53:05 -0400 Message-ID: <4A971C18.7050109@nortel.com> Date: Thu, 27 Aug 2009 17:51:52 -0600 From: "Chris Friesen" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 MIME-Version: 1.0 To: Thomas Gleixner CC: Christoph Lameter , raz ben yehuda , Andrew Morton , mingo@elte.hu, peterz@infradead.org, maximlevitsky@gmail.com, efault@gmx.de, riel@redhat.com, wiseman@macs.biu.ac.il, linux-kernel@vger.kernel.org, linux-rt-users@vger.kernel.org Subject: Re: RFC: THE OFFLINE SCHEDULER References: <1251282598.3514.20.camel@raz> <1251297910.1791.22.camel@maxim-laptop> <1251298443.4791.7.camel@raz> <1251300625.18584.18.camel@twins> <1251302598.18584.31.camel@twins> <20090826180407.GA13632@elte.hu> <20090826193252.GA14721@elte.hu> <20090826135041.e6169d18.akpm@linux-foundation.org> <4A95A5EE.90400@nortel.com> <1251322663.3882.48.camel@raz> <4A96B997.1070001@nortel.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 27 Aug 2009 23:52:13.0354 (UTC) FILETIME=[663CF8A0:01CA2771] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/27/2009 03:09 PM, Thomas Gleixner wrote: > That's just the wrong approach. All you need is a way to tell the > kernel that CPUx can switch off the scheduler tick when only one > thread is running and that very thread is running in user space. Once > another thread arrives on that CPU or the single thread enters the > kernel for a blocking syscall the scheduler tick has to be > restarted. That's an elegant approach...I like it. How would you deal with per-cpu kernel threads (softirqs, etc.) or softirq processing while in the kernel? Switching off the timer tick isn't sufficient because the scheduler will be triggered on the way back to userspace in a syscall. Chris