lkml.org 
[lkml]   [2001]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[RFC] Scheduler queue implementation ...

    I've spent some time reading interesting ( someone yes, someone not )
    papers about different scheduler implementations, policies, queues, etc..
    A concept that i've found common in all these works is that, and it's easy
    to agree, CPU bound ( batch ) tasks do not need a strict execution order.
    So we can have simply two queues ( per CPU ), one that stores I/O bound (
    counter > K for example ) and RT tasks that is walked entirely searching
    for the better tasks, the other queue will store CPU bound tasks that are
    executed in a FIFO policy.
    In this way we'll have a better behavior for I/O bound tasks due the
    shortest run queue to loop while the FIFO policy on CPU bound tasks does
    not affect the system as long as these tasks will have the same amount of
    virtual time.
    The problem of having long runqueue is automatically solved by the
    assumption that long_runqueue == lot_of_cpubound_tasks, that will find
    home inside the FIFO queue by assuring a low latency for I/O bound and RT
    tasks.
    What we lose is the mm ( + 1) goodness() but the eventual cost of
    switching mm is melted inside the long execution time ( 50-60 ms ) typical
    of CPU bound tasks ( note that matching MMs does not mean matching cache
    image ).




    - Davide



    -
    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:14    [W:3.594 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site