From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751913AbYIDEAT (ORCPT ); Thu, 4 Sep 2008 00:00:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754174AbYIDD7u (ORCPT ); Wed, 3 Sep 2008 23:59:50 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:33270 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754062AbYIDD7t (ORCPT ); Wed, 3 Sep 2008 23:59:49 -0400 Date: Wed, 3 Sep 2008 20:59:05 -0700 (PDT) From: Linus Torvalds To: Arjan van de Ven cc: Alok Kataria , Thomas Gleixner , Larry Finger , LKML , "Rafael J. Wysocki" , Michael Buesch , Dan Hecht Subject: Re: [PATCH] Fix TSC calibration issues In-Reply-To: <20080903201602.2ab6c449@infradead.org> Message-ID: References: <48BB2116.1060904@lwfinger.net> <1220490884.22734.83.camel@alok-dev1> <20080903201602.2ab6c449@infradead.org> User-Agent: Alpine 1.10 (LFD 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 3 Sep 2008, Arjan van de Ven wrote: > > but at some point, even doing things in parallel/asynchronous isn't > helping, "parallel shit is still shit" :) Well, the thing is, you can't call ti "shit" when the fact is that we don't have any other options than to wait. The only frequency we can trust on 99% of all machines is the PIT, and it's a very uncomfortable programming model due to all the history (it is one of the few truly 8-bit things left in a modern PC). The other options are just not reliably there, or are known to not have a stable frequency. So how would you suggest we do it? Lowering the wait to 5ms (times 5, so it's really 25ms, although we can probably stop early if the first iterations are very consistent) will work, but it _will_ reduce precision. And it's still real time. But we simply don't have alternatives. That 'shit' is originally from the company you work for, btw, and while it was good for its time, the replacement (HPET) was horribly misdesigned by the same company, and is deficient in many ways (not the least of which is the idiotic enumeration: another ACPI braindamage), and it often isn't even exposed. As a result, the PIT remains to this day the most reliable source of a reference timer. That includes even on really modern machines (ie the one I have from Intel that contains hardware not even released yet!). Linus