<div dir="ltr">On Thu, Jan 31, 2013 at 11:06 AM, Edward Z. Yang <span dir="ltr"><<a href="mailto:ezyang@mit.edu" target="_blank">ezyang@mit.edu</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Excerpts from Alexander Kjeldaas's message of Thu Jan 31 01:57:17 -<a href="tel:0800%202013" value="+468002013">0800 2013</a>:<br>
<div class="im">> Found it, it's still there:<br>
> <a href="http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/kernel/timer.c?v=2.6.25.8#L255" target="_blank">http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/kernel/timer.c?v=2.6.25.8#L255</a><br>
><br>
> Note that these are *timers*. Timers are often set up and then canceled.<br>
> As you see, the buckets are not sorted, timers are just put at the end of<br>
> a list, and the lists are even hard-coded so they are more general than<br>
> log2 buckets.<br>
><br>
> The point of this is to partially sort the timers as they get closer to<br>
> expiration. Thus you don't pay the full sorting cost if the timer is<br>
> modified before it expires.<br>
<br>
</div>Ah, I see. GHC threads are very rarely canceled, so I don't think we would<br>
see much benefit here.<br>
<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div style>You are probably right. I can think of priority inversion with rapidly changing priorities as a possible use-case then.</div>
<div style><br></div><div style>Anyways, keep up the good work!</div><div style><br></div><div style>Alexander</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
Edward<br>
</font></span></blockquote></div><br></div></div>