HomeFreeBSD

Adds `sleepout' prototype which is a comic combination of callout(9) and
rS212280Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Adds `sleepout' prototype which is a comic combination of callout(9) and
taskqueue(8) only for USB drivers to implement one step timer. In
current USB drivers using callout(9) interface they all have two step
execution flow as follows:

  1. callout callback is fired by the interrupt context. Then it needs to pass it to USB process context because it could sleep(!) while callout(9) don't allow it.
  2. In the USB process context it operates USB commands that most of times it'd be blocked at least 125 us (it'd be always true for USB)

In a view of driver developer it'd be more convenient if USB stack has a
feature like this (timer supporting blocking). This's an experimental.

Details

Provenance
weongyoAuthored on
Parents
rS212279: IFC @ r212278
Branches
Unknown
Tags
Unknown

Event Timeline