6.0 Witness squawk
Sam
sah at softcardsystems.com
Mon Oct 25 08:13:35 PDT 2004
Hello,
I'm almost finished porting my AoE (ATA over Ethernet)
driver to 6.0 and have a question about a complaint witness
is making.
In general, is it ok to sleep with a mutex held?
Specifically, it works like this in the driver.
Each device struct has a mutex for guarding
operations on it. Discovering devices is a two
step process. First the device must respond to
an AoE Query command, then it must respond to
an ATA identify command. On the response to
the latter, I grab the device mutex, examine
the response and call disk_alloc() and disk_create().
Both of these functions call malloc with M_WAITOK,
the latter triggers the witness message.
In my situation, I don't really mind if I sleep
with the mutex since I can't do any useful work
with the device anyway.
This does leave the possibility that the netisr
for AoE could sleep.
Thoughts?
Cheers,
Sam
More information about the freebsd-arch
mailing list