Messages in this thread | | | From | Eric Dumazet <> | Date | Tue, 14 Jun 2016 14:17:32 -0700 | Subject | Re: [patch 13/20] timer: Switch to a non cascading wheel |
| |
On Tue, Jun 14, 2016 at 1:42 PM, Peter Zijlstra <peterz@infradead.org> wrote: > 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. >
Original TCP RFCs tell timeout is infinite ;)
Practically, conntrack has a 5 days timeout, but I really doubt anyone expects an idle TCP flow to stay 'alive' when nothing is sent for 5 days.
| |