svn commit: r223989 - head/sys/dev/usb/input

Hans Petter Selasky hselasky at freebsd.org
Mon Aug 29 14:57:00 UTC 2011


On Monday 29 August 2011 16:33:00 Andriy Gapon wrote:
> Not sure if this answers my question, which is not about pause vs
> ukbd_yield, but is about ukbd_yield vs kern_yield.
> In other words, why you couldn't simply use kern_yield where you used
> ukbd_yield?

Is this a new function. I think I used the following as an example:

void
uio_yield(void)
{
        struct thread *td;

        td = curthread;
        DROP_GIANT();
        thread_lock(td);
        sched_prio(td, td->td_user_pri);
        mi_switch(SW_INVOL | SWT_RELINQUISH, NULL);
        thread_unlock(td);
        PICKUP_GIANT();
}

As long as the kern_yield() lets the USB worker threads and XHCI interrupts 
run it should be fine. pause() is better though.

--HPS


More information about the svn-src-head mailing list