Re: Make yield_task_fair more efficient

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Balbir Singh <balbir@...>
Cc: Peter Zijlstra <peter@...>, Srivatsa Vaddagiri <vatsa@...>, Dhaval Giani <dhaval@...>, <linux-kernel@...>
Date: Thursday, February 21, 2008 - 3:07 am

* Balbir Singh <balbir@linux.vnet.ibm.com> wrote:


wrong. The cost is "only" of adding a field to cfs_rq and _updating it_, 
in the hottest paths of the scheduler:

@@ -256,6 +257,7 @@ static void __enqueue_entity(struct cfs_
                 */
                if (key < entity_key(cfs_rq, entry)) {
                        link = &parent->rb_left;
+                       rightmost = 0;
                } else {
                        link = &parent->rb_right;
                        leftmost = 0;
@@ -268,6 +270,8 @@ static void __enqueue_entity(struct cfs_
         */
        if (leftmost)
                cfs_rq->rb_leftmost = &se->run_node;
+       if (rightmost)
+               cfs_rq->rb_rightmost = &se->run_node;


10,000 yield-ing tasks is not a common workload we care about. It's not 
even a rare workload we care about. _Especially_ we dont care about it 
if it slows down every other workload (a tiny bit).


have you actually measured how much it takes to walk the tree that deep
on recent hardware? I have.

	Ingo
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 1:33 am)
Re: Make yield_task_fair more efficient, Ingo Molnar, (Thu Feb 21, 2:04 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 2:51 am)
Re: Make yield_task_fair more efficient, Jörn, (Thu Feb 21, 10:38 am)
Re: Make yield_task_fair more efficient, Ingo Molnar, (Thu Feb 21, 3:07 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 3:39 am)
Re: Make yield_task_fair more efficient, Peter Zijlstra, (Thu Feb 21, 4:43 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 4:50 am)
Re: Make yield_task_fair more efficient, Ingo Molnar, (Thu Feb 21, 5:04 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 5:31 am)
Re: Make yield_task_fair more efficient, Mike Galbraith, (Thu Feb 21, 8:02 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 9:29 am)
Re: Make yield_task_fair more efficient, Mike Galbraith, (Thu Feb 21, 8:06 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 6:17 am)
Re: Make yield_task_fair more efficient, Peter Zijlstra, (Thu Feb 21, 5:43 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 5:42 am)
Re: Make yield_task_fair more efficient, Peter Zijlstra, (Thu Feb 21, 6:01 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 6:07 am)
Re: Make yield_task_fair more efficient, Peter Zijlstra, (Thu Feb 21, 7:12 am)
Re: Make yield_task_fair more efficient, Jens Axboe, (Thu Feb 21, 4:38 pm)
Re: Make yield_task_fair more efficient, Jens Axboe, (Thu Feb 21, 4:55 pm)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 11:27 pm)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 7:27 am)
Re: Make yield_task_fair more efficient, Ingo Molnar, (Thu Feb 21, 5:42 am)
Re: Make yield_task_fair more efficient, Balbir Singh, (Thu Feb 21, 5:44 am)