All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlad Yasevich <vyasevich@gmail.com>
To: Thomas Graf <tgraf@suug.ch>
Cc: Neil Horman <nhorman@tuxdriver.com>,
	Michele Baldessari <michele@acksyn.org>,
	linux-sctp@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.org
Subject: Re: [PATCH net-next] sctp: support per-association stats via a new SCTP_GET_ASSOC_STATS call
Date: Tue, 30 Oct 2012 10:25:17 -0400	[thread overview]
Message-ID: <508FE34D.8010402@gmail.com> (raw)
In-Reply-To: <20121030125230.GB13450@casper.infradead.org>

On 10/30/2012 08:52 AM, Thomas Graf wrote:
> On 10/29/12 at 04:22pm, Vlad Yasevich wrote:
>> On 10/29/2012 07:37 AM, Neil Horman wrote:
>>> Hm, ok, looking for the maximum rto seen is definately more efficient that a
>>> high polling rate on the remaddr file.  Still can't say I really like it as a
>>> statistic though.  While it helps in diagnosing a very specific type of problem
>>> (applications that have a maximum allowable latency), its really not useful, and
>>> potentially misleading, in the general case.  Specificaly it may show a very
>>> large RTO even if that RTO was an erroneous spike in behavior earlier in the
>>> lifetime of a given transport, even if that RTO is not representative of the
>>> current behavior of the association.  It seems to me like this stat might be
>>> better collected using a stap script or by adding a trace point to
>>> sctp_transport_update_rto.  If the application needs to know this information
>>> internally during its operation to take corrective action, you can already get
>>> it via the SCTP_GET_PEER_ADDR_INFO socket option on a per transport basis just
>>> as efficiently.
>
> SCTP_GET_PEER_ADDR_INFO doesn't help here as the whole point of this
> stat is to get max(rto) as seen by the SCTP stack.
>
>> The max_rto is reset after each getsockopt(), so in effect, the
>> application sets its own polling interval and gets the max rto
>> achieved during it.  If the rto hasn't changed, then the last value
>> is returned.  Not sure how much I like that.  I would rather get max
>> rto achieved per polling period and upon reset, max_rto is
>> accumulated again (easy way to do that is set to rto_min on reset).
>> This way an monitoring thread can truly represent the max rto
>> reported by association.  It should normally remain steady, but this
>> will show spikes, if any.
>
> I would still reset it to 0 but I agree that it makes more sense to
> return 0 if max(rto) remains unchanged within the observation period
> rather than returning the previous max(rto).
>

Can you give me some reasons why you prefer 0?

0 seems a bit strange to me.  if someone was to construct a histogram of 
values, they would start with some initial value, then see 0s if there 
is no change, a spike for large rto, and if the spike is corrected, it 
would drop to 0 indicating no change...  Seems odd.

I would rather see what the current observed max rto is for an 
application polling period.  Then a histogram can be correctly constructed.

-vlad

  reply	other threads:[~2012-10-30 14:25 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-26 13:42 [PATCH net-next] sctp: support per-association stats via a new SCTP_GET_ASSOC_STATS call Michele Baldessari
2012-10-26 13:42 ` Michele Baldessari
2012-10-26 14:37 ` Neil Horman
2012-10-26 14:37   ` Neil Horman
2012-10-26 19:16   ` Vlad Yasevich
2012-10-26 19:16     ` Vlad Yasevich
2012-10-27 11:35   ` Michele Baldessari
2012-10-27 11:35     ` Michele Baldessari
2012-10-27 15:48     ` Vlad Yasevich
2012-10-27 15:48       ` Vlad Yasevich
2012-10-27 15:50       ` Vlad Yasevich
2012-10-27 15:50         ` Vlad Yasevich
2012-10-29 16:38       ` Neil Horman
2012-10-29 16:38         ` Neil Horman
2012-10-29 20:11         ` Vlad Yasevich
2012-10-29 20:11           ` Vlad Yasevich
2012-10-29 22:19           ` Neil Horman
2012-10-29  8:41   ` Thomas Graf
2012-10-29 11:37     ` Neil Horman
2012-10-29 11:37       ` Neil Horman
2012-10-29 20:22       ` Vlad Yasevich
2012-10-30 11:15         ` Neil Horman
2012-10-30 14:21           ` Vlad Yasevich
2012-10-30 14:54             ` Thomas Graf
2012-10-30 12:52         ` Thomas Graf
2012-10-30 14:25           ` Vlad Yasevich [this message]
2012-10-30 14:51             ` Thomas Graf
2012-10-26 20:00 ` Vlad Yasevich
2012-10-26 20:00   ` Vlad Yasevich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=508FE34D.8010402@gmail.com \
    --to=vyasevich@gmail.com \
    --cc=davem@davemloft.net \
    --cc=linux-sctp@vger.kernel.org \
    --cc=michele@acksyn.org \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=tgraf@suug.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.