Skip site navigation (1)Skip section navigation (2)
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>