Commit graph

144 commits

Author SHA1 Message Date
Stefan Lankes
426c06193b remove bug in the timer queue 2011-08-28 23:56:29 -07:00
Stefan Lankes
81d384b1b0 minor changes in the code style 2011-08-28 08:54:18 -07:00
Stefan Lankes
4fe2562839 fine tuning by using the irq fast lane 2011-08-28 01:24:28 -07:00
Stefan Lankes
771db80f26 remove merge error => scheduler has to call "finish_task_switch" 2011-08-27 06:57:21 -07:00
Marian Ohligs
b3be0861f9 Merge branch 'master' into ohligs 2011-08-27 12:11:53 +02:00
Stefan Lankes
7e3c06f47b if required, the waken task will remove from the timer queue 2011-08-26 21:55:16 +02:00
Marian Ohligs
e9805be005 Merge branch 'master' into ohligs
Conflicts:
	kernel/tasks.c
	kernel/tests.c
2011-08-25 12:15:36 +02:00
Stefan Lankes
1e1e77351a first approach to determine the cpu load 2011-08-24 09:32:36 +02:00
Stefan Lankes
35621d72d1 first try to realize task stealing 2011-08-18 12:16:31 +02: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
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
Marian Ohligs
27b7c6aa6e add networkI/O (unstable) 2011-08-10 18:56:40 +02:00
Marian Ohligs
5c7e9f38ec Merge branch 'master' into ohligs
Conflicts:
	.gitignore
	kernel/syscall.c
	kernel/tasks.c
	kernel/tests.c
	newlib/examples/Makefile
2011-08-10 16:57:17 +02:00
Stefan Lankes
20b074d81c add additional error messages 2011-08-10 09:55:59 -07:00
Stefan Lankes
5d9f361174 add system calls to map the user-level socket library to LwIP sockets 2011-08-10 08:15:53 +02:00
Marian Ohligs
cdc6707852 Merge branch 'master' into ohligs
- one more bug: block_task is missing

Conflicts:
	include/metalsvm/tasks_types.h
	kernel/main.c
	kernel/tasks.c
2011-08-06 17:51:48 +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
452aa3b1d1 cosmetic changes and add some scheduling statistics 2011-08-03 19:37:05 +02:00
Marian Ohligs
8fcf9514ca Merge branch 'master' into ohligs 2011-08-03 16:56:55 +02:00
Stefan Lankes
22dab59699 minor changes in the scheduler routine to relalize a fair round-robin scheduling 2011-08-03 15:10:58 +02:00
Marian Ohligs
032bba3a95 - some chmod changes 2011-08-02 15:58:20 +02:00
Marian Ohligs
c3d912bee1 - minor optimization in main.c and tasks.c 2011-08-02 13:01:28 +02:00
Marian Ohligs
c7012f7bc0 - enable flags O_RDONLY O_WRONLY and O_RDWR 2011-08-02 11:57:14 +02:00
Marian Ohligs
3bc6844833 Merge branch 'master' into ohligs 2011-08-02 11:14:39 +02:00
Stefan Lankes
026d5e264c use table_lock to avoid GPs during a task switch 2011-08-02 10:24:17 +02:00
Stefan Lankes
744abc36c8 minor optimization on single core systems 2011-08-02 07:07:16 +02:00
Marian Ohligs
429c2a99d7 Merge branch 'master' into ohligs 2011-08-01 22:35:04 +02: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
Marian Ohligs
94a98c5950 Merge branch 'master' into ohligs
Conflicts:
	kernel/tasks.c
2011-07-30 19:21:25 +02:00
Stefan Lankes
f76f4ac70d fix wrong initialization of current_task 2011-07-30 17:36:21 +02:00
Marian Ohligs
55e0e971be merge master 2011-07-27 10:28:01 +02:00
Marian Ohligs
a14ba26991 Merge branch 'master' into ohligs
Conflicts:
	kernel/tasks.c
	kernel/tests.c
2011-07-21 15:05:32 +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
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
dfa928de78 reduce the number of function calls to determine the core id 2011-07-19 21:22:54 +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
Marian Ohligs
3d74f1b514 - rewrite the read_fs and write_fs. Now both functions use fildes_t instead of vfs_node_t structs.
INFO:	typedef struct fildes {
        	vfs_node_t* 	node;
        	off_t 		offset;
		int 		flags;
		int 		mode;
	} fildes_t;

- merge fs_types.h and fs.h into one file fs.h
2011-07-01 18:04:00 +02:00
Marian Ohligs
58353723e1 fix typo 2011-06-12 12:22:18 +02:00
Marian Ohligs
16ac07a8ca fix bug in tasks.c 2011-06-12 12:18:54 +02:00
Marian Ohligs
5c9ff18204 fixing a bug with fork 2011-05-24 18:41:24 +02:00
Marian Ohligs
1f74434a46 Merge branch 'master' into ohligs 2011-05-18 12:50:41 +02:00
Stefan Lankes
08f5153257 add the support of inter core interrupts 2011-05-17 08:13:20 -07:00
Marian Ohligs
6c45e03d0e Merge branch 'master' into ohligs
Conflicts:
	fs/initrd.c
2011-04-26 16:52:52 +02:00
Marian Ohligs
ef59f6cb8d Merge branch 'master' into ohligs
Conflicts:
	kernel/tasks.c
2011-04-23 11:09:56 +02:00
Marian Ohligs
02f7fecc61 first stdin, stout, stderr implementation (still buggy) 2011-04-23 11:04:32 +02:00
Stefan Lankes
29ab43f289 First steps to realize Inter-Core-Communication via RCCE 2011-04-23 00:13:12 -07:00
Stefan Lankes
f3b620a9be add rudimental support of the system call times
- no full support of the POSIX API
- however, the libc function clock works correctly
2011-04-21 10:13:58 +02:00
Stefan Lankes
0c411fd702 add basic support of sbrk and fix bug in saving of the fpu context 2011-04-21 07:32:20 +02:00