Nils Goroll wrote:
> Garrett,
>
>> No, the problem is that the kernel/drivers keep running while 
>> userland threads are suspended, and before they get fully resumed.
>
> Ah, I should have read more carefully. I thought you were talking 
> about the common issue of non-RT processes not getting enough cycles 
> to send audio data in time.
>
> What about this: Would it help to move the code starting audio replay 
> outside the actual resume entry point and use timeout(9f) to call it 
> with a little delay?
>
> Sorry if this is obvious and does not help - I guess I know far less 
> then you about driver development and I have never done this, but as I 
> replied once, I thought I should mention this simple idea.

timeout() might work, though I have to say, I'm not too thrilled with 
it.  It would still be a heuristic -- I don't know how long it will take 
until userland is resumed and ready to go, so I'd be picking a number 
out of a best guess effort.  For some hardware, it may be too long, and 
for others too short.

I'd really prefer to use a callback that is executed *after* user 
threads are resumed.

    -- Garrett
>
> Nils

_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to