Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 05 Feb 2015 11:03:03 -0800
From:      Sean Bruno <sbruno@ignoranthack.me>
To:        FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Silly experiments with netisr
Message-ID:  <54D3BE67.8060502@ignoranthack.me>

next in thread | raw e-mail | index | archive | help

-----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

%SAMP IMAGE      FUNCTION             CALLERS
  5.5 kernel     in_cksumdata         in_cksum_skip
  5.0 kernel     tcp_output           tcp_do_segment:4.2 tcp_usr_rcvd:0.5=

  4.6 kernel     __rw_wlock_hard      tcp_usr_send:3.7 tcp_usr_rcvd:0.8
  3.8 pf.ko      pf_test              pf_check_in:2.0 pf_check_out:1.8
  3.6 kernel     sched_idletd         fork_exit
  3.2 pf.ko      pf_test_state_tcp    pf_test
  3.1 kernel     bzero                pf_test:0.8 pf_test_state_tcp:0.7
  3.1 kernel     bcopy                m_copydata:1.3 tcp_addoptions:0.7
tcp_dooptions:0.5
  2.7 kernel     tcp_do_segment       tcp_input


sean
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQF8BAEBCgBmBQJU075kXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRCQUFENDYzMkU3MTIxREU4RDIwOTk3REQx
MjAxRUZDQTFFNzI3RTY0AAoJEBIB78oecn5kc4kH/02ttXzvapAG2PSML9Ml0Kwf
XblpOHnrhUU8jsTauGhh8q4C94rb9hFDCzL4cEAI87QMXoBQHi9CWE0v/XdeR+8M
ajpHlNyd78XbmIKOVksesYWzLbVFjC0A3emnkH4dUX1XD6tJoihVaUQVcrAbNm+I
p6Z4yXrOXUP9UxBgkCSe5m3Y/K3vcmIPvFSnO/nN/2tckEh6+uuj1n3QyFXkUJJg
9erFanvDXr3nOyR6IWXIKxuy1yta32SpOPxywIl81qSBh1n/IOor41WqpzOnlNdM
d0np+ZD/d+Z9OQJZnuJunCrV6Cv2EFKJe5qBzCdOjLj0KvpNDnFXyndWpeXyvgI=3D
=3D+FSJ
-----END PGP SIGNATURE-----





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54D3BE67.8060502>