Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.hardware > #2807 > unrolled thread

bfs scheduler run queue

Started byruben safir <ruben@mrbrklyn.com>
First post2015-05-02 15:44 -0400
Last post2015-05-06 05:12 -0400
Articles 2 — 1 participant

Back to article view | Back to comp.os.linux.hardware


Contents

  bfs scheduler run queue ruben safir <ruben@mrbrklyn.com> - 2015-05-02 15:44 -0400
    Re: bfs scheduler run queue ruben safir <ruben@mrbrklyn.com> - 2015-05-06 05:12 -0400

#2807 — bfs scheduler run queue

Fromruben safir <ruben@mrbrklyn.com>
Date2015-05-02 15:44 -0400
Subjectbfs scheduler run queue
Message-ID<mi39fd$bt4$1@reader1.panix.com>
I'm confused by the documentation of the BFS scheduler.  it say that is has 
a single run queue for the entire system as a double linked list and then 
later it says:

BFS has 103 priority queues. 100 of these are dedicated to the static priority
of realtime tasks, and the remaining 3 are, in order of best to worst priority,
SCHED_ISO (isochronous), SCHED_NORMAL, and SCHED_IDLEPRIO (idle priority
scheduling). When a task of these priorities is queued, a bitmap of running
priorities is set showing which of these priorities has tasks waiting for CPU
time. When a CPU is made to reschedule, the lookup for the next task to get
CPU time is performed in the following way:



This seems like a contradiction.  where is the linked list in the code for BFS?

Ruben 

[toc] | [next] | [standalone]


#2808

Fromruben safir <ruben@mrbrklyn.com>
Date2015-05-06 05:12 -0400
Message-ID<miclum$rmg$2@reader1.panix.com>
In reply to#2807
On 05/02/2015 03:44 PM, ruben safir wrote:
> I'm confused by the documentation of the BFS scheduler.  it say that is has 
> a single run queue for the entire system as a double linked list and then 
> later it says:
> 
> BFS has 103 priority queues. 100 of these are dedicated to the static priority
> of realtime tasks, and the remaining 3 are, in order of best to worst priority,
> SCHED_ISO (isochronous), SCHED_NORMAL, and SCHED_IDLEPRIO (idle priority
> scheduling). When a task of these priorities is queued, a bitmap of running
> priorities is set showing which of these priorities has tasks waiting for CPU
> time. When a CPU is made to reschedule, the lookup for the next task to get
> CPU time is performed in the following way:
> 
> 
> 
> This seems like a contradiction.  where is the linked list in the code for BFS?
> 
> Ruben 
> 


wow - you know I've seen dozens of papers on this but none analyzed the
code.  They all test the scheduler, but nobody every explains it.  I've
looked it over with some intensity, and it does not seem to be at al
simpler than the CFS...

[toc] | [prev] | [standalone]


Back to top | Article view | comp.os.linux.hardware


csiph-web