Greetings,
I need to copy data from kernel to user space and vice versa; naturally,
this should happen as fast as possible, and page faults may occur.
Looking at the man pages of ddi_copyin()/ddi_copyout(), it says:
"
Driver defined locks should not be held across calls to this
function.
"
uiomove(9F) can be used for the same purpose (some more setup overhead),
but the man page does not mention locks at all.
Thus, I wonder which problems can occur if holding a driver-defined lock
while calling ddi_copyin/out()? It surely relates to handling page
faults, so why would uiomove() not be affected?
On Linux, holding a spinlock while handling a page fault is deadly as it
implies sleeping which is not allowed then. But then again, kmutex_t is
a bit smarter...
Joachim
--
Joachim Worringen, Software Architect, Dolphin Interconnect Solutions
phone ++49/(0)228/324 08 17 - http://www.dolphinics.com
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code