#1808 closed defect (fixed)

PerCore SMP Scheduler

Reported by: Marta Rybczynska Owned by: Joel Sherrill
Priority: normal Milestone: 4.11
Component: score Version: 4.11
Severity: normal Keywords:
Cc: sebastian.huber@…, gedare@… Blocked By:


This patch adds PerCore? SMP Scheduler. This scheduler is based on the simple priority scheduler, but operates on each core separately. There is one ready queue per core. This scheduler is designed to work on (very)multicore systems avoids the bottleneck of a single ready queue.

All cores are allowed to add thread to each other queue, but this is protected by a lock. Some functions, however, are assumed to be run only on the local core, especially Schedule and Yield. If another core runs an operation that requires scheduling or dispatch on another core, it sends a message.

In this version there is no support for thread migration. Threads are assigned to processors at creation time. Because of this, this patch requires #1803 and #1806.

Attachments (2)

percorescheduler2.patch (32.2 KB) - added by Marta Rybczynska on May 24, 2011 at 10:48:37 AM.
PerCore? SMP Scheduler
per_core_scheduler_updated.patch (33.9 KB) - added by Marta Rybczynska on May 31, 2011 at 6:13:57 AM.
Updated version

Download all attachments as: .zip

Change History (7)

Changed on May 24, 2011 at 10:48:37 AM by Marta Rybczynska

Attachment: percorescheduler2.patch added

PerCore? SMP Scheduler

comment:1 Changed on May 26, 2011 at 6:39:23 PM by Gedare Bloom

Cc: giddyup44@… added

Changed on May 31, 2011 at 6:13:57 AM by Marta Rybczynska

Updated version

comment:2 Changed on May 31, 2011 at 6:13:57 AM by Marta Rybczynska

attachments.isobsolete: 01

comment:3 Changed on Apr 1, 2014 at 11:17:09 AM by Sebastian Huber

Cc: Sebastian Huber added
Milestone: 4.114.12

comment:4 Changed on Apr 15, 2014 at 8:46:19 AM by Sebastian Huber

Milestone: 4.124.11
Resolution: fixed
Status: newclosed

comment:5 Changed on Nov 24, 2014 at 6:58:28 PM by Gedare Bloom

Version: HEAD4.11

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Note: See TracTickets for help on using tickets.