Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753573Ab2E3SiN (ORCPT ); Wed, 30 May 2012 14:38:13 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:39965 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751652Ab2E3SiM (ORCPT ); Wed, 30 May 2012 14:38:12 -0400 Date: Wed, 30 May 2012 14:38:10 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Thomas Gleixner , Ingo Molnar cc: Kernel development list Subject: Use of high-res timers Message-ID: 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 Content-Length: 1413 Lines: 36 Thomas, Ingo, or anyone else: My driver needs to time a bunch of events, with roughly millisecond precision. Up to now it has used old-fashioned timer_lists and the jiffies counter, but I'm switching over to high-resolution timers and ktime_get. This leads to a few questions (these issues don't seem to be addressed anywhere in Documentation/timers): Should I be concerned about efficiency? I may well end up calling ktime_get several times per millisecond; is it fast enough for this to be okay? I need timed intervals with reliable lower bounds. Let's say I call ktime_get twice, maybe once in an interrupt handler and once in an hrtimer callback (not necessarily on the same CPU). Some action has to be taken no earlier than 1 ms after the first call. If the second call returns a value that is at least 1 ms larger than the first call, is that enough of a guarantee? If not, how much larger does it have to be? Which has more overhead: adding and cancelling an hrtimer several times, or simply letting it expire and returning immediately from the callback? (I wouldn't be surprised if there was no good answer.) Thanks, Alan Stern -- 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/