From owner-freebsd-arch@FreeBSD.ORG Mon Nov 13 21:43:35 2006 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 97AF916A4C9 for ; Mon, 13 Nov 2006 21:43:35 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: from pd3mo1so.prod.shaw.ca (shawidc-mo1.cg.shawcable.net [24.71.223.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 21F9443D77 for ; Mon, 13 Nov 2006 21:38:16 +0000 (GMT) (envelope-from cperciva@freebsd.org) Received: from pd2mr2so.prod.shaw.ca (pd2mr2so-qfe3.prod.shaw.ca [10.0.141.109]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0J8O009MZUREY300@l-daemon> for arch@freebsd.org; Mon, 13 Nov 2006 14:38:02 -0700 (MST) Received: from pn2ml2so.prod.shaw.ca ([10.0.121.146]) by pd2mr2so.prod.shaw.ca (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0J8O0035PUREW510@pd2mr2so.prod.shaw.ca> for arch@freebsd.org; Mon, 13 Nov 2006 14:38:02 -0700 (MST) Received: from hexahedron.daemonology.net ([24.82.18.31]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with SMTP id <0J8O00EYEURDHJC1@l-daemon> for arch@freebsd.org; Mon, 13 Nov 2006 14:38:02 -0700 (MST) Received: (qmail 4314 invoked from network); Mon, 13 Nov 2006 21:37:55 +0000 Received: from unknown (HELO ?127.0.0.1?) (127.0.0.1) by localhost with SMTP; Mon, 13 Nov 2006 21:37:55 +0000 Date: Mon, 13 Nov 2006 13:37:55 -0800 From: Colin Percival In-reply-to: <7105.1163451221@critter.freebsd.dk> To: Poul-Henning Kamp Message-id: <4558E5B3.1000003@freebsd.org> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7bit X-Enigmail-Version: 0.94.0.0 References: <7105.1163451221@critter.freebsd.dk> User-Agent: Thunderbird 1.5 (X11/20060416) Cc: arch@freebsd.org Subject: Re: a proposed callout API X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Nov 2006 21:43:35 -0000 Poul-Henning Kamp wrote: > XXX_arm(struct xxx*, tick_t, func *, arg *, int flag, struct mtx *); > Arm timer. If we (meaning you) are going to redesign the callout code, I think it would be great if the API provided some mechanism for specifying the required callback accuracy; for example "I'd like to be called back no later than 3 seconds from now, but any time after 2 seconds would be fine". This would allow more callbacks to be performed during each wakeup of the softclock thread, thereby amortizing the context switch overhead and increasing the average time when an otherwise idle cpu can sleep. Colin Percival