From owner-freebsd-net@freebsd.org Fri Nov 6 20:58:33 2015 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D5B7BA28E52 for ; Fri, 6 Nov 2015 20:58:33 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1b.ore.mailhop.org (outbound1b.ore.mailhop.org [54.200.247.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AE34D1FA1 for ; Fri, 6 Nov 2015 20:58:33 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from ilsoft.org (unknown [73.34.117.227]) by outbound1.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Fri, 6 Nov 2015 20:58:31 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id tA6KwPNL051469; Fri, 6 Nov 2015 13:58:25 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1446843506.91534.443.camel@freebsd.org> Subject: Re: Timing issue with Dummynet on high kernel timer interrupt From: Ian Lepore To: Adrian Chadd Cc: Hans Petter Selasky , Luigi Rizzo , Rasool Al-Saadi , "freebsd-net@freebsd.org" , Alexander Motin Date: Fri, 06 Nov 2015 13:58:26 -0700 In-Reply-To: References: <6545444AE21C2749939E637E56594CEA3C0DCCC4@gsp-ex02.ds.swin.edu.au> <5638B7B5.3030802@selasky.org> <6545444AE21C2749939E637E56594CEA3C0DE7FF@gsp-ex02.ds.swin.edu.au> <563B2703.5080402@selasky.org> <6545444AE21C2749939E637E56594CEA3C0E0BD9@gsp-ex02.ds.swin.edu.au> <563C6864.2090907@selasky.org> <563C786C.1050305@selasky.org> <563CC186.9000807@selasky.org> <563CD533.2000909@selasky.org> <1446828229.91534.417.camel@freebsd.org> <563CDA8F.5010901@selasky.org> <563CDBF9.3090800@selasky.org> <1446830585.91534.435.camel@freebsd.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Nov 2015 20:58:33 -0000 On Fri, 2015-11-06 at 11:15 -0800, Adrian Chadd wrote: > Ideally there'd be both behaviours: > > * You'd specify whether a timer/sleep needs to be exact or can > withstand some jitter (which is what linux provides); and > * You can communicate to the kernel its aggressiveness for coalescing > wakeups. > We already implement exactly both of these things (the former in args to scheduling callouts, the latter in the form of the sysctl I referenced earlier which lets you set the "agressivness for coalescing"). The problem with the former is very little code actually uses the flavor of callout scheduling that lets you specify precision. The problem with the latter is that its default value is to allow enough deviation that people think the system is misbehaving. -- Ian