Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 28 Mar 2003 16:25:08 +0100 (CET) | From | Ingo Molnar <> | Subject | Re: 2.5.66-mm1 |
| |
On Fri, 28 Mar 2003, Zwane Mwaikambo wrote:
> Hmm i think i may have his this one but i never posted due to being > unable to reproduce it on a vanilla kernel or the same kernel afterwards > (which was hacked so i won't vouch for it's cleanliness). I think > preempt might have bitten him in a bad place (mine is also > CONFIG_PREEMPT), is it possible that when we did the task_rq_unlock we > got preempted and when we got back we used the local variable > requeue_waker which was set before dropping the lock, and therefore > might not be valid anymore due to scheduler decisions done after > dropping the runqueue lock?
yes, this one was my only suspect, but it should really never cause any problems. We might change sleep_avg during the wakeup, and carry the requeue_waker flag over a preemptible window, but the requeueing itself re-takes the runqueue lock, and does not take anything for granted. The flag could very well be random as well, and the code should still be correct - there's no requirement to recalculate the priority every time we change sleep_avg. (in fact we at times intentionally keep those values detached.)
Ingo
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |