# Realtek NIC + PPPoe + Gig, Cpu usage seems odd?



## DoBoY (Dec 20, 2018)

I am aware of all the issues with Realtek Nics and PPPoe and Gig speeds I have already applied the net.isr.dispatch="deferred" fix and running the compile 1.95 driver.

That gave me another 30% increase in speed. But I was curious is anyone can explain the output below from Netstat -Q.

From what i am reading it seems that it "favors" one Cpu(Cpu1) and never touches Cpu0 for ip??


```
Configuration:
Setting                        Current        Limit
Thread count                         4            4
Default queue limit                256        10240
Dispatch policy               deferred          n/a
Threads bound to CPUs         disabled          n/a

Protocols:
Name   Proto QLimit Policy Dispatch Flags
ip         1   1000   flow  default   ---
igmp       2    256 source  default   ---
rtsock     3   1024 source  default   ---
arp        4    256 source  default   ---
ether      5    256 source   direct   ---
ip6        6    256   flow  default   ---

Workstreams:
WSID CPU   Name     Len WMark   Disp'd  HDisp'd   QDrops   Queued  Handled
   0   0   ip         0     0        0        0        0        0        0
   0   0   igmp       0     0        0        0        0        0        0
   0   0   rtsock     0     2        0        0        0      416      416
   0   0   arp        0     0        0        0        0        0        0
   0   0   ether      0     0  2283875        0        0        0  2283875
   0   0   ip6        0     0        0        0        0        0        0
   1   1   ip         0  1000        0        0     7907  3403871  3403871
   1   1   igmp       0     0        0        0        0        0        0
   1   1   rtsock     0     0        0        0        0        0        0
   1   1   arp        0     1        0        0        0       46       46
   1   1   ether      0     0  2922613        0        0        0  2922613
   1   1   ip6        0     1        0        0        0        6        6
   2   2   ip         0     3        0        0        0     9386     9386
   2   2   igmp       0     0        0        0        0        0        0
   2   2   rtsock     0     0        0        0        0        0        0
   2   2   arp        0     0        0        0        0        0        0
   2   2   ether      0     0     2865        0        0        0     2865
   2   2   ip6        0     0        0        0        0        0        0
   3   3   ip         0     2        0        0        0     1305     1305
   3   3   igmp       0     0        0        0        0        0        0
   3   3   rtsock     0     0        0        0        0        0        0
   3   3   arp        0     1        0        0        0       16       16
   3   3   ether      0     0     2902        0        0        0     2902
   3   3   ip6        0     1        0        0        0        2        2
```


----------



## Phishfry (Dec 20, 2018)

DoBoY said:


> it "favors" one Cpu(Cpu1) and never touches Cpu0


`ppp` is a single threaded application.
Have you considered net/mpd5 ? It overcomes these barriers.


----------



## DoBoY (Dec 20, 2018)

No i had not heard of that, I will take a look.

But in other news, adding


```
net.isr.maxthreads="3"
net.isr.direct="0"
net.isr.direct_force="0"
```

Has netted me at least 2 cpu's working now, forcing it to 3 (4 total) caused it to use it more evenly? Setting it to 4 showed no gains.


```
Configuration:
Setting                        Current        Limit
Thread count                         3            3
Default queue limit                256        10240
Dispatch policy               deferred          n/a
Threads bound to CPUs         disabled          n/a

Protocols:
Name   Proto QLimit Policy Dispatch Flags
ip         1   1000   flow  default   ---
igmp       2    256 source  default   ---
rtsock     3   1024 source  default   ---
arp        4    256 source  default   ---
ether      5    256 source   direct   ---
ip6        6    256   flow  default   ---

Workstreams:
WSID CPU   Name     Len WMark   Disp'd  HDisp'd   QDrops   Queued  Handled
   0   0   ip         0   901        0        0        0  2859408  2859408
   0   0   igmp       0     0        0        0        0        0        0
   0   0   rtsock     0     2        0        0        0      546      546
   0   0   arp        0     0        0        0        0        0        0
   0   0   ether      0     0  3307416        0        0        0  3307416
   0   0   ip6        0     1        0        0        0       15       15
   1   1   ip         0  1000        0        0     4381  2817582  2817582
   1   1   igmp       0     0        0        0        0        0        0
   1   1   rtsock     0     0        0        0        0        0        0
   1   1   arp        0     1        0        0        0     1230     1230
   1   1   ether      0     0  5272237        0        0        0  5272237
   1   1   ip6        0     1        0        0        0        7        7
   2   2   ip         0     0        0        0        0        0        0
   2   2   igmp       0     0        0        0        0        0        0
   2   2   rtsock     0     0        0        0        0        0        0
   2   2   arp        0     0        0        0        0        0        0
   2   2   ether      0     0     5874        0        0        0     5874
   2   2   ip6        0     0        0        0        0        0        0
```

I can now hit 800/750 Mbps


----------

