Andrew Gallatin writes:
>
> In a much older driver, I used to use the appended code. But I need
> to figre out what to do about clear_wait() disappearing. I wonder
> if just a plain thread_wakeup_one(s) from the sleeper's context,
> followed by a thread_block() would work.
To followup on myself.. The thread_wakeup_one()/thread_block()
seems to work as a replacement for clear_wait().
When using a filter interrupt with Tiger, I see a roughly 20% latency
reduction (10us -> 8us) and with Panther, I see a nearly 40% reduction
(17.1us -> 9.9us). This is atop a hardware overhead of roughly 3.5us,
which is constant regardless of platform.
It is interesting to note that Tiger is *MUCH* faster at either
scheduling interrupt threads, or at scheduling threads in general than
Panther is. Kudos to whomever was responsible for this improvement.
Drew
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-drivers/email@hidden
This email sent to email@hidden