From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753022AbcFNUmi (ORCPT ); Tue, 14 Jun 2016 16:42:38 -0400 Received: from merlin.infradead.org ([205.233.59.134]:36844 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752772AbcFNUmh (ORCPT ); Tue, 14 Jun 2016 16:42:37 -0400 Date: Tue, 14 Jun 2016 22:42:25 +0200 From: Peter Zijlstra To: Thomas Gleixner Cc: Arjan van de Ven , Ingo Molnar , LKML , "Paul E. McKenney" , Eric Dumazet , Frederic Weisbecker , Chris Mason , Arjan van de Ven , rt@linutronix.de, Linus Torvalds Subject: Re: [patch 13/20] timer: Switch to a non cascading wheel Message-ID: <20160614204225.GI30154@twins.programming.kicks-ass.net> References: <20160613070440.950649741@linutronix.de> <20160613075929.282143900@linutronix.de> <20160613114005.GY30909@twins.programming.kicks-ass.net> <20160614101144.GA849@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 14, 2016 at 08:05:49PM +0200, Thomas Gleixner wrote: > On Tue, 14 Jun 2016, Arjan van de Ven wrote: > > > evaluating a 120 hours timer ever 37 hours to see if it should fire... > > not too horrid. > > Well that thing is doing weird stuff anyway: > > swapper 0 [001] 1789995.305532: timer:timer_start: timer=0xffff8800c8346920 function=death_by_timeout expires=4850639994 [timeout=108000000] > ssh 3870 [001] 1790025.284704: timer:timer_cancel: timer=0xffff8800c8346920 > ssh 3870 [001] 1790025.284707: timer:timer_start: timer=0xffff8800c8346920 function=death_by_timeout expires=4742722493 [timeout=75000] > swapper 0 [001] 1790025.330514: timer:timer_cancel: timer=0xffff8800c8346920 > swapper 0 [001] 1790025.330515: timer:timer_start: timer=0xffff8800c8346920 function=death_by_timeout expires=4850647504 [timeout=108000000] > ssh 3870 [001] 1790055.307058: timer:timer_cancel: timer=0xffff8800c8346920 > ssh 3870 [001] 1790055.307060: timer:timer_start: timer=0xffff8800c8346920 function=death_by_timeout expires=4742730003 [timeout=75000] > swapper 0 [001] 1790055.352146: timer:timer_cancel: timer=0xffff8800c8346920 > > And that goes on forever. 2834 such sequences for this particular timer > instance in 4.5 hours. 90000 sequences total for all timers related to > death_by_timeout in 4.5 hours > > No idea what this is doing and why the heck it nees a 120 hour timeout .... So it moves that timer on every packet for that TCP connection stream, provided the expiration is at least 1 second behind. If the stream hasn't had a packet in 5 days (see previous email), then the connection state is destroyed. Its been too long since I've read the TCP RFCs, but I can imagine changing this will upset people.