OpenBSD Journal

Ethernet Device Polling for OpenBSD

Contributed by jose on from the yet-another-tedu-kernel-patch dept.

TedU has created yet another cool kernel patch. This one deals with ethernet device polling . As stated on the website, Polling helps prevent livelock when the machine starts receving packets at a high rate. Interrupts, especially one per packet, increase the time spent processsing each packet. Interrupts are more efficient for slower packet rates, however, so you don't waste time polling for packets which don't exist. To use: enable option DEVICE_POLLING and rebuild kernel.
Sounds like high performance networking users should check this out. As always, this is an unofficial patch and could cause massive system instability and is unsupported by the official project.

(Comments are closed)


Comments
  1. By Anonymous Coward () on

    Is it the RX polling metioned here ?

  2. By Ed White () - on http://info.iet.unipi.it/~luigi/polling/

    The author of the porting should say "i'm only porting, the idea isn't mine".
    And add a link to original code/author.

    Posts:
    (http://docs.freebsd.org/cgi/getmsg.cgi?fetch=24840+0+archive/2001/freebsd-net/20011209.freebsd-net)

    (http://docs.freebsd.org/cgi/getmsg.cgi?fetch=326556+0+archive/2001/freebsd-net/20011028.freebsd-net)

    Thanks.

  3. By Joel () on

    Hello,

    Forgive me if this is an ignant question, but why can't they combine the two practices, e.g. use interrupts when the network load is below a certain point and device polling when the load increases?

    My understanding of this kernel patch is that polling will be used to the exclusion of interrupts for network packets.

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]