Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Oct 2012 20:32:10 +0400
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        freebsd-net@FreeBSD.org, "Alexander V. Chernikov" <melifaro@FreeBSD.org>, Luigi Rizzo <rizzo@iet.unipi.it>, Jack Vogel <jfvogel@gmail.com>, net@FreeBSD.org
Subject:   Re: ixgbe & if_igb RX ring locking
Message-ID:  <20121015163210.GW89655@FreeBSD.org>
In-Reply-To: <201210150904.27567.jhb@freebsd.org>
References:  <5079A9A1.4070403@FreeBSD.org> <CAFOYbc=N87_OECto7B8jdzmRZA-yoa_JWgvVc8kwpK9umO97rQ@mail.gmail.com> <507C1960.6050500@FreeBSD.org> <201210150904.27567.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 15, 2012 at 09:04:27AM -0400, John Baldwin wrote:
J> > 3) in practice taskqueue routine is a nightmare for many people since 
J> > there is no way to stop "kernel {ix0 que}" thread eating 100% cpu after 
J> > some traffic burst happens: once it is called it starts to schedule 
J> > itself more and more replacing original ISR routine. Additionally, 
J> > increasing rx_process_limit does not help since taskqueue is called with 
J> > the same limit. Finally, currently netisr taskq threads are not bound to 
J> > any CPU which makes the process even more uncontrollable.
J> 
J> I think part of the problem here is that the taskqueue in ixgbe(4) is
J> bogusly rescheduled for TX handling.  Instead, ixgbe_msix_que() should
J> just start transmitting packets directly.
J> 
J> I fixed this in igb(4) here:
J> 
J> http://svnweb.freebsd.org/base?view=revision&revision=233708

The problem Alexander describes in 3) definitely wasn't fixed in r233708.

It is still present in head/, and it prevents me to do good benchmarking
of pf(4) on igb(4).

The problem is related to RX handling, so I don't see how r233708 could
fix it.

-- 
Totus tuus, Glebius.



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