Date: Mon, 25 Oct 2004 11:11:13 -0500 (EST) From: Sam <sah@softcardsystems.com> To: freebsd-current@freebsd.org, freebsd-arch@freebsd.org Subject: 6.0 Witness squawk Message-ID: <Pine.LNX.4.60.0410251037540.29901@athena>
index | next in thread | raw e-mail
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, Samhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.60.0410251037540.29901>
