Date: Wed, 28 May 2014 19:56:48 -0700 From: Juli Mallett <jmallett@FreeBSD.org> To: Cesar Fazan <cesar.fazan@gmail.com> Cc: "freebsd-mips@FreeBSD.org" <freebsd-mips@freebsd.org> Subject: Re: Are there any hardcoded limits on octeon ethernet module? Message-ID: <CACVs6=9s4AjJcPJ6eV8ZEE0AOL2tp4nvYqn9OogNouDBFs55dQ@mail.gmail.com> In-Reply-To: <CA%2BzsmXcmUfqvtQjp4LDXX-V6b31qY1qnXrQv0QJvR3apcm3OHA@mail.gmail.com> References: <CA%2BzsmXcmUfqvtQjp4LDXX-V6b31qY1qnXrQv0QJvR3apcm3OHA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Cesar, On Wed, May 28, 2014 at 7:47 PM, Cesar Fazan <cesar.fazan@gmail.com> wrote: > Hi, > > While testing the network performance of FreeBSD 10 running on EdgeRouter > Lite I noticed that kernel{octe taskq_0/1} can't use more than 50% of the > cpu. > > Are there any hardcoded limiting this? > There's no hard-coded limits, but there are some deficiencies in the current driver, particularly with regard to its ability to moderate interrupts and process packets in batches. Linux performs better because of NAPI, which is more suited to the kind of batch processing that Octeon wants. FreeBSD's DEVICE_POLLING would be better, but the committed driver lacks support for it, though I can probably dig up some old patches I did as a proof-of-concept for it. The right fix is for someone with a lot of patience to get interrupt moderation working, and then to handle batch processing correctly. There's no tunables or anything you should work with here, it's a matter of needed changes to the kernel driver. Thanks, Juli.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACVs6=9s4AjJcPJ6eV8ZEE0AOL2tp4nvYqn9OogNouDBFs55dQ>