Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!nntp.club.cc.cmu.edu!micro-heart-of-gold.mit.edu!bloom-beacon.mit.edu!bloom-beacon.mit.edu!panix!not-for-mail From: ruben safir Newsgroups: comp.os.linux.hardware Subject: bfs scheduler run queue Date: Sat, 02 May 2015 15:44:45 -0400 Organization: PANIX Public Access Internet and UNIX, NYC Lines: 17 Message-ID: NNTP-Posting-Host: www.mrbrklyn.com Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Trace: reader1.panix.com 1430595885 12196 96.57.23.82 (2 May 2015 19:44:45 GMT) X-Complaints-To: abuse@panix.com NNTP-Posting-Date: Sat, 2 May 2015 19:44:45 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 Xref: csiph.com comp.os.linux.hardware:2807 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