--- wikisrc/users/msaitoh/Comparison_of_implementations_of_Ethernet_drivers.mdwn 2015/02/05 05:13:21 1.4 +++ wikisrc/users/msaitoh/Comparison_of_implementations_of_Ethernet_drivers.mdwn 2015/10/27 07:15:35 1.6 @@ -1,7 +1,7 @@ - + @@ -10,10 +10,12 @@ + + - + @@ -23,6 +25,8 @@ + + @@ -36,6 +40,8 @@ + + @@ -50,6 +56,8 @@ + + @@ -63,6 +71,8 @@ + + @@ -76,6 +86,8 @@ + + @@ -89,6 +101,8 @@ + + @@ -102,6 +116,8 @@ + + @@ -114,6 +130,8 @@ + +
driverwhere dmemem is allocated inwhere dmamem is allocated in variations of mutex if_init lock if_start locksoftint(9)based TX and RX? TX and TX are locked with mutex callout lockMSI / MSI-X supportMulti-queue support notes
wm(knakahara+ozaki-r)wm in attach() tx, rx, core CORE_LOCK(spin mutex)No TX and RX differently TX_LOCK(mutex) and check sc_stopping in the beginningYesRX only
only RX is softint'ed TX and RX differently callout isn't usedYes (MSI-X only)No
pq3etsecsc_hwlock is for hard interrput. sc_lock is for software interrupt. TX and RX use the same lock mutex_enter(sc_lock)
bcm53xx_ethsc_hwlock is for hard interrput. sc_lock is for software interrupt. TX and RX use the same lock callout isn't used
ixgTX and RX differently CORE_LOCK() in the beginning
bnxonly TX uses mutex splnet() in the beginning
bgeNo No splnet() in the beginning mutex is not used at all