LWN’s Jonathan Corbet sits down for a quick interview regarding
the state of Linux device driver support and a look at what’s
ahead.
“Perhaps the biggest change, one that will affect every
driver author, is the incorporation of fine-grained locking in the
kernel. In 2.0, everything was protected by the “big kernel lock,”
and device drivers had no need to deal with concurrency on SMP
systems. Version 2.2 had split that up somewhat, but it’s only in
2.4 that locking has, in many cases, been pushed down into the
driver level itself. Any device driver that is not written with SMP
in mind is not correct in 2.4.Beyond that, there have been numerous changes to many kernel
subsystems. Bottom halves have been replaced with tasklets, the
scheduler queue has been replaced with a new event-scheduling
mechanism, and the block and network driver interfaces have been
substantially changed. The number of platforms supported has
increased significantly, as has the number of devices. Many things
have been cleaned up; the 2.4 driver interface is much nicer to
work with than earlier versions.”