a80d11cde5
prevents MCKERNEL_RLIMIT_STACK from overwriting
...
When mcexec reduces a stack, mcexec stores the original RLIMIT_STACK
in environment variable MCKERNEL_RLIMIT_STACK.
A fix to prohibit overwrite of this time.
Therefore, the value of RLIMIT_STACK of the McKernel's process is
decided in the following order.
(1) If environment variable MCKERNEL_RLIMIT_STACK exists; the value.
(2) A value of RLIMIT_STACK in the mcexec starting.
2013-10-30 14:28:32 +09:00
011ef60c4b
support decimal numbers at MCKERNEL_RLIMIT_STACK
2013-10-30 14:28:32 +09:00
d557ba84d6
exclude interpreter's segment from data region
...
When an interpreter is located on the lower address (e.g. 0x0),
the text region is included in data region.
A fix to avoid this.
2013-10-30 14:28:32 +09:00
6e736f6248
change the stack size according to stack size limit
2013-10-30 12:33:03 +09:00
db45e11921
apply demand paging to stack area
2013-10-30 12:33:03 +09:00
78214f3ce4
/opt/knc -> /usr
2013-10-21 09:44:44 +09:00
6cf1b0c331
rename boot.sh to mcreboot
...
rename ihktest to ihkconfig
rename ihkostest to ihkosctl
2013-10-15 13:02:35 +09:00
27172ad413
support private mapped file
2013-10-15 12:30:41 +09:00
603ef85454
mcexec: add a upper limit of the stack size
...
- When the stack size is greater than 1 GiB, reduced to 10 MiB.
- To achieve a reduction of the stack, restart itself using the exec().
- By using the environment variable MCKERNEL_RLIMIT_STACK,
tell to McKernel the stack size of the original.
2013-10-11 22:36:16 +09:00
3d32350be0
mcexec: add use of MCKERNEL_RLIMIT_STACK
...
MCKERNEL_RLIMIT_STACK is a environment variable which
specify RLIMIT_STACK value on McKernel.
syntax: MCKERNEL_RLIMIT_STACK=<cur>,<max>
example: MCKERNEL_RLIMIT_STACK=0x800000,-1
cur=8MiB, max=unlimited
2013-10-11 22:36:16 +09:00
4fb6620f3a
sys_getrlimit: modified to return mcexec's RLIMIT_STACK
2013-10-11 22:36:16 +09:00
bc173baf13
mcexec: add a path prefix for interpreter search
...
- When the interpreter is not found,
add a prefix to the path and retry search.
- the prefix is specified by a environment variable MCEXEC_ALT_ROOT.
- If the MCEXEC_ALT_ROOT does not exist,
/usr/linux-k1om-4.7/linux-k1om is used as a prefix.
2013-10-11 22:23:22 +09:00
413fe7b54a
mcexec: add a interpreter invocation
...
When start a program which have a PT_INTERP segment
(dynamic linkaged program have a PT_INTERP segment),
start the interpreter indicated by the PT_INTERP segment.
2013-10-11 22:23:22 +09:00
a171da1015
add a AT_ENTRY entry to the auxiliary vector
2013-10-11 22:23:22 +09:00
bb1390b085
ignore the double registration error
...
allow the substitute of maps from mcexec thread to the syscall channel
the temporary correction of the problem that gethostbyname() after
accept() interruption finishes an error.
2013-09-05 20:31:47 +09:00
6f76c392ee
fix error message typo
...
- printk("register_peer_channel(%p,%p,%p):"
+ printk("deregister_peer_channel(%p,%p,%p):"
^^
2013-09-05 20:31:46 +09:00
47722baf2e
add mcexec's PTE cleaning to munmap()/mmap(MAP_FIXED)
...
The correction of the problem that MKL application does not start
2013-09-05 13:19:54 +09:00
0e0684cd1c
support shared anonymous mapping
...
mmap(..., MAP_SHARED|MAP_ANONYMOUS, ...) is possible now.
shared mapped file is still not implemented.
2013-09-04 19:03:31 +09:00
877f1be797
fix error message
...
- ekprintf("sys_mmap(%lx,%lx,%x,%x,%x,%lx):unknown flags %lx\n",
+ ekprintf("sys_mmap(%lx,%lx,%x,%x,%x,%lx):unknown flags %x\n",
^^
2013-09-04 19:03:31 +09:00
15beb40f17
mcexec: upgrade CAP_SYS_RAWIO while do_mmap_pgoff()
...
for mmap_min_addr check avoidance
2013-09-03 19:42:58 +09:00
fe05e1107c
fix alignment of struct syscall_request variable
...
since used with DMA, it must be IHK_DMA_ALIGN
2013-09-03 19:37:37 +09:00
040fb64b22
add terminate thread
2013-09-02 00:39:22 +09:00
1d69225532
mcexec forward signal to MIC process.
2013-08-19 12:17:23 +09:00
591f398768
add page fault forwarding
2013-08-08 12:43:15 +09:00
480f6d4c2f
rewrite page_fault_handler()
2013-08-08 12:43:00 +09:00
b0de24f13e
sys_mprotect: delete unnecessary error check
2013-08-08 12:39:12 +09:00
6109eabc23
sys_munmap: add error check
2013-08-08 12:39:11 +09:00
88ce001671
munmap/mprotect: add TLB flush for single thread program
2013-08-08 12:39:09 +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
70e46dcd4b
mcexec print signum or exit status
2013-07-26 13:14:39 +09:00
a4973307bd
deliver signum to sighandler
2013-07-26 12:50:32 +09:00
af1c0b1352
correct sighandler breaks registers
2013-07-26 12:24:00 +09:00
221f2c0517
support SIGSEGV(page fault) and SIGILL(general protection error)
2013-07-26 11:53:00 +09:00
b6d25861e5
create more mcexec thread so that all cpu to be serviced.
2013-07-18 09:25:58 +09:00
deb9cd4e75
implement sys_munmap()
2013-07-18 09:25:58 +09:00
334662b7fe
implement sys_mprotect()
2013-07-18 09:25:58 +09:00
9de06e90e7
rewrite and replace sys_mmap()
2013-07-18 09:25:58 +09:00
390eb6bca5
rus_vm_fault(): add handling of page absence
2013-07-18 09:24:16 +09:00
3749696d3e
simple signal handler and kill(2) support.
2013-07-18 08:53:28 +09:00
2aa5194958
rewrite sys_mmap() as sys_new_mmap()
2013-07-10 13:11:19 +09:00
dae884d572
add syscall number constants in syscall.h
2013-07-10 13:11:19 +09:00
630170fb6a
add ihk_mc_allocate_aligned_pages()
2013-07-10 13:11:18 +09:00
63d97642d5
add intptr_t, uintptr_t, off_t type definition
2013-07-10 13:11:18 +09:00
99a228930f
correct syscall name
2013-07-10 13:11:18 +09:00
43f4bb3e78
free_process_memory(): support demand paging
2013-07-10 13:11:18 +09:00
4214441ac3
Make clone system-call create a new thread on the next available physical core
...
and skip the physical core with a system process so that
programs using Intel OpenMP bind threads to cores in that manner.
2013-07-05 18:55:03 +09:00
b59be07e9a
implementing demand paging to make it possible to run Intel OpenMP programs
2013-07-04 15:41:12 +09:00
75b51ec0c1
delete SYSCALL_DECLARE(process_data_section)
2013-07-01 12:44:12 +09:00
cbc37b62a9
return syscall_table[] to the arch-independent part
2013-07-01 12:44:12 +09:00