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 opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code