On Wed, 9 Nov 2005, Jeff Garzik wrote:A simple patch can help here (in addition to mlockall()):
Has anybody put any thought towards how a userspace block driver would work?
Consider a block device implemented via an SSL network connection. I don't
want to put SSL in the kernel, which means the only other alternative is to
pass data to/from a userspace daemon.
I am afraid this is impossible without some heavy infrastructure work.
You will almost inevitably deadlock. Yes, you can mlock() your driver, but that still will not tell the kernel that GFP_KERNEL must be replaced with GFP_NOIO if it is triggered by syscalls you are doing.