lkml.org 
[lkml]   [1999]   [Jun]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: New schedule() and semaphore implementation ...
On Fri, 11 Jun 1999, Davide Libenzi wrote:

>When at the end of a slot computation is executed this code:
>...
> /* Goodness promise has been maintained, we've found the President ! */
> if (c >= SLOT_GDS_BASE(ii))
> goto task_found;
>...
>
>we are sure, having task in slot N maintained his "promise", that we can
>skip out
>with the right process for the previous definition.

Apologies, I overlooked your patch.

>I'll code a new version with linux lists.

I suggest also to search on the list a patch that avoids recalculating
counters on all tasks. It allows you to recalculate the counters only on
the runqueue. So you could run gds_remove_task();gds_add_task()
unconditionally in gds_switch(). I suggest you also to move the
slot-fields near the runqueue fields, so you may get them on the same
cacheline while inserting/removing the task from the runqueue.

>Andrea having tasks doing for(;;); is not a common environment to test,
>isn't it ?

It's not in the web case but it is the case when you have to do some real
calculation (povray just for example).

Andrea Arcangeli


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:52    [W:0.034 / U:2.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site