projects/modsched/linux.git
6 years agofw_task_linux is never being used
Daniel Röhrig [Fri, 22 Nov 2013 16:04:40 +0000 (17:04 +0100)]
fw_task_linux is never being used

That's why I just deleted it.

6 years agoCosmetic changes
Daniel Röhrig [Fri, 22 Nov 2013 16:01:43 +0000 (17:01 +0100)]
Cosmetic changes

Just some refactoring.

6 years agofw_task.c deleted
Daniel Röhrig [Fri, 22 Nov 2013 15:38:20 +0000 (16:38 +0100)]
fw_task.c deleted

But we had to keep the fw_task.h for the fw_task struct.

6 years agoDeleted PubSub
Daniel Röhrig [Fri, 22 Nov 2013 15:07:02 +0000 (16:07 +0100)]
Deleted PubSub

And changed the makefile and stuff.

6 years agoregister_task obsolete
Daniel Röhrig [Fri, 22 Nov 2013 14:51:08 +0000 (15:51 +0100)]
register_task obsolete

Also some cleaning up.

6 years agofw_comm instead of pub_sub
Daniel Röhrig [Thu, 21 Nov 2013 16:55:41 +0000 (17:55 +0100)]
fw_comm instead of pub_sub

Anselms framework is being used. We should realy get rid of fw_task.c
register_task should also be killed.

6 years agoos_prinf links to printk
Daniel Röhrig [Thu, 21 Nov 2013 14:32:12 +0000 (15:32 +0100)]
os_prinf links to printk

We used objcopy (after several unsuccessful attempts with -defsym) to
link os_pritnf to printk.

6 years agoos_dispatch uses os_dispatch_mp
Daniel Röhrig [Wed, 20 Nov 2013 15:25:43 +0000 (16:25 +0100)]
os_dispatch uses os_dispatch_mp

To make it SMP ready.

6 years agomore clean up in contextswitch
René Sechting [Wed, 20 Nov 2013 14:40:31 +0000 (15:40 +0100)]
more clean up in contextswitch

...

6 years agocleaned up contextswitch
René Sechting [Wed, 20 Nov 2013 14:31:22 +0000 (15:31 +0100)]
cleaned up contextswitch

everything that has to do with the context switch is now inside the
framework. that way a lot of code became unnecessary and is removed.
therefor it is cleaned up :)

6 years agoCleaning up the core.c
Daniel Röhrig [Thu, 14 Nov 2013 16:59:31 +0000 (17:59 +0100)]
Cleaning up the core.c

Comments seem unnescessaryarsys (how do you spell that?)

6 years agocontextswitch inside the framework
René Sechting [Thu, 14 Nov 2013 16:20:23 +0000 (17:20 +0100)]
contextswitch inside the framework

finally working, it will not win a miss contest, but it is a first step in the
hopefully right direction.

6 years agosched.h not copied but linked
Daniel Röhrig [Mon, 11 Nov 2013 16:55:29 +0000 (17:55 +0100)]
sched.h not copied but linked

Debugging doesn't work for me anymore.

6 years agoadded sched.h
René Sechting [Mon, 11 Nov 2013 15:08:36 +0000 (16:08 +0100)]
added sched.h

6 years agocontext_switch invoked by framework
René Sechting [Mon, 11 Nov 2013 14:59:47 +0000 (15:59 +0100)]
context_switch invoked by framework

fw_dispatch(next) is now invoking the context_switch.

6 years agoModules init in fw_modules_init
Daniel Röhrig [Wed, 6 Nov 2013 16:40:41 +0000 (17:40 +0100)]
Modules init in fw_modules_init

Last changes before we kill the pub sub system.

6 years agoKilled init_sched_framework
Daniel Röhrig [Wed, 6 Nov 2013 16:34:27 +0000 (17:34 +0100)]
Killed init_sched_framework

Now it's fw_init().

6 years agofw_types is long not int
Daniel Röhrig [Wed, 6 Nov 2013 15:58:50 +0000 (16:58 +0100)]
fw_types is long not int

Eliminated some warnings.

6 years agoDeleted mod_sched_defines.h
Daniel Röhrig [Wed, 6 Nov 2013 13:28:38 +0000 (14:28 +0100)]
Deleted mod_sched_defines.h

That's pretty much it.

6 years agoCleaned up FW_Tasks
Daniel Röhrig [Tue, 5 Nov 2013 16:54:23 +0000 (17:54 +0100)]
Cleaned up FW_Tasks

And the Linux implementation of fw tasks

6 years agoCleaned up fw_task
Daniel Röhrig [Tue, 5 Nov 2013 16:19:54 +0000 (17:19 +0100)]
Cleaned up fw_task

We don't need all these functions anymore.

6 years agoRebranded mod_sched_framework.c in os.c
Daniel Röhrig [Tue, 5 Nov 2013 14:48:38 +0000 (15:48 +0100)]
Rebranded mod_sched_framework.c in os.c

Changed the Makefile and deleted the mod_sched_framework.h

6 years agonew makefile
René Sechting [Tue, 5 Nov 2013 13:20:30 +0000 (14:20 +0100)]
new makefile

the overall linux makefile is now working for the whole linux kernel + the framework and
modules. and the framework is working again after the merge with anselms stuff.

6 years agochanging the framework - not running anymore
René Sechting [Wed, 30 Oct 2013 16:46:22 +0000 (17:46 +0100)]
changing the framework - not running anymore

this is a progress in work <3

6 years agosingle core framework is running on smp kernel
René Sechting [Mon, 28 Oct 2013 09:57:41 +0000 (10:57 +0100)]
single core framework is running on smp kernel

yepp, with the current smp kernel is the framework again running. but only with
deactivated smp functionality. the only difference between the former buggy
version is that the framework invokation is now always with a locked rq performed.
but only with the linux rq, not the module specific one. maybe that should be
changed, idk whats better.

6 years agonot working anymore?
René Sechting [Thu, 17 Oct 2013 13:21:12 +0000 (15:21 +0200)]
not working anymore?

magically bug appeared, dont know why and where :(

6 years agoweekend madness, nothing is working
René Sechting [Fri, 11 Oct 2013 12:53:05 +0000 (14:53 +0200)]
weekend madness, nothing is working

fixed some stuff, so that the framework gets to know again every task. but still
not scheduling it, so more improvements needed. weekend! stop working NOW!

6 years agoAdded SMP-Boot to run_qemu
Daniel Röhrig [Thu, 10 Oct 2013 14:15:19 +0000 (16:15 +0200)]
Added SMP-Boot to run_qemu

Doesn't show up while booting. It shows that SMP is enabled but there is
still just one processor showing up.

6 years agoTrying to resolve a conflict
Daniel Röhrig [Thu, 10 Oct 2013 14:04:58 +0000 (16:04 +0200)]
Trying to resolve a conflict

Conflicts:
run_qemu

6 years agosmp framework running? cant be true...
René Sechting [Thu, 10 Oct 2013 13:52:52 +0000 (15:52 +0200)]
smp framework running? cant be true...

siehe titel

6 years agoFür die Menschen ohne KVM
Daniel Röhrig [Thu, 10 Oct 2013 13:07:28 +0000 (15:07 +0200)]
Für die Menschen ohne KVM

Keine KVM für meinen armen alten Rechner.

6 years agoframework with smp merged
René Sechting [Thu, 10 Oct 2013 09:30:18 +0000 (11:30 +0200)]
framework with smp merged

Merge branch 'p/jkrieg/master' of git:projects/modsched/linux into p/sechting/smpframework

Conflicts:
kernel/sched.new/core.c

6 years agosingle core framework is working
René Sechting [Wed, 9 Oct 2013 11:35:30 +0000 (13:35 +0200)]
single core framework is working

there was of course a stupid programming error. removing this made it work just
excellent. we are booting in less than a second and everything works out of the box.

6 years agosome runtime optimation - still not reacting
René Sechting [Wed, 9 Oct 2013 11:05:46 +0000 (13:05 +0200)]
some runtime optimation - still not reacting

now we boot in less than 2 seconds with kvm, but due to the errors we are
in userland after a minute... and still no reaction from keyboard input...
so nothing has really changed.

6 years agostill no keyboard
René Sechting [Mon, 7 Oct 2013 14:53:47 +0000 (16:53 +0200)]
still no keyboard

:'(

6 years agoproblems with workerthreads
René Sechting [Mon, 7 Oct 2013 08:27:16 +0000 (10:27 +0200)]
problems with workerthreads

there is at least one workerthread that isnt correctly working. the question
remains, if it is a scheduler problem or if its caused by the framework implementation

6 years agobugfixes in framework
René Sechting [Thu, 3 Oct 2013 11:57:23 +0000 (13:57 +0200)]
bugfixes in framework

some bugfixes which caused trouble in the boot up. now the system is booting
but doesnt respond to i/o. could be something in the scheduler.

7 years agoSMP boot finally works. Unknown behavior of worker threads due to
Jens Krieg [Mon, 30 Sep 2013 13:29:37 +0000 (15:29 +0200)]
SMP boot finally works. Unknown behavior of worker threads due to
uninitialized migration. Inserting function migration_init solved all
problems.

7 years ago->fuer daniel
René Sechting [Wed, 11 Sep 2013 12:23:03 +0000 (14:23 +0200)]
->fuer daniel

einfacher push für daniel zum spielen :)

7 years agotask finished to fw
René Sechting [Mon, 26 Aug 2013 10:25:35 +0000 (12:25 +0200)]
task finished to fw

if a task finishes it is send to the framework, cool eh?

7 years agonew tasks to the fw
René Sechting [Mon, 26 Aug 2013 08:27:37 +0000 (10:27 +0200)]
new tasks to the fw

the fw will now receive every new task. the framework needs for initialisation
now the idle task, so that we can tell the module about which task the idletask is.

7 years agoSMP is booting up but stuck in userland. Maybe some process did not come up on the...
Jens Krieg [Thu, 15 Aug 2013 19:08:14 +0000 (21:08 +0200)]
SMP is booting up but stuck in userland. Maybe some process did not come up on the right CPU...

7 years agoround robin scheduler module
René Sechting [Wed, 14 Aug 2013 14:41:46 +0000 (16:41 +0200)]
round robin scheduler module

a working simple round robin scheduler module. works fine in the simulated os. next
step is integrating it into the linux kernel!

7 years agochanged header files
René Sechting [Mon, 12 Aug 2013 14:49:13 +0000 (16:49 +0200)]
changed header files

the cyclic header file linkage should be resolved. the modules have their own
header file for every possible purpose they need. the framework intern header
files should just be used inside the framework.

7 years agoEnabled SMP in kernel config and added the missing functions to our
Jens Krieg [Mon, 5 Aug 2013 11:29:32 +0000 (13:29 +0200)]
Enabled SMP in kernel config and added the missing functions to our
scheduler.
* Code is compiling properly but boot stops while initializing CPU.

7 years agofw_task as intern task_struct
René Sechting [Fri, 2 Aug 2013 10:58:54 +0000 (12:58 +0200)]
fw_task as intern task_struct

task_struct changed to a fw_task, that contains a pointer to the real task
from the operating system and is extendable for module specific needs.

7 years agoInit-Framework Function
Daniel Röhrig [Wed, 31 Jul 2013 14:20:06 +0000 (16:20 +0200)]
Init-Framework Function

Instead of invoking all functions on their own, we can now just call
init_framework. Also some other changes.

7 years agoNew Sched triggers Pub/Sub
Daniel Röhrig [Tue, 30 Jul 2013 15:11:16 +0000 (17:11 +0200)]
New Sched triggers Pub/Sub

Whenever the new Scheduler schedules it triggers the Pub/Sub-Sytem.
Which leads to a message overflow, but it works.

7 years agoStripped down clock.
Jens Krieg [Tue, 30 Jul 2013 14:57:15 +0000 (16:57 +0200)]
Stripped down clock.

7 years agoFramework/New Sched Integration
Daniel Röhrig [Tue, 30 Jul 2013 14:47:09 +0000 (16:47 +0200)]
Framework/New Sched Integration

First attempt at binding our framework to the new linux scheduler of
Jens and Anton. It boots, but there is nothing sent yet from the
scheduler.

7 years agoSimple RR is running perfectly :)
Jens Krieg [Tue, 30 Jul 2013 13:30:44 +0000 (15:30 +0200)]
Simple RR is running perfectly :)

7 years agoMerge remote-tracking branch 'remotes/origin/p/jkrieg/master' into p/sechting/derenkernel
René Sechting [Tue, 30 Jul 2013 13:02:32 +0000 (15:02 +0200)]
Merge remote-tracking branch 'remotes/origin/p/jkrieg/master' into p/sechting/derenkernel

Conflicts:
.gitignore

7 years agoTwo Modules simultaneously
Daniel Röhrig [Tue, 30 Jul 2013 12:55:12 +0000 (14:55 +0200)]
Two Modules simultaneously

Two Modules working simultaneously in our simulated os. WARNING: All
variables and structs should be static to avoid collisions

7 years agoAdded task.c/h
Daniel Röhrig [Tue, 30 Jul 2013 11:10:37 +0000 (13:10 +0200)]
Added task.c/h

Did you know that git commit -a does NOT add new files? Well, I didn't.

7 years agoExtended Dynamic Task Structs
Daniel Röhrig [Mon, 29 Jul 2013 15:28:46 +0000 (17:28 +0200)]
Extended Dynamic Task Structs

Task Structs can now be extended by another struct with additional
fields. TODO: test if this really works with two modules. TODO: What if
two fields are the same (e.g prio)?

7 years agopop functionality for lists
René Sechting [Mon, 29 Jul 2013 09:30:15 +0000 (11:30 +0200)]
pop functionality for lists

a pop functionality for list handling added.

7 years agoFixed multiple race conditions for our runqueues. Still have problems with
Jens Krieg [Mon, 29 Jul 2013 08:44:10 +0000 (10:44 +0200)]
Fixed multiple race conditions for our runqueues. Still have problems with
task list.

7 years agoList: Add-at-Pos and Add-First
Daniel Röhrig [Wed, 24 Jul 2013 15:26:36 +0000 (17:26 +0200)]
List: Add-at-Pos and Add-First

List elements can now either be inserted at the head of the list or at
some position in the list (starting at 0). Also there is now a help menu
for the test suites. push is the same as add-at-tail or add-first
    depending on what you want. Pop is pretty complicated to implement
    because it needs the macro "entry". WARNING: There is some error at
    the fallback_module.c that I didn't cause nor can fix!

7 years agoMerge remote-tracking branch 'remotes/origin/p/sechting/master' into project_extended...
Daniel Röhrig [Wed, 24 Jul 2013 13:41:54 +0000 (15:41 +0200)]
Merge remote-tracking branch 'remotes/origin/p/sechting/master' into project_extended_list

7 years agosimulated os
René Sechting [Wed, 24 Jul 2013 13:35:53 +0000 (15:35 +0200)]
simulated os

first version of the os simulation. in addition a super awesome fifo scheduler

7 years agoList Length Function
Daniel Röhrig [Tue, 23 Jul 2013 15:57:53 +0000 (17:57 +0200)]
List Length Function

A simple function to get the number of entries in a list.

7 years agonew LIST_FW_INIT
René Sechting [Tue, 23 Jul 2013 15:09:44 +0000 (17:09 +0200)]
new LIST_FW_INIT

Merge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into makefilemagic

7 years agomerge commit
René Sechting [Tue, 23 Jul 2013 15:09:08 +0000 (17:09 +0200)]
merge commit

just for a merge...

7 years agoList Init Generic
Daniel Röhrig [Tue, 23 Jul 2013 15:07:23 +0000 (17:07 +0200)]
List Init Generic

List Init wanted that the list head element was called "head". Now we
don't care what it's called.

7 years agonew list functionalities added
René Sechting [Tue, 23 Jul 2013 14:51:39 +0000 (16:51 +0200)]
new list functionalities added

Merge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into makefilemagic

7 years agoDelete List Entry
Daniel Röhrig [Tue, 23 Jul 2013 14:48:02 +0000 (16:48 +0200)]
Delete List Entry

Added a function to delete an entry from a list. Added also the
possibility to unsubscribe from a topic. WARNING: Right this only works
in the simulated os. Linux throws kernel panics at us.

7 years agolocal changes
René Sechting [Tue, 23 Jul 2013 14:43:22 +0000 (16:43 +0200)]
local changes

commit needed to merge with extended listimplementation

7 years agoFixed scheduler_tick. Successful bootup, but just once
Jens Krieg [Tue, 23 Jul 2013 12:03:49 +0000 (14:03 +0200)]
Fixed scheduler_tick. Successful bootup, but just once

7 years agolocal stuff
René Sechting [Tue, 23 Jul 2013 11:57:16 +0000 (13:57 +0200)]
local stuff

Merge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into makefilemagic

Conflicts:
framework/modules/fallback_module.c
framework/os/simulated/main.c

7 years agoNew list for simulated OS
Daniel Röhrig [Tue, 23 Jul 2013 11:49:19 +0000 (13:49 +0200)]
New list for simulated OS

Added some dependencies in the mod_sched_defines.h for the simualted OS
(like stdarg.h). Also made the Makefile a bit more generic (but not
really beautiful).

7 years agoSupport for multiple callbacks
Daniel Röhrig [Fri, 19 Jul 2013 16:03:49 +0000 (18:03 +0200)]
Support for multiple callbacks

You can now use different callbacks for different topics.

7 years agolocal changes
René Sechting [Fri, 19 Jul 2013 13:42:25 +0000 (15:42 +0200)]
local changes

commit needed for merges

7 years agoList implementation
Daniel Röhrig [Fri, 19 Jul 2013 13:30:53 +0000 (15:30 +0200)]
List implementation

A stripped down version of the linux list implementation is now used
instead of our list.

Also:
- No initcall needed for pub/sub because the pub/system is initalized
  when first needed.

7 years agolist.h added :S
René Sechting [Thu, 18 Jul 2013 14:05:36 +0000 (16:05 +0200)]
list.h added :S

ups

7 years agoframework/Makefile changes (make linux)
René Sechting [Thu, 18 Jul 2013 13:53:07 +0000 (15:53 +0200)]
framework/Makefile changes (make linux)

the framework/Makefile incldues now a make linux option. This will delete the
kernel/sched/mod_sched.o and start the regular Linux Makefile. This way every
new change in the Modular Scheduler will be included.

7 years agoList implementation
René Sechting [Thu, 18 Jul 2013 10:35:48 +0000 (12:35 +0200)]
List implementation

list is implemented, but the makefiles need some work...

7 years agoThread (PID=292) does not go to sleep correctly
Jens Krieg [Tue, 16 Jul 2013 16:10:56 +0000 (18:10 +0200)]
Thread (PID=292) does not go to sleep correctly

7 years agoTroubles with the idle process fixed
Jens Krieg [Tue, 16 Jul 2013 07:38:24 +0000 (09:38 +0200)]
Troubles with the idle process fixed
* idle will be (de)scheduled at the right time

Ignoring key strokes still remains

7 years agocorrect framework/modules/fallback_module.c
René Sechting [Mon, 15 Jul 2013 11:34:06 +0000 (13:34 +0200)]
correct framework/modules/fallback_module.c

there was a mistake :(

7 years agoseperated Makefiles
René Sechting [Mon, 15 Jul 2013 09:02:05 +0000 (11:02 +0200)]
seperated Makefiles

because of git, nothing was commited... thx...

7 years agoseperated Makefiles
René Sechting [Mon, 15 Jul 2013 08:36:19 +0000 (10:36 +0200)]
seperated Makefiles

seperation from os-dependent and independent Makefiles, Includes etc. for linux and the simulated dummy-os

7 years agoWrapper functions
Daniel Röhrig [Thu, 11 Jul 2013 15:42:35 +0000 (17:42 +0200)]
Wrapper functions

Wrapper functions for os specific functions like printk and __initcall.

7 years agoSeperated the Makefiles
Daniel Röhrig [Thu, 11 Jul 2013 13:57:07 +0000 (15:57 +0200)]
Seperated the Makefiles

A new Main-Makefile has been placed inside the framework folder. It
includes the right Makefile depending on the Operating System

7 years agoMakefile has OS variable
Daniel Röhrig [Thu, 11 Jul 2013 12:10:21 +0000 (14:10 +0200)]
Makefile has OS variable

First step to create one Makefile to rule them all.

7 years agoMerge remote-tracking branch 'remotes/origin/p/sechting/master' into p/daniel.roehrig...
Daniel Röhrig [Wed, 10 Jul 2013 14:35:42 +0000 (16:35 +0200)]
Merge remote-tracking branch 'remotes/origin/p/sechting/master' into p/daniel.roehrig/master

7 years agoMerge remote-tracking branch 'remotes/origin/p/sechting/master' into p/daniel.roehrig...
Daniel Röhrig [Wed, 10 Jul 2013 14:32:34 +0000 (16:32 +0200)]
Merge remote-tracking branch 'remotes/origin/p/sechting/master' into p/daniel.roehrig/master

7 years agoMerge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into p/sechting...
René Sechting [Wed, 10 Jul 2013 14:13:20 +0000 (16:13 +0200)]
Merge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into p/sechting/master

7 years agoImproved Makefile structure
Daniel Röhrig [Wed, 10 Jul 2013 14:08:16 +0000 (16:08 +0200)]
Improved Makefile structure

Makefiles are now nested and have dependencies. Linker creates one
mod_sched.o object out of several input files.

7 years agoRelative Paths in Makefiles
Daniel Röhrig [Tue, 9 Jul 2013 16:39:12 +0000 (18:39 +0200)]
Relative Paths in Makefiles

Closed a ticket that complained about absolute Paths in the Makefiles.
We changed that by using the variables provided by the main Makefile.
Should now work on all workstations.

7 years agoMakefile for Framework compilation
Daniel Röhrig [Tue, 9 Jul 2013 14:35:05 +0000 (16:35 +0200)]
Makefile for Framework compilation

It is now possible to compile and include the framework from a different
folder into the linux build. But it's not a beauty. For now it should
work.

7 years agoFixed I/O error at boot up. Still not possible to interact with os.
Anton Eisenbraun [Fri, 5 Jul 2013 16:08:50 +0000 (18:08 +0200)]
Fixed I/O error at boot up. Still not possible to interact with os.

7 years agoAble to boot up with I/O errors. Therefore interaction not possible. Few functions...
Anton Eisenbraun [Thu, 4 Jul 2013 17:22:55 +0000 (19:22 +0200)]
Able to boot up with I/O errors. Therefore interaction not possible. Few functions need to be implemented + efficency tweeking, see core.c

7 years agoGeneric Makefile
Daniel Röhrig [Thu, 4 Jul 2013 15:31:55 +0000 (17:31 +0200)]
Generic Makefile

Trying to make the Makefile more generic

7 years agoFramework added
Daniel Röhrig [Thu, 4 Jul 2013 14:26:29 +0000 (16:26 +0200)]
Framework added

Temporarily moved the Framework folder to the linux folder. Just to make
things easier.

7 years agoMakefile Magic
Daniel Röhrig [Thu, 4 Jul 2013 14:19:54 +0000 (16:19 +0200)]
Makefile Magic

Ich habe keine Lust auf eine lange Beschreibung.

7 years agoBoot process stops while calling smpboot_thread_fn.
Jens Krieg [Wed, 3 Jul 2013 15:12:55 +0000 (17:12 +0200)]
Boot process stops while calling smpboot_thread_fn.

7 years agoSimple Pub/Sub System running in Kernel Mode
Daniel Röhrig [Fri, 14 Jun 2013 14:14:47 +0000 (16:14 +0200)]
Simple Pub/Sub System running in Kernel Mode

There is a simple Pub/Sub System implemented in the kernel/sched folder.
It sends a message to topic 0 ("ACTIVATED") every time a task is
activated. This is for testing purposes only. A Module (see
fake_module.c) can register to a topic and will receive those messages.

Also: Some Doxygen comments and shell scripts for easier debugging.

7 years agoAdded runqueue list, seems to be working. Threads get scheduled but
Jens Krieg [Wed, 5 Jun 2013 15:25:20 +0000 (17:25 +0200)]
Added runqueue list, seems to be working. Threads get scheduled but
wait_for_completion and wake_up_porcess needs to be implemented

7 years agoAdded new runqueue
Jens Krieg [Thu, 30 May 2013 17:08:31 +0000 (19:08 +0200)]
Added new runqueue

7 years agoFirst steps to our own task switch
Jens Krieg [Wed, 22 May 2013 16:53:36 +0000 (18:53 +0200)]
First steps to our own task switch
* task list still missing