DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Multithreading device drivers

Multithreading device drivers


NOTE: This chapter has not been reviewed for the current release. The information is generally accurate, although some details may have changed. Check the appropriate manual pages for the most current information.

A multithreaded device driver can run its task-time code and/or its interrupt handler routine on any processor in a multiprocessor configuration. The coding practices necessary to multithread a driver fall in two categories:

Single-threaded drivers can run on multiprocessing configurations, but they are restricted to the base processor and do not benefit from the performance advantages of the multiprocessing architecture. In fact, having single-threaded drivers running on a multiprocessing system may seriously degrade system performance. Multithreaded drivers, on the other hand, can run on uniprocessor configurations without modification. Theoretically, a multithreaded driver may be a bit slower than a single-threaded driver on a uniprocessor system, but the difference is seldom noticeable.

SCO recommends that all new device drivers be written to be multithreaded unless there is a compelling reason not to. This chapter provides information to help in this task:

Other information about multithreading drivers is contained elsewhere in the HDK documentation set:


© 2005 The SCO Group, Inc. All rights reserved.