A polling egy olyan megoldás, amelynek használatával nem az eszközök jelzik interruptok által, ha figyelemre van szükségük, hanem az operációs rendszer (a kernel) dönti el, hogy mikor néz rá az adott erőforrásra.
A polling emiatt nagyobb kontrollt ad a kernel kezébe, amelynek az ütemezője így eldöntheti, hogy mennyit kíván foglalkozni a különböző feladatokkal (user processzek, interruptok, eszközkezelés, stb.), ezáltal nagyrészt elkerülhető az ún. livelock állapot. Ez akkor léphet fel, ha valamelyik eszköz túl sok interruptot generál (például egy hálózati kártya rengeteg csomagot kap egy támadás során), amelynek következtében a gépnek szinte minden ereje ezek kiszolgálására megy el.A módszer FreeBSD-s megvalósítása eddig leginkább csak egyprocesszoros környezetben volt használható, mivel ezt a részt egy ún. Giant lock védte, ami azt jelenti, hogy amíg ez aktív, más részei nem futhatnak a kernelnek.
Ennek következményeképpen az újabb FreeBSD-kben (debug.mpsafenet=1) a hálózati stacknek a fogadásért felelős fele Giant lockkal futott, ami nem felel meg az eredeti elképzeléseknek, miszerint ebben az esetben nem szabad Giantot használni.
A megoldás megérkezett, Gleb Smirnoff ugyanis bevezetett egy új mutexet, amely ezután a kernel pollinggal kapcsolatos részeit védi, ezáltal hatékonyabbá válhat vele a hálózati stack többprocesszoros rendszerekben.
A polling sajnos nem "jön" automatikusan, a drivereket kicsit át kell alakítani ahhoz, hogy így működjenek. A FreeBSD-ben jelenleg a következő hálózati drivereknél támogatott a polling:
dc(4), em(4), fwe(4), fwip(4), fxp(4), ixgb(4), nge(4), re(4), rl(4), sf(4), sis(4), ste(4), vge(4), vr(4) és xl(4)
Robert Watson elmondta, hogy az EuroBSDConon már beszéltek a polling jövőjéről, ahol felmerült, hogy a hálózati eszközök mellett kiterjesztenék az infrastruktúrát más típusú driverekre is.
A Linux is tartalmaz hasonló megoldást, amelyet New API-nak, NAPI-nak hívnak.