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

Andriy Gapon avg at FreeBSD.org
Mon Aug 29 15:19:59 UTC 2011


on 29/08/2011 17:54 Hans Petter Selasky said the following:
> 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.

kern_yield is sufficiently recent, ~ 1/2 year old, and it has replaced uio_yield.
r218424 is the commit.

-- 
Andriy Gapon


More information about the svn-src-all mailing list