Date: Thu, 5 Feb 2015 13:40:47 -0800 From: hiren panchasara <hiren@strugglingcoder.info> To: Adrian Chadd <adrian@freebsd.org> Cc: FreeBSD Net <freebsd-net@freebsd.org> Subject: Re: Silly experiments with netisr Message-ID: <20150205214047.GE69733@strugglingcoder.info> In-Reply-To: <CAJ-VmonX%2B_8g1Z1d6M4atC0_YriJq6scaXGF27yapfg5WyfGUg@mail.gmail.com> References: <54D3BE67.8060502@ignoranthack.me> <CAJ-VmonX%2B_8g1Z1d6M4atC0_YriJq6scaXGF27yapfg5WyfGUg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On 02/05/15 at 11:13P, Adrian Chadd wrote:
> On 5 February 2015 at 11:03, Sean Bruno <sbruno@ignoranthack.me> wrote:
> >
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA512
> >
> > Some questions came up around the office and we ended up doing some
> > quite silly things with lo0 and netcat.
> >
> > If one runs a continuous netcat on localhost to another netcat listener
> > on localhost that writes the output to /dev/null, netisr gets super busy
> > doing stuff/things.
> >
> > E.g.
> > -- listener running "nc -k -l 10000 > /dev/null"
> > - sender running in a while loop "nc -N localhost 10000 <
> > /var/tmp/testfile"
> >
> > Interesting things start happening on the machine. top -SH shows netisr
> > eating up about 1/2 of a cpu core. If you drop the MTU on lo0 to 1500
> > (so that it looks like something in the real world), netisr will peg out
> > a cpu core. This seems logical, in that smaller MTU means busier
> > netisr. Its interesting though.
> >
> > Looking at some pmcstat things, shows that the system is busilly
> > chugging along in tcp_do_segment(). I wonder if this is meaningful in
> > anyway or just "interesting".
> >
> > PMC: [FR_RETIRED_X86_INSTRUCTIONS] Samples: 267614 (100.0%) , 12350
> > unresolved
>
> UHm, on a recent intel, use CPU_CLK_UNHALTED instead, so you get an
> idea of which instructions are spending the most time doing "stuff".
> Some instructions are costlier than others (eg things that cause
> memory bus stalls.)
>
> > %SAMP IMAGE FUNCTION CALLERS
> > 5.5 kernel in_cksumdata in_cksum_skip
>
> .. we're checksumming localhost tcp? :)
We can get rid of it with RXCSUM/TXCSUM flags on lo0 right?
From man 4 lo
If the transmit checksum offload capability flag is enabled on a loopback
interface, checksums will not be generated by IP, UDP, or TCP for packets
sent on the interface.
Or am I missing something?
cheers,
Hiren
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)
iQF8BAEBCgBmBQJU0+NeXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4
QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lkl4IAKGAcQf+cVf2nk4BgjKHnbxY
xuKz1OuYPzfTx1znFEypkdR5CQCu/jmxttx3QQayM28aghQGMZjVyzw1fEIkVysM
hDqozcs9/H59OkmjNSXu365OIrQPhB6zXTdhLoh96UHeYEwFz1mJtH/J2Y//6r9i
Ct6jXvsfAfUPYh252FHd/oFqb3M6FVPVMYceONYBqyGOno5stte0jUo67IwoYzzw
ROolDGnkFXpK3nZZfc2g4We5jVlcq8daYB27HmllvEULZjpq5uv23fRCYqQDL09l
kU+8UxFPXfndLqUI36B7T2ugQ6BbHk542gycGdQuDmfttLTvdcH+hyeFpH40aeA=
=b3U8
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150205214047.GE69733>
