Thomas Sailer wrote in a message to Mike Bilow:

> For sure you can go on with kiss and implement channel access 
> on your own, but then the kernel won't be able to optimize the 
> channel access strategy.

 TS> I know, and therefore I'd like a longer term solution.

 TS> But the issue is this: With the new EPP modem I'd like
 TS> to be able to do ECP, and transfer data with the DMA
 TS> controller. For this I need to be able to suspend
 TS> my driver during DMA. To do this I need a process context.
 TS> And this is infinitely more complex from the kernel space
 TS> than from user space, for no big benefit.

 TS> The same goes for Soundmodem. Being in userspace allows
 TS> me to use for example libm to calculate filter coefficients
 TS> and get a much more flexible solution basically for free.

I can't see any reason why you cannot from kernel space call into a user space
daemon.  Obviously, you need to have a few tricks such as having the daemon
initiate the connection, but this is already substantially implemented for
kerneld anyway.  As long as there is nothing time-critical in communication
between them, which can be handled simply by using appropriate amounts of
buffer, I don't see any technical problem with this.  Synthesizing a process
context is made quite easy, since you are guaranteed periodic downcalls from
your user space daemon.  If something goes wrong, just drop data on the floor;
this isn't the disk subsystem, after all.
 
-- Mike

Reply via email to