diff options
author | tanimura <tanimura@FreeBSD.org> | 2003-11-09 09:17:26 +0000 |
---|---|---|
committer | tanimura <tanimura@FreeBSD.org> | 2003-11-09 09:17:26 +0000 |
commit | 7eade05dfa5c79c8765c89ae76635f31451fe886 (patch) | |
tree | 19de3ca43ba82c3cf15a4a6c7fba917e0f7e416b /sys/i4b/driver/i4b_rbch.c | |
parent | 9cbd7fa025947081790184770a6c74511b0b0a44 (diff) | |
download | FreeBSD-src-7eade05dfa5c79c8765c89ae76635f31451fe886.zip FreeBSD-src-7eade05dfa5c79c8765c89ae76635f31451fe886.tar.gz |
- Implement selwakeuppri() which allows raising the priority of a
thread being waken up. The thread waken up can run at a priority as
high as after tsleep().
- Replace selwakeup()s with selwakeuppri()s and pass appropriate
priorities.
- Add cv_broadcastpri() which raises the priority of the broadcast
threads. Used by selwakeuppri() if collision occurs.
Not objected in: -arch, -current
Diffstat (limited to 'sys/i4b/driver/i4b_rbch.c')
-rw-r--r-- | sys/i4b/driver/i4b_rbch.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/i4b/driver/i4b_rbch.c b/sys/i4b/driver/i4b_rbch.c index d89e2c2..40f2c24 100644 --- a/sys/i4b/driver/i4b_rbch.c +++ b/sys/i4b/driver/i4b_rbch.c @@ -738,7 +738,7 @@ rbch_rx_data_rdy(int unit) { NDBGL4(L4_RBCHDBG, "unit %d, NO wakeup", unit); } - selwakeup(&rbch_softc[unit].selp); + selwakeuppri(&rbch_softc[unit].selp, TTIPRI); } /*---------------------------------------------------------------------------* @@ -759,7 +759,7 @@ rbch_tx_queue_empty(int unit) { NDBGL4(L4_RBCHDBG, "unit %d, NO wakeup", unit); } - selwakeup(&rbch_softc[unit].selp); + selwakeuppri(&rbch_softc[unit].selp, TTOPRI); } /*---------------------------------------------------------------------------* @@ -771,7 +771,7 @@ rbch_activity(int unit, int rxtx) { if (rbch_softc[unit].sc_cd) rbch_softc[unit].sc_cd->last_active_time = SECOND; - selwakeup(&rbch_softc[unit].selp); + selwakeuppri(&rbch_softc[unit].selp, TTIPRI); } /*---------------------------------------------------------------------------* |