git: mxge: Add polling(4) support

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Tue Nov 5 06:03:54 PST 2013


commit 2276707e607d3a14a25fbd39212fd7fb76c571a9
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Tue Nov 5 18:16:52 2013 +0800

    mxge: Add polling(4) support
    
    The polling(4) support for mxge(4) is actually "hybrid":
    - Polling TX and status does not work, so TX and status are still handled
      through interrupt.
    - There is no way to disable RX interrupt explicitly; we will have to
      depend on RX interrupt: if RX interrupt comes, RX interrupt will be
      disabled by hardware and we don't enable it in interrupt handler.  And
      we don't process RX in RX interrupt.
    - During RX polling, if there is no more packets ready, RX interrupt will
      have to be enabled again, else upcoming packets may suffer large delay.
    
    Due to the "hybrid" nature of polling(4) support, RX polling is handled
    on the same CPU which handles RX interrupt.

Summary of changes:
 sys/dev/netif/mxge/Makefile  |  10 +++-
 sys/dev/netif/mxge/if_mxge.c | 109 +++++++++++++++++++++++++++++++++++++------
 2 files changed, 104 insertions(+), 15 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2276707e607d3a14a25fbd39212fd7fb76c571a9


-- 
DragonFly BSD source repository


More information about the Commits mailing list