Commit graph

151 commits

Author SHA1 Message Date
Stefan Lankes
c6339bfd2d by leaving the interrupt handler, we check if an urgent task is ready
if yes, the kernel switchs to this task
2011-09-06 06:46:52 -07:00
Stefan Lankes
62070aa3a9 add the support of (explicit) write through caching 2011-09-03 13:25:49 -07:00
Stefan Lankes
27e652f81d if a task exists with a higher priority, we start a rescheduling in check_workqueues. 2011-09-02 13:57:11 -07:00
Stefan Lankes
38d26aecae Merge branch 'master' into demo 2011-08-28 23:59:12 -07:00
Stefan Lankes
4fe2562839 fine tuning by using the irq fast lane 2011-08-28 01:24:28 -07:00
Stefan Lankes
512db09866 remove compiler warnings 2011-08-27 14:28:21 -07:00
Stefan Lankes
c81c83e9ff Merge remote branch 'origin/mailbox_integration' into demo 2011-08-27 08:07:43 -07:00
Stefan Lankes
298670b0db use also the ticket lock workaround for irq save spinlocks 2011-08-27 05:25:47 -07:00
Stefan Lankes
7e3c06f47b if required, the waken task will remove from the timer queue 2011-08-26 21:55:16 +02:00
Stefan Lankes
5e047d6b96 bug in ticket lock! => switch (temporary) to a "normal" spinlock 2011-08-26 03:11:58 -07:00
Generic account for RWTHAachen Students
17b104d11c Merge commit '499f43bfaf0bd7ca9387091712c0b60273bfa5d2' into mailbox_integration
Conflicts:
	arch/x86/scc/icc.c
	kernel/tests.c
2011-08-24 23:47:56 -07:00
Stefan Lankes
9631d861c3 Merge branch 'libsocket' 2011-08-24 09:39:17 +02:00
Stefan Lankes
499f43bfaf add first version of the lazy release consistency 2011-08-23 14:03:34 -07:00
Stefan Lankes
0a0452b7a1 prepare SVM subsystem to support also other consitency modells 2011-08-23 07:40:20 -07:00
Simon Pickartz
105cc84303 Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into mailbox_integration 2011-08-18 13:58:16 -07:00
Simon Pickartz
774ae9df37 Merge branch 'master' into mailbox_integration 2011-08-18 13:54:04 -07:00
Stefan Lankes
016c4a1227 Merge branch 'master' into svm 2011-08-18 05:43:31 -07:00
Stefan Lankes
e9aa86ed51 fix bug in the MPB-specific memcpy functions
=> solves a problem in Simon's mailbox system
2011-08-18 05:38:23 -07:00
Stefan Lankes
35621d72d1 first try to realize task stealing 2011-08-18 12:16:31 +02:00
Simon Pickartz
142e4892af resolve merge conflicts 2011-08-17 23:32:39 -07:00
Stefan Lankes
93257508ee wakeup a blocked task on the core, which the task used during the last time slice 2011-08-17 15:09:59 +02:00
Stefan Lankes
6c1553ce0e fix conflict 2011-08-17 14:58:51 +02:00
Stefan Lankes
f3a817ee92 Merge branch 'master' into libsocket
Conflicts:
	include/metalsvm/tasks_types.h
	kernel/tests.c
2011-08-17 14:57:20 +02:00
Stefan Lankes
5661ee64e1 remove compiler warnings 2011-08-17 14:55:33 +02:00
Stefan Lankes
296e8e98f4 the idle priority doesn't longer possess an own runqueue
only the idle task uses this priority class
2011-08-17 14:49:12 +02:00
Stefan Lankes
4c9855c83a redesign of the scheduler, defining of a runqueue per core
=> Currently, we work stealing isn't supported
2011-08-17 13:51:19 +02:00
Stefan Lankes
6e55a3a874 add some debug messages and remove obsolete macros 2011-08-16 16:08:04 -07:00
Stefan Lankes
a0bae35a88 add untested prototype of an SVM system 2011-08-16 03:29:54 -07:00
Generic account for RWTHAachen Students
7bf0cf184c only check irq status reg if irq_no = 124 2011-08-15 09:56:46 -07:00
Stefan Lankes
62e7ead997 add SVM demo example and redesign of the SVM system 2011-08-15 07:16:12 -07:00
Simon Pickartz
6892fa021a testing remote interrupts 2011-08-13 17:14:01 -07:00
Stefan Lankes
926f90fc4f add LwIP errno variable in the context of the task 2011-08-10 08:17:32 +02:00
Stefan Lankes
c3fbc90b9e switch (partly) from a Apache License to a BSD License 2011-08-08 23:32:34 +02:00
Stefan Lankes
a179ded21b redesign of the timers, support of timeouts in mailboxes and semaphores 2011-08-06 15:55:34 +02:00
Stefan Lankes
40230ade50 avoid unneeded using of per_core macro 2011-08-03 21:38:40 +02:00
Stefan Lankes
452aa3b1d1 cosmetic changes and add some scheduling statistics 2011-08-03 19:37:05 +02:00
Stefan Lankes
026d5e264c use table_lock to avoid GPs during a task switch 2011-08-02 10:24:17 +02:00
Simon Pickartz
3275d8cc17 still testing remote interrupt 2011-08-01 14:24:46 -07:00
Stefan Lankes
d5bfc4f28c avoid races on SMP systems
=> signalizes with a new flag, that a task switch is finished
2011-08-01 22:01:39 +02:00
Stefan Lankes
1f681afcb1 cosmetic changes 2011-07-30 17:29:43 +02:00
Stefan Lankes
ab37b024b0 simply the scheduler => move code from entry.asm to timer.c 2011-07-21 09:59:29 +02:00
Stefan Lankes
b228c2260f reduce the number of per_core calls 2011-07-21 09:58:42 +02:00
Stefan Lankes
28a535dbeb SMP version is currently buggy => please define MAX_CORES as 1 2011-07-20 09:51:50 +02:00
Stefan Lankes
e57a447fda minor changes in using the per_core macro, add additional output messages by an exception & cosmetic changes 2011-07-20 09:47:46 +02:00
Stefan Lankes
20c944b099 avoid a task migration during the calculation of the current task
=> temporary clearing the IF flag
2011-07-20 08:24:24 +02:00
Stefan Lankes
8e9accd6ed cosmetic changes 2011-07-19 09:58:40 +02:00
Stefan Lankes
e595fae384 add SMP support
- this is experimental version
- by setting MAX_CORES to 1, you are to disable the SMP support
2011-07-18 09:14:28 +02:00
Stefan Lankes
09b3655ea4 reserve a page for the boot code of the application processors 2011-07-18 09:13:33 +02:00
Stefan Lankes
dfe6759fc9 remove file 2011-07-04 13:07:24 -07:00
Stefan Lankes
227031a41c Merge branch 'master' into network 2011-07-04 11:41:21 -07:00