lkml.org 
[lkml]   [2004]   [Nov]   [23]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 22 Nov 2004 20:56:23 -0800
From"Randy.Dunlap" <>
SubjectRe: Information about move_tasks return
Darren Hart wrote:
> On Mon, 2004-11-22 at 08:16 -0400, Cícero wrote:
> 
>>hi
>>
>>I am looking for the result of the function  move_task in
>>
>>kernel/sched.c , I have observed that it returns an int value and as I
>>print it with printk.
>>
>>I have created a int variable 'results_move_task' which capture the result of
>>
>>move_task and I print it with printk("%d",results_move_task); I
>>observed that it often returns the value '1' and sometimes it returns
>>'2' or more. Is it really correct?
> 
> 
> /*
>  * move_tasks tries to move up to max_nr_move tasks from busiest to this_rq,
>  * as part of a balancing operation within "domain". Returns the number of
>  * tasks moved.
>  *
>  * Called with both runqueues locked.
>  */
> static int move_tasks(runqueue_t *this_rq, int this_cpu, runqueue_t *busiest,
>                       unsigned long max_nr_move, struct sched_domain *sd,
>                       enum idle_type idle)
> {
> ...
> 
> 
> So as the "documentation" states, it returns the number of tasks
> actually moved.  For instance, The balancing code may request 4 tasks be
> moved, but for various reasons, only 2 were actually moved to other
> CPUs, move_tasks() would return 2.

and there are a few cases/places where the move target count
is limited to only 1.

-- 
~Randy
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:08    [from the cache]
©2003-2008