Marian Ohligs
e6ea52bc42
remove memory leak
2012-10-04 17:20:38 +02:00
Marian Ohligs
1f53f2d5ae
disable all lines to fix a memory leak causing a page fault.
2012-09-16 17:32:09 +02:00
Marian Ohligs
78ded06efa
test
2012-09-12 23:20:27 +02:00
Marian Ohligs
7d043bee07
increase readability
2012-09-12 18:02:27 +02:00
Stefan Lankes
bffaf0bd57
on x64, disable the option to create user-level tasks
2012-09-10 15:39:51 +02:00
Stefan Lankes
e1c3ddbc8d
use irqsave page directory lock to avoid deadlocks
2012-09-10 13:41:00 +02:00
Stefan Lankes
7f7dd4585f
add the support of ELF64
2012-07-22 20:12:24 +02:00
Stefan Lankes
4775e5e11e
use static stacks only for the idle tasks
...
=> all other stacks will be created on demand
2012-07-19 22:07:59 +02:00
Stefan Lankes
7082d0650f
add new functions to start tasks on a specific core
2012-07-16 21:53:41 +02:00
Stefan Lankes
24914fcb4f
add prototype of a tickless kernel
...
only by entering the kernel, the tick counter will be updated
=> by using this feature, MetalSVM supports only LwIP's raw interface,
because we have no guarantee that the tcpip thread will get computation time
=> no NETCONN & BSD socket support
=> no load balancing support
2012-07-03 16:46:54 +02:00
Stefan Lankes
227cc19890
add alpha version of x64 support
...
New features:
- support of kernel tasks in 64bit mode
- support of LwIP in 64bit mode
Missing features in 64bit mode
- user-level support
- APIC support => SMP support
To create a 64bit version of the MetalSVM kernel, the compiler flags “-m64 -mno-red-zone” and the assembler flags “-felf64” has to be used. Please use qemu-system-x86_64 as test platform.
Notice, metalsvm.elf is a 32bit ELF file. However, it contains (beside the startup code) only 64bit code. This is required because GRUB doesn’t boot 64bit ELF kernels. Therefore, for disassembling via objdump the flag “-M x86-64” has to be used.
2012-06-10 08:05:24 +02:00
Stefan Lankes
d21e707024
Merge remote-tracking branch 'origin/master' into x64_new
2012-05-24 12:05:14 +02:00
Stefan Lankes
45313d47f2
add build environment for 64bit code
...
=> environment build 64bit kernel, but the kernel is not tested!
=> work in progess
2012-05-24 10:49:45 +02:00
Stefan Lankes
3d1facb657
Merge branch 'sw_switch'
2012-05-23 11:21:38 -07:00
Marian Ohligs
884dd08641
fix memory leak
2012-05-22 13:24:00 +02:00
Stefan Lankes
b9b962ea73
revise software multitasking
...
=> remove hardware multitasking
2012-05-21 15:04:05 +02:00
Jacek Galowicz
9b36a72f5f
Wrote a benchmark for measuring the context switch time.
2012-04-15 19:40:51 +02:00
Jacek Galowicz
0984eb593f
Commented everything
2012-04-14 09:57:18 +02:00
Jacek Galowicz
f4a7d6bd3a
The context is now switched by software.
...
- Cleanup to be done
- Arch_fork does NOT work in this state
- Multiprocessing support not yet implemented
2012-04-14 00:34:09 +02:00
Stefan Lankes
8ec1d0e817
fix deadlock in load_balancing
2012-02-24 06:47:41 +01:00
Stefan Lankes
242738a3b8
increasing the readability
2011-10-31 19:17:25 +01:00
Jacek Galowicz
5a4bd9a069
Fixed some documentation errors across the project.
...
Changed some stuff in the doxyfile and added a directory structure for
future manual pages.
2011-10-24 19:26:27 +02:00
Stefan Lankes
c90a533521
only by a context switch, the FPU registers are saved in the task context
2011-10-07 16:07:29 +02:00
Marian Ohligs
fde6b46203
filedescriptor redesign, fix close issue in telnet
2011-09-28 22:03:54 +02:00
Stefan Lankes
42c69cfcfc
add rlogind
...
via 'telnet hostname 4211' is it possible to establish a connection to a mshell
2011-09-25 20:41:03 +02:00
Stefan Lankes
d7dc5ec9b7
fine tuning of our load balancer
2011-09-22 11:01:33 +02:00
Stefan Lankes
670b3f850c
add first version of our load balancer
2011-09-22 09:48:40 +02:00
Stefan Lankes
ef3ab5b836
first steps to realize load balancing
2011-09-20 14:37:28 +02:00
Stefan Lankes
c2ec2800bc
determine the 1, 5 and 15 minute load
2011-09-20 08:56:58 +02:00
Stefan Lankes
c08125c3ad
avoid races by adding a new task
2011-09-19 19:42:27 +02:00
Stefan Lankes
810c6db0a8
add some debug messages... by the initialization of the file descriptors, we avoid a race
2011-09-19 06:37:55 -07:00
Stefan Lankes
a1f1d3e572
minor optimizations
2011-09-19 10:10:02 +02:00
Stefan Lankes
0709d365a1
remove some compiler warnings
2011-09-15 21:49:56 +02:00
Marian Ohligs
4e0d89e67a
- tidy up memory on do_exit
2011-09-15 08:19:03 +02:00
Marian Ohligs
39396f1188
- only initialize the fildes_t in usertasks, on create_user_task
2011-09-14 16:25:29 +02:00
Marian Ohligs
e572d1c502
Merge branch 'master' into ohligs
...
Conflicts:
kernel/init.c
kernel/tests.c
2011-09-09 21:23:15 +02:00
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
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
e6fb99beb4
add inline assembler functions to determine the MSB and LSB
2011-09-01 13:31:41 -07:00
Marian Ohligs
ed5dba2672
Merge branch 'master' into ohligs
...
Conflicts:
kernel/tests.c
2011-08-29 14:52:23 +02:00
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