From owner-freebsd-net@freebsd.org Fri Nov 6 00:09:07 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 CA169A25328 for ; Fri, 6 Nov 2015 00:09:07 +0000 (UTC) (envelope-from ralsaadi@swin.edu.au) Received: from iport1.cc.swin.edu.au (iport1.cc.swin.edu.au [136.186.0.49]) by mx1.freebsd.org (Postfix) with ESMTP id 6121F17B2 for ; Fri, 6 Nov 2015 00:09:06 +0000 (UTC) (envelope-from ralsaadi@swin.edu.au) X-IronPort-AV: E=Sophos;i="5.20,249,1444654800"; d="scan'208";a="14612044" Received: from gsp-ex01.ds.swin.edu.au (HELO outlook.swin.edu.au) ([136.186.126.17]) by iport1.cc.swin.edu.au with ESMTP; 06 Nov 2015 11:09:00 +1100 Received: from GSP-EX02.ds.swin.edu.au ([169.254.2.2]) by gsp-ex01.ds.swin.edu.au ([169.254.1.85]) with mapi id 14.03.0248.002; Fri, 6 Nov 2015 11:09:00 +1100 From: Rasool Al-Saadi To: Hans Petter Selasky , "freebsd-net@freebsd.org" Subject: RE: Timing issue with Dummynet on high kernel timer interrupt Thread-Topic: Timing issue with Dummynet on high kernel timer interrupt Thread-Index: AdEWOVE5DoAlkzqPQWaBZ8ln4esVd///TXiA//0UVtCABdKzgP/+Z6Xg Date: Fri, 6 Nov 2015 00:08:59 +0000 Message-ID: <6545444AE21C2749939E637E56594CEA3C0E0BD9@gsp-ex02.ds.swin.edu.au> References: <6545444AE21C2749939E637E56594CEA3C0DCCC4@gsp-ex02.ds.swin.edu.au> <5638B7B5.3030802@selasky.org> <6545444AE21C2749939E637E56594CEA3C0DE7FF@gsp-ex02.ds.swin.edu.au> <563B2703.5080402@selasky.org> In-Reply-To: <563B2703.5080402@selasky.org> Accept-Language: en-AU, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [136.186.126.11] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 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 00:09:07 -0000 On Thursday, 5 November 2015 8:53 PM, Hans Petter Selasky wrote: >=20 > On 11/05/15 00:44, Rasool Al-Saadi wrote: > > > > On Wednesday, 4 November 2015 12:34 AM, Hans Petter Selasky wrote: > >> On 11/03/15 14:14, Rasool Al-Saadi wrote: > >>> Does anyone have thoughts on what we can test next to narrow down > >>> the > >> root-cause of these unusual timing jumps? > >> > >> You might also want to test the "projects/hps_head" branch, which > >> uses a bit different callout implementation. > > > > Thanks Hans for your suggestion. > > I have tried "projects/hps_head" branch and the result is better (numbe= r > of spikes is less than in the master branch). However, the problem still = exists > on the same timer interrupt frequencies (>3000 in my case). You can see i= n > this graph https://goo.gl/photos/C2Mqx4xhMQuzxWnz6 the RTT spikes still > there. > > > > Do you have any further suggestions? > > >=20 > Hi, >=20 > If the jitter is in the xx milliseconds range, like your graph shows, my = guess is > that td_owepreemt is not set when we return from the dummynet() > callback. See attached patch. The patch doesn't solve the problem. I tried it on the master and hps branc= hes. > Else you might want to try to remove the C_HARDCLOCK flag from > callout_reset_sbt() in ip_dummynet.c. Removing C_HARDCLOCK reduces the problem but doesn't solve it completely. = However, removing C_DIRECT_EXEC instead solves the problem (but occasiona= lly very small spike(s) appears in high hz values). =20 I mentioned in my first email that removing these flags makes the issue to = disappear. But what the effects of removing these flags? If it cause timing= issue to Dummynet, why we should use them? Regards, Rasool > --HPS