Messages in this thread Patch in this message | | | From | "Chen, Kenneth W" <> | Subject | RE: Regression seen for patch "sched:dont decrease idle sleep avg" | Date | Thu, 18 May 2006 16:17:21 -0700 |
| |
Con Kolivas wrote on Wednesday, May 17, 2006 10:52 PM > The relationship between INTERACTIVE_SLEEP and the ceiling is not perfect > and not explicit enough. The sleep boost is not supposed to be any larger > than without this code and the comment is not clear enough about what exactly > it does, just the reason it does it. > > There is a ceiling to the priority beyond which tasks that only ever sleep > for very long periods cannot surpass. > > Opportunity to micro-optimise and re-use the ceiling variable.
More opportunity to micro-optimize: now that you've put the clamp code of p->sleep_avg in the common path, there is no need to clamp sleep_time at the beginning of that function. Just let the calculation go through and clamp the final value of p->sleep_avg to NS_MAX_SLEEP_AVG at the end.
Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
--- ./kernel/sched.c.orig 2006-05-18 12:51:45.000000000 -0700 +++ ./kernel/sched.c 2006-05-18 14:53:47.000000000 -0700 @@ -731,17 +731,10 @@ static int recalc_task_prio(task_t *p, unsigned long long now) { /* Caller must always ensure 'now >= p->timestamp' */ - unsigned long long __sleep_time = now - p->timestamp; - unsigned long sleep_time; + unsigned long sleep_time = now - p->timestamp; if (batch_task(p)) sleep_time = 0; - else { - if (__sleep_time > NS_MAX_SLEEP_AVG) - sleep_time = NS_MAX_SLEEP_AVG; - else - sleep_time = (unsigned long)__sleep_time; - } if (likely(sleep_time > 0)) { /*
- 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/
| |