Diff for /wikisrc/users/msaitoh/Comparison_of_implementations_of_Ethernet_drivers.mdwn between versions 1.6 and 1.9

version 1.6, 2015/10/27 07:15:35 version 1.9, 2018/01/18 08:58:02
Line 22 Line 22
   <td>TX_LOCK(spin mutex) + sc_stopping flag</td>    <td>TX_LOCK(spin mutex) + sc_stopping flag</td>
   <td>CORE_LOCK(spin mutex)+sc_stopping flag</td>    <td>CORE_LOCK(spin mutex)+sc_stopping flag</td>
   <td>use CORE_LOCK(spin mutex) and TX_LOCK(spin mutex) partially</td>    <td>use CORE_LOCK(spin mutex) and TX_LOCK(spin mutex) partially</td>
   <td>No</td>    <td>Yes</td>
   <td>TX and RX differently</td>    <td>TX and RX differently</td>
   <td>TX_LOCK(mutex) and check sc_stopping in the beginning</td>    <td>TX_LOCK(mutex) and check sc_stopping in the beginning</td>
   <td>Yes</td>    <td>Yes</td>
   <td>RX only</td>    <td>TX and RX</td>
   <td></td>    <td></td>
 </tr>  </tr>
 <tr>  <tr>
Line 75 Line 75
   <td></td>    <td></td>
 </tr>  </tr>
 <tr>  <tr>
   <th>bcm53xx_eth</th>    <th>bcmeth(4)</th>
   <td>in attach()</td>    <td>in attach()</td>
   <td>lock, hwlock</td>    <td>lock, hwlock</td>
   <td>not taken?</td>    <td>not taken?</td>
   <td>not taken. Set flag with atomic_or_uint() and call softintr_schedule()</td>    <td>not taken. Set flag with atomic_or_uint() and call softintr_schedule()</td>
   <td>not taken?</td>    <td>not taken?</td>
   <td>splnet()</td>    <td>splnet()</td>
   <td>Yes</td>    <td>Yes. The interrupt handler calls softint or workqueue depending on the load.</td>
   <td>sc_hwlock is for hard interrput. sc_lock is for software interrupt. TX and RX use the same lock</td>    <td>sc_hwlock is for hard interrput. sc_lock is for software interrupt. TX and RX use the same lock</td>
   <td>callout isn't used</td>    <td>callout isn't used</td>
   <td></td>    <td></td>

Removed from v.1.6  
changed lines
  Added in v.1.9


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb