On 04/08/16 09:13, Darren Tucker wrote:
On Wed, Aug 3, 2016 at 8:07 PM, Momtchil Momtchev <[email protected]> wrote:Does anyone with a working knowledge of re(4) have any idea why the PC Engines APU NICs perform so poorly in OpenBSD?Most likely lack of hardware interrupt moderation in the driver. There's code in re_setup_hw_im() that looks like might do something plausible with the interrupt moderation register but AFAICT it'll never be called because rl_imtype is always set to "RL_IMTYPE_SIM".
What is the problem with software interrupt moderation? That it has a fixed timer while the hardware one scales with the RX rate? This shouldn't halve the performance? It should be more like 10% to 15% and some latency benefit? I have also noticed that the TX rate is higher than the RX rate (about 320 Mbit/s vs 260 Mbit/s). Could it be that the FreeBSD driver uses MSI interrupts and the OpenBSD one does not? PS. On the APU my interrupt rate is about 6000 IRQ/s when doing 320 MBit/s, this is one IRQ every 165us or one IRQ for about 3 or 4 packets. I will make rl_sim_time tunable and I will test if it affects performance.

