Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Nov 2017 12:23:47 -0800
From:      Michael Sierchio <kudzu@tenebras.com>
To:        lev@freebsd.org
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, freebsd-stable <freebsd-stable@freebsd.org>
Subject:   =?UTF-8?Q?Re=3A_Intel_I210_=28igb=29_sometimes_consume_all_CPU_on_no?= =?UTF-8?Q?t=2Dso=2Dbig_traffic_=E2=80=94_need_help=21?=
Message-ID:  <CAHu1Y71VLvgW=GfzQ3M0T7_0og-M=tOdXD5f2zWhCuouvO6uFQ@mail.gmail.com>
In-Reply-To: <8590fa5d-fd06-90c6-8d3e-34c155423720@FreeBSD.org>
References:  <8590fa5d-fd06-90c6-8d3e-34c155423720@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Is device polling enabled?

- M

On Thu, Nov 9, 2017 at 12:17 PM, Lev Serebryakov <lev@freebsd.org> wrote:

>
>  I still have problems with my E-1220v3 server equipped with Intel I210
> adapter. It can not be loaded more than 100Mbit/s because it is
> connection to internet.
>
>  But sometimes four interrupt threads "intr{irqXXX: igb0:que Y}" consume
> 100% CPU. Interrupt rate is very modest:
>
> % vmstat -i
> interrupt                          total       rate
> ...
> irq276: igb0:que 0             851899713       1193
> irq277: igb0:que 1             907338150       1271
> irq278: igb0:que 2             907538207       1271
> irq279: igb0:que 3             768217584       1076
> irq280: igb0:link                      2          0
> %
>
>  But CPU consumption is 90-100% per thread:
>
> PID USERNAME PRI NICE SIZE  RES STATE C   TIME   WCPU COMMAND
>  11 root     -92    -   0K 544K CPU2  2 146:22 98.30% intr{irq278:
> igb0:que 2}
>  11 root     -92    -   0K 544K WAIT  0 178:18 81.55% intr{irq276:
> igb0:que 0}
>  11 root     -92    -   0K 544K WAIT  1 135:34 77.77% intr{irq277:
> igb0:que 1}
>  11 root     -92    -   0K 544K CPU3  3 138:57 67.50% intr{irq279:
> igb0:que 3}
>
>  procstat -ak looks suspicious:
>
> % sudo procstat -ak | grep igb0:que
>    11 100056 intr   irq276: igb0:que 0  vm_page_scan_contig
> vm_phys_scan_contig vm_page_reclaim_contig kmem_alloc_contig
> mbuf_jumbo_alloc keg_alloc_slab keg_fetch_slab zone_fetch_slab
> zone_import zone_alloc_item uma_zalloc_arg m_getjcl igb_refresh_mbufs
> igb_rxeof igb_msix_que intr_event_execute_handlers ithread_loop fork_exit
>    11 100058 intr   irq277: igb0:que 1  mi_switch ithread_loop fork_exit
> fork_trampoline
>    11 100060 intr   irq278: igb0:que 2  mi_switch ithread_loop fork_exit
> fork_trampoline
>    11 100062 intr   irq279: igb0:que 3  mi_switch ithread_loop fork_exit
> fork_trampoline
> %
>
> --
> // Lev Serebryakov
>
>


--=20
"Well," Brahma said, "even after ten thousand explanations, a fool is no
wiser, but an intelligent person requires only two thousand five hundred."

- The Mah=C4=81bh=C4=81rata



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHu1Y71VLvgW=GfzQ3M0T7_0og-M=tOdXD5f2zWhCuouvO6uFQ>