1ff4cf68c2
support SA_RESTART flag and restart syscall
2015-07-16 16:33:14 +09:00
4ebe778ede
vm->exiting: deal with exit_group() and concurrent page faults
2015-06-25 16:04:04 +09:00
f4162dff52
some signals set siginfo.si_code
2015-04-14 15:11:36 +09:00
2239a6b09b
modify page_fault_process()
...
- change its argument from 'struct process *'
to 'struct process_vm *'.
- change its name from 'page_fault_process()'
to 'page_fault_process_vm()'.
- allow to resolve a fault on the process_vm of another process.
2015-03-04 11:29:15 +09:00
fab2c2aa97
wrap x86_regs with x86_user_context
...
and, rename x86_regs to x86_basic_regs.
2015-02-26 17:43:10 +09:00
f35cc66d18
delete unused argument "ctx" from do_syscall
...
support waitid option "WNOWAIT"
2015-02-23 17:14:14 +09:00
0e98e87b95
change type of kprintf_lock() to "unsigned long"
...
to match type of ihk_mc_spinlock_lock().
2015-02-18 20:49:46 +09:00
0942bf0ce0
make dkprintf() evaluate its parameters always
...
Parameters of dkprintf() should be evaluated even if dkprintf() is
disabled. Because this enables to find expression of parameter obsolete
and to avoid unnecessary compiler warnings such as "unused variable".
2014-12-22 16:58:03 +09:00
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
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
39f36120c1
support sigqueue
2014-09-23 23:17:53 +09:00
b13b8e91b2
Revert "exit_group 時に空きページ数を表示する"
...
This reverts commit 219291f40f .
2014-09-17 19:59:33 +09:00
d692b57a67
Revert "idle 開始時に free_list の状況を表示する"
...
This reverts commit ec47968a48 .
2014-09-17 19:59:27 +09:00
ec47968a48
idle 開始時に free_list の状況を表示する
2014-09-17 19:46:52 +09:00
219291f40f
exit_group 時に空きページ数を表示する
2014-09-17 19:46:46 +09:00
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
7b825c0a65
fix coredump (ltp abort01)
2014-09-03 10:56:41 +09:00
530535c162
Merge remote branch 'origin/master' into gdb
2014-07-23 10:29:07 +09:00
dbdaf0ed32
Fix for demand paging and documentation.
2014-07-23 10:23:02 +09:00
101a0f6e4a
remote TLB invalidation code for multi-threaded applications (e.g., during munmap())
2014-07-22 12:24:07 +09:00
9dd7d6283c
Merge remote branch 'origin/master' into gdb
...
Conflicts:
kernel/include/process.h
2014-07-18 16:03:35 +09:00
cb61739c2b
Deleted debug flags & al.
2014-07-18 15:45:40 +09:00
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
79a72809af
Prepare inside of core. Not tested.
...
modified: arch/x86/kernel/gencore.c
modified: arch/x86/kernel/include/elfcore.h
modified: kernel/mem.c
2014-07-07 15:46:10 +09:00
ed9da789e6
Created gencore() and minor aestetical changes.
...
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-02 16:23:32 +09:00
4f1b3f22ef
Working code for infrastructure.
...
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-02 12:39:08 +09:00
53a80e0720
Experimental implementation of map & write.
...
Data is still dummy.
Not even compiled.
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-01 16:50:25 +09:00
83ced89fa3
Initial commit for core dump.
...
We can create a dummy core file when gpe occurs.
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-01 16:03:11 +09:00
ce7af5839d
keep page.count valid through its life cycle
2014-05-07 21:24:45 +09:00
29c7d40005
use atomic operations for manipulating page.count
2014-05-07 21:24:45 +09:00
7eeafb0d85
change parameter types of arch-regs to "void *"
2014-04-03 15:33:34 +09:00
26d68d391d
signal part 4 (sigsuspend etc)
2014-01-24 10:14:49 +09:00
a8c249ddaf
signal (part 1)
2014-01-07 11:57:57 +09:00
03521e9c2c
add copyrights
2013-11-14 16:49:40 +09:00
27172ad413
support private mapped file
2013-10-15 12:30:41 +09:00
1d69225532
mcexec forward signal to MIC process.
2013-08-19 12:17:23 +09:00
480f6d4c2f
rewrite page_fault_handler()
2013-08-08 12:43:00 +09:00
78d9d3fcd2
Revert "trial implementation of private file mapping"
...
This reverts commit abe57218c4 .
2013-07-26 16:44:39 +09:00
abe57218c4
trial implementation of private file mapping
...
for review only. will soon be reverted.
2013-07-26 14:40:12 +09:00
221f2c0517
support SIGSEGV(page fault) and SIGILL(general protection error)
2013-07-26 11:53:00 +09:00
deb9cd4e75
implement sys_munmap()
2013-07-18 09:25:58 +09:00
3749696d3e
simple signal handler and kill(2) support.
2013-07-18 08:53:28 +09:00
630170fb6a
add ihk_mc_allocate_aligned_pages()
2013-07-10 13:11:18 +09:00
b59be07e9a
implementing demand paging to make it possible to run Intel OpenMP programs
2013-07-04 15:41:12 +09:00
f9cb60ef33
IHK query free memory request and implementation
2013-06-24 09:00:48 +09:00
4a27a65cb0
resolved merge conflicts with futex code
2013-06-02 16:42:08 +09:00
c8b7a853cc
changed the number of pages to allocate
...
struct malloc_header is necessary at both ends of the new free space.
however, only one malloc_header is included in the req_pages.
2013-05-31 19:09:02 +09:00
bb4caccf98
add memory allocation check
2013-05-28 12:06:41 +09:00
0416247ba4
variable conversion fix
2013-05-10 12:57:46 +09:00
ab37f57a59
[Bug 20] ihk_mc_unmap_virtual function at free_physical FIX: use virtual address
2013-05-10 12:21:17 +09:00