[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6D0F6C2AEE@AcuExch.aculab.com>
Date: Tue, 18 Feb 2014 15:39:50 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Vlad Yasevich' <vyasevich@...il.com>,
Xufeng Zhang <xufeng.zhang@...driver.com>,
"nhorman@...driver.com" <nhorman@...driver.com>,
"davem@...emloft.net" <davem@...emloft.net>
CC: "linux-sctp@...r.kernel.org" <linux-sctp@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH RFC] sctp: Update HEARTBEAT timer immediately after user
changed HB.interval
> > +
> > + /* Update the heartbeat timer immediately. */
> > + if (!mod_timer(&trans->hb_timer,
> > + sctp_transport_timeout(trans)))
> > + sctp_transport_hold(trans);
>
> This is causes a rather inconsistent behavior in that it doesn't
> account of the amount of time left on the hb timer. Thus it doesn't
> always do what commit log implies. If the remaining time is shorter
> then the new timeout value, it will take longer till the next HB
> the application expects.
Being able to stop heartbeats being sent by repeatedly configuring
the interval is certainly not a good idea!
> If the application has very strict timing requirement on the HBs, it
> should trigger the HB manually.
>
> We could rework the code to allow the combination of
> SPP_HB_DEMAND | SPP_HB_ENABLE to work as follows:
> 1) update the timer to the new value
> 2) Send an immediate HB
> a) Update the hb timeout.
>
> 2a should probably be done regardless since it can cause 2 HB to be
> outstanding at the same time.
Sending a heartbeat 'on demand' might be problematic if one
has also just been sent (from the timer).
I'd have thought that you wouldn't want to send a heartbeat while
still expecting a response from the previous one (this might require
splitting the time interval in two).
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists