Commit Graph

263 Commits

Author SHA1 Message Date
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
295c2ee5ca Revert "workaround for non-DCFA make"
This reverts commit 15ac1e246a.
2013-07-01 12:44:12 +09:00
be71505e87 fix remove_process_memory_range(): remove INIT_LIST_HEAD for on-list item 2013-06-24 13:29:33 +09:00
f9cb60ef33 IHK query free memory request and implementation 2013-06-24 09:00:48 +09:00
15ac1e246a workaround for non-DCFA make
suppress the following error:

ihk/ihk.o: In function `generic_common_handlers':
(.data+0x2678): undefined reference to `sys_mod_call'
2013-06-22 15:22:38 +09:00
de5137e18b Delete DCFA_KMOD flag in syscall_list.h.
Because DCFA_KMOD is undefined in this file,
even if we set -DDCFA_KMOD in Makefile
2013-06-20 11:33:14 -05:00
4695b332e2 move syscall_table[] to the architecture-depended part 2013-06-19 16:52:46 +09:00
5369864551 fix warnings 2013-06-19 16:47:02 +09:00
96f02a1d08 delete the access restrictions of whole page table.
access restrictions will be set on individual pages.
2013-06-19 12:07:40 +09:00