From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262881AbVGNWnu (ORCPT ); Thu, 14 Jul 2005 18:43:50 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263172AbVGNWlj (ORCPT ); Thu, 14 Jul 2005 18:41:39 -0400 Received: from clock-tower.bc.nu ([81.2.110.250]:56195 "EHLO lxorguk.ukuu.org.uk") by vger.kernel.org with ESMTP id S263159AbVGNWjt (ORCPT ); Thu, 14 Jul 2005 18:39:49 -0400 Subject: Re: [PATCH] i386: Selectable Frequency of the Timer Interrupt From: Alan Cox To: Linus Torvalds Cc: Vojtech Pavlik , Arjan van de Ven , Lee Revell , dean gaudet , Chris Wedgwood , Andrew Morton , "Brown, Len" , dtor_core@ameritech.net, david.lang@digitalinsight.com, davidsen@tmr.com, kernel@kolivas.org, Linux Kernel Mailing List , mbligh@mbligh.org, diegocg@gmail.com, azarah@nosferatu.za.org, christoph@lameter.com In-Reply-To: References: <1121286258.4435.98.camel@mindpipe> <20050713134857.354e697c.akpm@osdl.org> <20050713211650.GA12127@taniwha.stupidest.org> <20050714005106.GA16085@taniwha.stupidest.org> <1121304825.4435.126.camel@mindpipe> <1121326938.3967.12.camel@laptopd505.fenrus.org> <20050714121340.GA1072@ucw.cz> Content-Type: text/plain Content-Transfer-Encoding: 7bit Message-Id: <1121380637.3747.10.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 (1.4.6-2) Date: Thu, 14 Jul 2005 23:37:20 +0100 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org > just doesn't realize that the latter is a bit more complicated exactly > because the latter is a hell of a lot more POWERFUL. Trying to get rid of > jiffies for some religious reason is _stupid_. Getting rid of jiffies in its current form is a huge win for very non-religious reasons. Jiffies is expensive in power management and virtualisation because you have to maintain it. Swap jiffies for jiffies() and the world gets a lot better. In actual fact you also want to fix users of while(time_before(foo, jiffies)) { whack(mole); } to become init_timeout(&timeout); timeout.expires = jiffies + n add_timeout(&timeout); while(!timeout_expired(&timeout)) {} Which is a trivial wrapper around timers as we have them now