Polling device drivers Instead of using interrupts, periodically poll devices. Can poll on clock interrupt, idle loop and syscalls No need to process all pending packets, can decide how many packets to grab at each step. We can carefully control the amount of work done at each step. If thresholds are properly configured: no livelock problem, always complete pending processing before working on new packets; system always controllable, always leave some cycles to userland processes. no interrupt overhead, and access to PCI registers can be much less frequent (reduced overhead).