| 1977 | return stolen.eject_whole(); |
| 1978 | } |
| 1979 | inline __attribute__((always_inline)) |
| 1980 | thread* ws_scan_runq(vcpu_t* v, vcpu_t* u) { |
| 1981 | if (!u->runq_lock.background_try_lock()) return 0; |
| 1982 | DEFER(u->runq_lock.background_unlock()); |
| 1983 | return ws_scan_q(v, u->idle_worker, true); |
| 1984 | } |
| 1985 | static bool try_work_stealing(vcpu_t* vcpu) { |
| 1986 | assert(CURRENT->get_vcpu() == vcpu); |
| 1987 | assert(CURRENT == vcpu->idle_worker); |
no test coverage detected