Multi-threading access to device drivers.

Poul-Henning Kamp phk at phk.freebsd.dk
Sat Nov 6 15:39:22 PST 2004


Assume a device driver which is not Giant-handicapped.

Assume an I/O path which does not need Giant to get from
read(2) to the device driver.

Assume a SMP machine.

Assume a process with two threads on two CPUs, both
doing read(fd, buf, len) at the same time.

Should we let both reads into the driver at the same time ?

If so, which uio_offset do we hand them ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-arch mailing list