netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hagen Paul Pfeifer <hagen@jauu.net>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: Satoru Moriya <satoru.moriya@hds.com>,
	David Miller <davem@davemloft.net>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"tgraf@infradead.org" <tgraf@infradead.org>,
	"stephen.hemminger@vyatta.com" <stephen.hemminger@vyatta.com>,
	"eric.dumazet@gmail.com" <eric.dumazet@gmail.com>,
	Seiji Aguchi <seiji.aguchi@hds.com>,
	fche@sourceware.org
Subject: Re: [PATCH v2 0/2] Tracepoint for tcp retransmission
Date: Sat, 4 Feb 2012 16:58:07 +0100	[thread overview]
Message-ID: <20120204155807.GA2657@nuttenaction> (raw)
In-Reply-To: <20120204142823.GA7000@neilslaptop.think-freely.org>

* Neil Horman | 2012-02-04 09:28:23 [-0500]:

>So, I hadn't really considered this approach (missed the suggestion previously).
>Its not really accurate to disregard this solution entirely.  While the overhead
>of tcpdump (or libpcap more specifically) might be too much, it speaks to a
>possible solution that doesn't require adding additional tracepoints: a
>netfilter hook.  What about writing a kernel module to hook at various points
>(I'd guess IP_PREROUTE would be best), to detect duplicate sequence numbers on a
>particular connection.  You could export the information via a proc file, or do
>it asynchronously with a netlink socket or some such.  Thats the sort of module
>that pleasantly isolated (allow those not interested to not have to include it
>in their builds or see it in the source), efficiently provides the information
>you need, and can be expanded to other types of traffic should you need it in
>the future.

That sounds broken by design. Copy TCP sequence number mechanism one more time
as a netfilter module? You probably catch the retransmission drop with this,
but users *want* more: in one week Satoru realize that the retransmission
tracepoint doesn't cover all required information for their customer. Other
user may need information about TCP rate-halfing-SACK-rto-foo drops. You will
and up realizing that in-packet data (like sequence number) is not sufficient
for correct analysis. Ask Yuchung how many tracepoints they use. Maybe Google
guys should publish their git network-stack-trace topic branch, like the rt
branch: everybody who want more tracing should pull from this branch. (ok, too
revolutionary ;-)

What is required is a context aware tracing mechanism with no overhead and no
code modification ... Mmhh ... systemtap! ;-)

The problem is the usability of systemtap. One problem is that the scripts are
maintained out of kernel development (maybe) and thus source code
modifications are not aligned (kernel and systemtap scripts). IMO that's one
of the drawbacks of systemap. But maybe this is no problem in praxis:
end-customers normally use stable kernels for a longer time.

Hagen

  reply	other threads:[~2012-02-04 15:58 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-20 18:07 [PATCH v2 0/2] Tracepoint for tcp retransmission Satoru Moriya
2012-01-20 18:08 ` [PATCH v2 1/2] tcp: refactor tcp_retransmit_skb() for a single return point Satoru Moriya
2012-01-20 18:09 ` [PATCH v2 2/2] tcp: add tracepoint for tcp retransmission Satoru Moriya
2012-01-20 18:50 ` [PATCH v2 0/2] Tracepoint " David Miller
2012-02-03 21:47   ` Satoru Moriya
2012-02-04  4:40     ` Yuchung Cheng
2012-02-06 18:32       ` Satoru Moriya
2012-02-04 14:28     ` Neil Horman
2012-02-04 15:58       ` Hagen Paul Pfeifer [this message]
2012-02-04 20:09         ` Neil Horman
2012-02-05 12:53           ` Frank Ch. Eigler
2012-02-05 19:17             ` Neil Horman
2012-02-05 20:04               ` Hagen Paul Pfeifer
2012-02-05 21:48                 ` David Miller
2012-02-06  1:32                 ` Neil Horman
2012-02-06 15:20                   ` Frank Ch. Eigler
2012-02-06 15:24                     ` Eric Dumazet
2012-02-06 15:38                       ` Neil Horman
2012-02-06 15:53                     ` Neil Horman
2012-02-06 16:18                       ` Steven Rostedt
2012-02-06 17:02                         ` Eric Dumazet
2012-02-06 17:18                           ` Steven Rostedt
2012-02-06 16:21                       ` Frank Ch. Eigler
2012-02-06 18:21                       ` Satoru Moriya
2012-01-25 13:27 ` Hagen Paul Pfeifer
2012-01-25 14:44   ` Eric Dumazet
2012-01-26 18:51     ` David Miller
2012-02-03 20:31     ` Satoru Moriya
2012-02-03 20:43   ` Satoru Moriya
2012-02-03 20:55     ` Hagen Paul Pfeifer

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=20120204155807.GA2657@nuttenaction \
    --to=hagen@jauu.net \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=fche@sourceware.org \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=satoru.moriya@hds.com \
    --cc=seiji.aguchi@hds.com \
    --cc=stephen.hemminger@vyatta.com \
    --cc=tgraf@infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).