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
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
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
d692b57a67
Revert "idle 開始時に free_list の状況を表示する"
...
This reverts commit ec47968a48 .
2014-09-17 19:59:27 +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
d7436652bf
procfs: add support for <pid>/mem files and ad hoc fix for memory incoherency.
2014-09-17 15:49:47 +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
c78be27442
Support SIGSTOP and SIGCONT
2014-09-10 18:19:39 +09:00
7ca4ca4d37
Revert "Support SIGSTOP and SIGCONT"
...
This reverts commit 2325d47952 .
2014-09-10 18:19:17 +09:00
2325d47952
Support SIGSTOP and SIGCONT
2014-09-10 17:01:21 +09:00
b50e205a61
Support pid of zero when calling waitpid
...
Make waitpid wait any process with the same pgid of the caller when
setting zero to the pid argument.
2014-09-10 17:01:05 +09:00
efc817de92
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-09-05 17:20:50 +09:00
cd366de097
execve():
...
- COKERNEL_PATH and COKERNEL_EXEC_ROOT support for co-kernels with different architecture than the host (i.e., Xeon Phi).
- fix various error codes: ENAMETOOLONG, ENOENT, ENOTDIR, EACCES, ENOEXEC, EFAULT.
- support for shell code execution.
2014-09-03 18:15:43 +09:00
319590910a
Almost implemented.
2014-09-03 15:20:39 +09:00
c783ec8e11
Implemented procfs.
2014-08-28 09:16:50 +09:00
bc8b441358
process table traversing must be under interrupt inhibition
...
add finding process table function (findthread_and_lock/process_unlock)
2014-08-25 13:24:06 +09:00
78d10cce80
support process group
2014-08-18 17:08:28 +09:00
3fa6818962
Merge from master.
2014-07-31 18:30:39 +09:00
b58682dd73
Merge branch 'master' of postpeta.pccluster.org:mckernel into gdb
2014-07-31 10:31:45 +09:00
c83e80ad91
execve(): clear host user-space PTEs before context switching
2014-07-28 18:57:56 +09:00
530535c162
Merge remote branch 'origin/master' into gdb
2014-07-23 10:29:07 +09:00
5888dcd4c7
Aestethical change.
2014-07-23 10:26:36 +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
3751fa1766
add some functions related to migration into kernel/process.h
...
... and also add include guard to arch/x86/kernel/include/signal.h
2014-07-13 17:05:09 +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
1889d10e3a
add cpu_set and getter/setter of that (incomplete sched_***affinity)
2014-07-13 17:04:32 +09:00
1d45444d54
Added code for generating core image.
...
modified: arch/x86/kernel/gencore.c
modified: arch/x86/kernel/include/elfcore.h
modified: kernel/include/process.h
modified: kernel/process.c
2014-07-10 15:55:35 +09:00
36cff84e05
add zeroobj for private anonymous mappings
2014-07-07 18:11:43 +09:00
380fcbda73
add shmobj for shared anonymous mappings
2014-07-07 18:11:40 +09:00
9057268f0e
add memobj's default action
2014-07-07 18:11:38 +09:00
9efb5e4fc5
add memobj_has_pager()
2014-07-07 18:11:36 +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
11bb334bd4
support mremap(2)
...
fixes #22
2014-07-02 15:30:52 +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
90aaf9dc9c
support remap_file_pages(2)
...
fixes #21
2014-06-30 17:33:51 +09:00
770eae0186
support sigaltstack
2014-06-25 13:45:33 +09:00
514d75b685
execve(): supporting syscall and mcexec modifications
2014-05-22 17:39:13 +09:00
3e830521c1
move rt_sigaction to device dependent
...
fix call kill(getpid(), ) after sigaction aborted
2014-05-16 09:50:06 +09:00
99dec9b805
add parameters to arch_vrflag_to_ptattr()
...
for other architectures and future use
refs #18
2014-05-07 21:24:45 +09:00
769cf79bf8
move vrflag_to_ptattr() to arch/x86/kernel/memory.c
...
refs #18
2014-05-07 21:24:45 +09:00
8097b057da
add page_is_in_memobj() and page_is_multi_mapped()
...
These are page test functions.
2014-05-07 21:24:45 +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