Commit Graph

21 Commits

Author SHA1 Message Date
Tomoki Shirasawa
04e193de13 refactoring process structures 2015-10-13 23:04:08 +09:00
Balazs Gerofi
9ae5bcf46e gettimeofday(): an implementation based on CPU invariant TSC support 2015-08-24 23:53:56 +02:00
Balazs Gerofi
9ba40dc0ff schedule(): hold runq lock for the entire duration of context switching
releasing the runq lock after loading page tables but before the actual
context switch can leave execution in an inconsistent if the current
process is descheduled from an IRQ between these two steps.
this patch holds the runq lock with IRQs disabled and makes the context
switch a single atomic operation.
2015-08-10 12:37:12 +09:00
Balazs Gerofi
0a0e2c04a0 support for dynamically toggling time sharing when CPU is oversubscribed 2015-08-07 08:51:50 +09:00
Balazs Gerofi
328e69a335 schedule(): do not preempt while holding spinlocks or while in offloaded syscall 2015-08-06 10:36:13 +09:00
Balazs Gerofi
3988b0fc61 keep track of IRQ context and don't do thread migration there 2015-07-23 16:56:58 +09:00
Tomoki Shirasawa
c0edb6fe6f add new cpu state CPU_STATUS_RESERVED 2015-02-18 13:46:08 +09:00
Tomoki Shirasawa
3fe7e39607 some variables definition are gathered to fork_tree_node from process.
- remove both-defined: pid, pgid, status
- move to fork_tree_node: tid
- make dummy fork_tree_node for idle_process.
2014-10-29 16:54:09 +09:00
Tomoki Shirasawa
658aa18ade add memory debug (kmalloc/kfree)
* support "memdebug" mckernel option
* check buffer overrun when memory free and next mcexec run
* check double free
* check memory leak when next mcexec run
2014-10-07 15:45:16 +09:00
Balazs Gerofi bgerofi@riken.jp
f7780cfe93 kmalloc()/kfree(): allow CPU cores to kfree() a piece of memory that was kmalloc()ed by another core through embedding CPU id into malloc_header 2014-09-14 23:22:43 +09:00
YOSHIDA Masanori
170a54d976 add CPU affinity function
- syscall support
-- sched_setaffinity
-- sched_getaffinity
- migration in scheduler
- resched at return of syscalls/interrupts
2014-07-13 17:04:47 +09:00
Yuji Saeki
821396be7b amemcpy.c, cls.h, init.h, kmalloc.h, kmsg.hcopoyright 2013-11-14 17:30:43 +09:00
Tomoki Shirasawa
040fb64b22 add terminate thread 2013-09-02 00:39:22 +09:00
NAKAMURA Gou
deb9cd4e75 implement sys_munmap() 2013-07-18 09:25:58 +09:00
Tomoki Shirasawa
4693789608 change function names 2012-12-17 16:15:05 +09:00
Tomoki Shirasawa
0a808057eb modify include lines and Makefiles 2012-12-17 16:10:56 +09:00
Balazs Gerofi
8c34463dd4 runqueues and schedule() 2012-05-03 18:38:08 +09:00
Balazs Gerofi
033d64a7ae TLS and thread_child_tid (Shimada-san) 2012-05-01 16:43:51 +09:00
Taku Shimosawa
d2591c6d25 temp 2012-01-06 17:06:42 +09:00
Taku Shimosawa
480e1b12ef big commit 2011-11-28 13:00:13 +09:00
Taku Shimosawa
83a17650b9 AP, kmalloc 2011-11-06 19:27:09 +09:00