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
>
>
--
"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ābhārata
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHu1Y71VLvgW=GfzQ3M0T7_0og-M=tOdXD5f2zWhCuouvO6uFQ>
