Remove D_NEEDGIANT from io(4).

There is no need to mark this device node to use Giant. The only
architectures that use io(4) (i386 and amd64) only change a flag in
td->td_frame, which is only accessed by curthread.

Apart from this change, I think some fishy things may happen when using
/dev/io in multithreaded applications. I haven't tested, but looking at
the code, the flag doesn't get cleared when close() is called from
another thread, but this may not be this important.

I'm not removing D_NEEDGIANT from mem(4), because this driver isn't
Giant safe at all (it calls GIANT_REQUIRED).
This commit is contained in:
ed 2008-08-08 13:43:56 +00:00
parent 606619cde8
commit 7d2bdda0cd

View File

@ -52,7 +52,6 @@ static struct cdev *iodev;
static struct cdevsw io_cdevsw = {
.d_version = D_VERSION,
.d_flags = D_NEEDGIANT,
.d_open = ioopen,
.d_close = ioclose,
.d_name = "io",