#
4c3cb79a |
| 28-May-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Use ringmap to do MSI-X cpu assignment and fill redirect table.
|
#
26595b18 |
| 28-Nov-2014 |
Sascha Wildner <saw@online.de> |
kernel: Use the new auto-created sysctl ctx/tree in various drivers.
Everywhere where we formerly rolled a hw.fooX.* per-device ctx/tree ourselves.
This commit switches it to dev.foo.X.*
|
#
352c8444 |
| 27-Mar-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Enable PHY calibration to fix compat issue w/ certain switches
EA settings are obtained from JMicron Linux driver.
See-also: FreeBSD PR kern/177400
|
#
f4cd1fa1 |
| 16-Feb-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Avoid using magic number for TX register writing aggregation
|
#
3a65efa6 |
| 03-Dec-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Improve tiny packets transmission performance on low frequency CPU
Update TXCSR register a little bit often; mainly to improve timeliness of packets transmission: The TXCSR register is updated
jme: Improve tiny packets transmission performance on low frequency CPU
Update TXCSR register a little bit often; mainly to improve timeliness of packets transmission: The TXCSR register is updated after certain amount of TX descriptors are added to the hardware TX ring. The default value of the amount of TX descriptors are 16. This value could be further tuned by per-device sysctl node hw.jmeX.tx_wreg.
The default value improves tiny packets transmission performance w/ JMC250 on AMD970@2200Mhz (831Kpps -> 911Kpps), on AMD970@800Mhz (484Kpps -> 834Kpps) and it does not increase CPU usage on AMD970@3500Mhz (CPU usage stays @26%, JMC250 could only do 911Kpps).
show more ...
|
#
9b99c84f |
| 09-Oct-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Put TX related stuffs into struct jme_txdata
While I'm here, add more comment
|
#
64aaaeb2 |
| 09-Oct-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Move uncommonly accessed fields to the end of the struct
|
#
e0009afb |
| 30-Sep-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Rework MSI-X mapping, so RX MSI-X need not read register
RX empty event rarely happens (I didn't see it even if the card is sinking full speed tiny packets on one RX ring). Put the RX empty ev
jme: Rework MSI-X mapping, so RX MSI-X need not read register
RX empty event rarely happens (I didn't see it even if the card is sinking full speed tiny packets on one RX ring). Put the RX empty events into independent MSI-X, so the hot path RX MSI-X need not read register at all.
show more ...
|
#
9f89fa9a |
| 30-Sep-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Remove unused macros
|
#
8a0620e4 |
| 24-Sep-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Change polling(4) support to ifpoll support
While I'm here, fix the disable/enable intr handing.
|
#
955f266e |
| 29-Aug-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Record number of times that RX ring becomes empty
|
#
87aa452b |
| 29-Aug-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Allow MSI-X be evenly spreaded across CPUs
|
#
1bedd927 |
| 23-Aug-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Add TSO support
|
#
594bec47 |
| 19-Aug-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Cache align RX/TX data structure
|
#
cccc3955 |
| 19-Aug-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Only main serializer is needed for timeout callback
This reduces periodic contention against TX/RX path.
|
#
6960d7d2 |
| 19-Aug-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Don't immediately recycle the TX descriptor even if it is owned by us.
This chip will always update the TX descriptor's 32bits fields in order, so even if the status field has been updated, i.e
jme: Don't immediately recycle the TX descriptor even if it is owned by us.
This chip will always update the TX descriptor's 32bits fields in order, so even if the status field has been updated, i.e. OWN is cleared, it still does not mean that the buflen field has been updated. To avoid this race we don't immediately recycle the currently checking TX descriptor. Instead, next TX descriptor's OWN bit is checked, if it is cleared, then the updating of the currently checked TX descrptor is really done.
This is intended to fix the seldom watchdog timeout that was observed on this chip.
Thank devinchiu@jmicron.com very much for providing necessary information.
show more ...
|
#
6afef6ab |
| 12-Jun-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Don't reuse the RX descriptor if the RSS is not set by the hardware
Reenable RSS; it is stable enough now.
|
#
fd2a6d2c |
| 10-Jun-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Save physical address of RX buffer, which will be used upon error
|
#
ff7f3632 |
| 05-Jun-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Increase alignment of TX/RX descriptor ring to the cacheline size
Round up TX/RX ring size to cacheline size too.
|
#
b020bb10 |
| 19-Apr-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Move TX descriptor count into chain_data
Improve CPU cache utilization
|
#
7b040092 |
| 19-Apr-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Move RX ring count and RX descriptor count into rxdata
Improve CPU cache utilization
|
#
dea2452a |
| 19-Apr-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Pass rxdata to RX functions
|
#
9f20b7b3 |
| 16-Apr-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Change how IFCAP_RSS is handled
- Number of RX rings being used is not changed. - Hardware is always setup w/ RSS support. - If IFCAP_RSS is not enabled, we simply don't use the RSS hash provid
jme: Change how IFCAP_RSS is handled
- Number of RX rings being used is not changed. - Hardware is always setup w/ RSS support. - If IFCAP_RSS is not enabled, we simply don't use the RSS hash provided by the hardware.
show more ...
|
#
58880b0d |
| 20-Jan-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Support multiple MSI-X interrupt model
|
#
31f0d5a2 |
| 19-Jan-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
jme: Split ifnet serializer; in preparation for multiple MSI-X support
|