b2cab453f1
clone(): do not allow setting CLONE_THREAD and CLONE_VM separately
...
XXX: When CLONE_VM is set but CLONE_THREAD is not the new thread is
meant to have its own thread group, i.e., when calling exit_group()
the cloner thread wouldn't be killed. However, this is a problem on
the Linux side because we do not invoke clone in mcexec when threads
are created. Thus, currently no support for this combination is
provided.
2014-12-04 16:55:18 +09:00
8909597499
clone(): support for handling CLONE_SIGHAND and CLONE_VM flags separately
2014-12-04 16:55:17 +09:00
86f2a9067b
getppid() implementation
2014-12-04 16:55:17 +09:00
f1a86cfbd3
when host mcexec down, syscall is hung up
2014-12-04 11:17:29 +09:00
8f30e16976
when mcexec is killed by SIGKILL, terminate mckernel process (BUG#259)
2014-11-27 16:13:52 +09:00
89acf5c5d6
support for AT_RANDOM auxiliary entry on the process stack (needed for _dl_random in glibc)
2014-11-11 08:48:27 +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
658ff759ef
build scripts: support for separate build and source directories
2014-10-20 18:27:24 +09:00
11947a4ce3
initialize and propagate a cpu affinity (temporary fix)
...
This fix is only intended to work an OpenMP program.
It is necessary to investigate behavior of linux and reimplement this
fix.
2014-10-20 15:21:49 +09:00
f195b9c675
don't use COW pages in private anonymous mapping (quick fix)
2014-10-17 23:25:15 +09:00
6cd1016d57
Remove debug message that could dereference NULL
2014-10-17 14:24:44 +09:00
d2cb890cdd
idle(): recheck runq just before cpu status check
...
There is a problem which causes wait4(2) hang when wait4(2) called by a
process races with its child process termination.
This is a quick fix for this problem. See idle().
refs #271
2014-10-15 17:58:27 +09:00
758796bb69
idle(): cosmetic changes
2014-10-15 17:58:27 +09:00
ec179f072d
ptrace: Add all known request value and report upon their request.
2014-10-15 15:42:45 +09:00
8460a7d93e
siginfo.si_status was invalid
2014-10-15 15:27:32 +09:00
8a6ffa8542
fix ptrace(PTRACE_PEEKUSER), store register value to *data
2014-10-15 14:56:45 +09:00
a150a19393
ptrace: Bug fixed.
...
see: http://postpeta.pccluster.org/redmine/issues/265#note-3
2014-10-15 14:56:30 +09:00
f0f31e19fb
procfs: PTRACE_O_TRACESYSGOOD (fake)
2014-10-15 14:56:11 +09:00
fef946e5ff
support PTRACE_GETREGS
2014-10-15 14:55:49 +09:00
4b46330624
support ptrace(PTRACE_PEEKUSER, ...)
2014-10-15 14:54:33 +09:00
a101aa0534
ptrace: Temporal fix for signal inconsistency.
2014-10-15 14:52:32 +09:00
1f120b929b
ptrace: Make unimplemented ptrace requests return error.
2014-10-15 14:50:11 +09:00
f28eb0a672
Fix taking exit status when wait4()-ing stopped
2014-10-15 14:49:36 +09:00
95dd193fd6
Fix reporting of having done execve to ptracer
2014-10-15 14:49:23 +09:00
2997274470
Make __WCLONE option for wait4(2) and flags for clone(2) work properly.
2014-10-15 14:45:58 +09:00
66db108dd3
Use erase-safe Ver. of list traversal in waitpid
2014-10-15 14:42:52 +09:00
013d3e95c2
Fix manipulation of fork_tree_node for ptrace
2014-10-15 14:42:17 +09:00
658b88fd7b
Modify spacing
2014-10-15 14:40:47 +09:00
da17625be9
gdb: definitions for ptrace() and syscall part of TRACEME
2014-10-15 14:30:17 +09:00
dbecaa2fc8
Add ptrace functions of job-control and signal
...
Note that a forked process automatically becomes ptraced state in this
commit.
2014-10-15 14:28:55 +09:00
aa05f00e7e
don't map syscall pages into process space
...
Request pages, response pages, and a doorbell page are mapped into
process space to enable user processes to delegate system calls
directly to mcctrl/mcexec.
This commit removes these mappings for the following reasons.
- These mappings cause a memory leak in current fork() implementation.
- These mappings are not used.
- These mappings do not function properly.
And the fix which corrects function of these mappings is not easy.
2014-10-10 16:20:38 +09:00
6415559a81
procfs: use current cpu's syscall_channel
2014-10-10 16:20:38 +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
905fb9abb6
devobj: relax the size limit to 512 pages
2014-09-25 18:07:31 +09:00
a0c5d5c5de
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-09-23 23:18:27 +09:00
39f36120c1
support sigqueue
2014-09-23 23:17:53 +09:00
a7b0880a8d
Make findthread_and_lock take ihk_spinlock_t **
2014-09-23 12:03:48 +09:00
43e54dcf85
procfs: fix for http://postpeta.pccluster.org/redmine/issues/119#note-30
2014-09-22 10:46:33 +09:00
55aeceb1bf
execve()/creat(): handle NULL env correctly and support for holding executable file so that write access returns ETXTBSY
2014-09-18 21:25:04 +09:00
e5917e6bf1
Revert "fix warnings"
...
This reverts commit fbd33470e7 .
2014-09-17 19:59:37 +09:00
f267b65fba
Revert "marker"
...
This reverts commit b361012563 .
2014-09-17 19:59:36 +09:00
b13b8e91b2
Revert "exit_group 時に空きページ数を表示する"
...
This reverts commit 219291f40f .
2014-09-17 19:59:33 +09:00
7e12f0db72
Revert "テスト支援コード"
...
This reverts commit 054cb2ada2 .
2014-09-17 19:59:32 +09:00
776dfff734
Revert "terminate するときに空きページ数を表示するようにした"
...
This reverts commit d4ffe7db8d .
2014-09-17 19:59:29 +09:00
d692b57a67
Revert "idle 開始時に free_list の状況を表示する"
...
This reverts commit ec47968a48 .
2014-09-17 19:59:27 +09:00
c9f8bb0201
mmap: support device mapping (in progress) refs #218
2014-09-17 19:52:00 +09:00
438c7fd784
add devobj a new memobj
2014-09-17 19:48:02 +09:00
fdb86115a8
add pager requests for device mapping
...
- PAGER_REQ_MAP
map specified file, and create a private device pager.
- PAGER_REQ_UNMAP
destroy specified private device pager, and unmap related mapping.
- PAGER_REQ_PFN
report a physical address.
2014-09-17 19:48:00 +09:00
f641090a7e
support uncachable on-demand mapping
2014-09-17 19:47:58 +09:00
ec47968a48
idle 開始時に free_list の状況を表示する
2014-09-17 19:46:52 +09:00