[Bug 206932] 8111 card stops responding under high load in netmap mode

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Feb 4 21:53:27 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206932

            Bug ID: 206932
           Summary: 8111 card stops responding under high load in netmap
                    mode
           Product: Base System
           Version: 10.2-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: software-freebsd at interfasys.ch

I've filed a bug report with netmap, but it seems the FreeBSD project is using
a different tree, so I'm reporting it here as well.
I've reproduced the problem with
* 10.1
* 10.2
* 10.2 with the netmap + re code from 11-CURRENT
* 10.2 with netmap from the official repository (master)

The problem is always the same

Using pkt-gen and after 20 or so "batches", the card is overloaded and stops
responding. I've tried various driver settings (polling, fast queue, no MSI,
irq filtering, etc.), but nothing helped.

There is a driver from Realtek, but it doesn't support netmap, so I've tried to
patch it, but I've got exactly the same results as described in other netmap
issues. Only one batch makes it. If I limit the rate, it fails after the total
of each batch matches the one of a default batch.

One thing I've noticed in my tests is that the generic software implementation
(which works flawlessly, but eats a lot of CPU) has 1024 queues and when
looking at the number of mbufs used with netstat, I can see that 1024 are in
use.
In dmesg, I can see that the realtek driver support 256 queues, but in netstat,
it uses 512 and sometimes even more (erratic changes up to 600+ at which point
things fail).

Could this be the reason? Is this fixable in netmap or is this a driver issue
which should be reported in the FreeBSD project?

Details about the card

```
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port
0xe000-0xe0ff mem 0x81300000-0x81300fff,0xa0100000-0xa0103fff irq 17 at device
0.0 on pci2
re0: Using 1 MSI-X message
re0: turning off MSI enable bit.
re0: Chip rev. 0x4c000000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8251 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX,
100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master,
1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Using defaults for TSO: 65518/35/2048
re0: netmap queues/slots: TX 1/256, RX 1/256

re0 at pci0:2:0:0: class=0x020000 card=0x012310ec chip=0x816810ec rev=0x0c
hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
    class      = network
    subclass   = ethernet
    bar   [10] = type I/O Port, range 32, base 0xe000, size 256, enabled
    bar   [18] = type Memory, range 64, base 0x81300000, size 4096, enabled
    bar   [20] = type Prefetchable Memory, range 64, base 0xa0100000, size
16384, enabled
```

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list