Please see overview of project at D45393.
- Deduce most parameters, remove machine-specific headers.
- More selective includes of <sys/runq.h> to reduce pollution
- Hide function prototypes under _KERNEL
- API tidy up: 'pri' => 'idx', 'idx' as int, remove runq_remove_idx() (knows some ULE's internals).
- Code clarity and style
- Better and more consistent naming; More macros
- Re-order functions more logically
- Revamp runq_find*(), new runq_find_range()
- runq_check(): Re-implement on top of runq_findq()
- Tidy up and rename runq_setbit() and runq_clrbit()
- New function runq_is_queue_empty(); Use it in ULE
- New runq_findq(), common/unique low-level search implementation taking a range of queue indices and a predicate.