Balazs Gerofi
f148863586
pager_req_map(): do not take mmap_sem if not needed
2018-06-07 07:17:41 +09:00
Balazs Gerofi
ec375da27a
pager_req_create(): prefetch libiomp, libpthread and libc
2018-06-07 07:17:31 +09:00
Masamichi Takagi
328609269b
Clean up "Detect hang of McKernel in mcexec"
...
* Clean up error checks
2018-06-01 14:51:07 +09:00
Masamichi Takagi
056fdb2633
Fix "Detect hang of McKernel in mcexec"
...
1. Call exit() when detecting hang
2. Clean up error checks
2018-06-01 14:21:19 +09:00
Masamichi Takagi
09d0a59e22
Detect hang of McKernel in mcexec
...
mcexec spawns a thread which detects hang of McKernel by using
ihk_os_get_eventfd().
Change-Id: I6cf0ee0c1f0c2c31a8422224b2105f64a9b9ab93
2018-06-01 10:44:34 +09:00
Balazs Gerofi
f3d18eb9de
fileobj/devobj: record path name (originally by Takagi-san)
2018-05-14 17:46:52 +09:00
Dominique Martinet
aaa246f86f
mcexec: change debug printf macros to be more tolerant to trivial format
...
Enabling DEBUG fails to compile. It'd be easy to fix the dprintf to dprint
but this is just as generic and we can now use dprintf everywhere
2018-05-11 09:23:46 +09:00
Masamichi Takagi
bfb5080b71
pager_req_unmap: Put per-process data at exit
2018-04-10 11:35:03 +09:00
Dominique Martinet
4572e6be3f
fix mcctrl SMAP - everyone needs copy_to_user
2018-04-03 10:38:44 +09:00
Balazs Gerofi
12e44050c9
mcexec: drop READ_IMPLIES_EXEC from personality to avoid device file mapping failure
2018-04-02 20:12:54 +09:00
Balazs Gerofi
e2dea4e9f8
mcexec_start_image(): handle IKC send timeout
2018-03-17 21:33:17 +09:00
Masamichi Takagi
b1ea6eb82a
procfs: Show Linux /proc/self/cgroup
...
Support the case where McKernel process retrieves its job-id when running under
the Fujitsu TCS suite.
2018-03-10 11:58:45 +09:00
Masamichi Takagi
51bc5fd61f
uti: Fix wrong argument passed to ihk_ikc_release_packet() in mcexec_terminate_thread()
...
Conflicts:
executer/kernel/mcctrl/control.c
2018-03-09 17:44:30 +09:00
Masamichi Takagi
3e4c9bdd90
Fix lock of struct wait_queue_head_list_node
2018-03-09 17:31:10 +09:00
Tomoki Shirasawa
642520f80c
rus_vm_fault: If page fault occurs in a thread that has not processed system call offloading, incorrectly return to normal.
...
refs #923
2018-03-07 10:22:47 +09:00
Tomoki Shirasawa
5cb75b00c7
mcexec_destroy_per_process_data: System calls delegation can not be terminated in error when the last process that closed /dev/mcos0 is a child process.
...
refs #882
2018-03-07 09:11:37 +09:00
Tomoki Shirasawa
7dd0d1137f
revert for fix git message
...
This reverts commit 840acd6021 .
2018-03-07 09:09:28 +09:00
Tomoki Shirasawa
c9157f273f
do_fork: If mcexec succeeds for fork and McKernel fails fork, the child process of mcexec will remain.
2018-02-14 16:37:38 +09:00
Tomoki Shirasawa
840acd6021
mcexec_destroy_per_process_data: System calls delegation can not be terminated in error when the last process that closed /dev/mcos0 is a child process.
...
refs #822
2018-02-14 16:34:08 +09:00
Ken Sato
228f8f8533
Wait for LWK to run at shutdown.
...
refs #898
refs #928
2018-02-06 10:40:12 +09:00
Tomoki Shirasawa
748429fc92
do_generic_syscall: Even if the system call is normal, if errno is not zero, it returns an error. (TEMP_FIX_75)
2018-02-03 21:37:12 +09:00
Balazs Gerofi
a9dfcd9a89
translate_rva_to_rpa(): use 2MB blocks in 1GB pages on x86
2018-01-31 11:16:44 +09:00
Masamichi Takagi
d4459cf9f3
Add check to confirm IHK and McKernel with the same version are used
2018-01-24 00:20:57 +09:00
Tomoki Shirasawa
cd54c5983a
fix openat
2017-12-27 14:59:13 +09:00
Tomoki Shirasawa
d209c00a30
part of Issue#994
...
mcexec: open syscall moves to arch_dep
do_fork: don't use __NR_fork. use __NR_clone
vfork: moves to arch_dep
2017-12-26 10:30:33 +09:00
Balazs Gerofi
35f908b75c
mcexec: protect against incorrect partitioned execution argument (-n) using timeouts
2017-11-20 17:06:01 +09:00
Ken Sato
ac25c5e1e7
fix: depending arch in Makefile (POSTK_DEBUG_ARCH_DEP_1)
2017-11-20 14:45:18 +09:00
Balazs Gerofi
85d36f1469
mcexec: check kernel version <= 3.10 for RHEL mcoverlayfs
2017-10-31 13:39:31 +09:00
Balazs Gerofi
d5629606c5
mcexec: -m: interpret as numactl -m (i.e., MPOL_BIND)
...
Conflicts:
executer/include/uprotocol.h
executer/user/mcexec.c
kernel/include/syscall.h
2017-10-18 16:54:34 +09:00
Balazs Gerofi
285059e504
mcexec: use -M for --mpol-threshold
...
Conflicts:
executer/user/mcexec.c
2017-10-18 16:44:49 +09:00
Hannes Weisbach
1cb9b435a9
Fix (?) build system
...
- disable -mno-red-zone for ARM
- add missing INCLUDEDIR
- make gencore.c compile
2017-10-18 09:20:52 +09:00
Hannes Weisbach
51982de36b
Handle return value of mcctrl_ikc_send in mcexec_handle_prepare_image
2017-10-18 09:20:51 +09:00
Hannes Weisbach
4f2c1e07c1
Add ARCH variable to Makefiles
...
In some Makefiles the ARCH variable was not set, although it was used.
In executer/user/Makefile.in it was used before it was set.
2017-10-18 09:20:50 +09:00
Dominique Martinet
b894619d1b
Speed up parallel builds
...
- make should be $(MAKE)
- add + in front of rules spawning long-lasted make process in a
subshell. (This would not be needed with $(MAKE) -C .. target, but our
makefiles do not handle that because they use $(PWD))
- split the main 'all' rule as all 4 targets are independant
- fix dependencies where appropriate for parallelism
Extra, not speed-related changes:
- remove some double-colon for targets as they do not need it
This cuts build time from 5s to 1.5s on a laptop with -j4, and more
importantly from 85s to 35s on a KNL node.
As a bonus, the fixed dependencies removes the need to clean before
rebuilding all the time. Probably.
2017-10-13 10:02:11 +09:00
Dominique Martinet
d213efac79
mcctrl/sysfs: add parenthesis around SYSFS_UNLINK_KEEP_ANCESTOR check
...
! has more priority than &, so !flags & SYSFS_UNLINK_KEEP_ANCESTOR is
not very likely. Change to !(flags & SYSFS_UNLINK_KEEP_ANCESTOR)
2017-10-13 10:02:11 +09:00
Masamichi Takagi
6b60dee890
ihklib: Fix ihklib_rusage.h for x86
2017-10-04 05:06:17 +09:00
Masamichi Takagi
e1442bf12b
mcexec: Fix usage
2017-10-03 15:34:00 +09:00
Masamichi Takagi
9c25eb8ef2
mcoverlayfs: Fix version check
2017-10-02 19:51:30 +09:00
Masamichi Takagi
37e3118df6
mcexec: Add --stack-premap=<premap_size>[,<max>] to man page
2017-09-26 18:45:52 +09:00
Masamichi Takagi
be4d84c0c1
mcexec: Add --stack-premap=<premap_size>[,<max>]
...
<premap_size> of stack is pre-mapped on creating a process.
And its max size of stack is set to <max>.
This replaces MCKERNEL_RLIMIT_STACK=<premap_size>,<max>.
2017-09-26 17:04:10 +09:00
Balazs Gerofi
dae9a5ff13
mcexec: verify argument for -n/-t/-c
2017-09-25 16:43:47 +09:00
Yutaka Ishikawa
47b4bd5aba
Installing mcexec.1 man page
2017-09-20 16:37:05 +09:00
Yutaka Ishikawa
ea831c614e
mcexec man page
2017-09-20 16:37:00 +09:00
Masamichi Takagi
5b51eb80a3
Redirect kmsg to /dev/log and detect hungup
...
1. ihkmond retrieves kmsg when the amount of kmsg exceeds the threashold and
/dev/mcosX is deleted
2. ihkmond periodically monitors OS status change to detect hungup
2017-09-20 15:25:19 +09:00
Masamichi Takagi
daa7526127
rusage and ihklib: Fix out-of-memory reporting and cleanup
...
1. Fix OOM: Count memory usage only when allocation succeeded
2. Fix OOM: Make user allocation fail when memory is running out
3. Fix OOM: Move rusage_init() before numa_init()
4. Cleanup: Rename ihkconfig/ihkosctl functions
5. Cleanup: Pass event type to eventfd()
6. Cleanup: arch/.../rusage.h --> arch/.../arch_rusage.h
2017-09-20 15:11:57 +09:00
Masamichi Takagi
aa7cb970c4
ihk_os_getrusage(): Compile LWK-specific results in mcctrl
...
1. User asks mcctrl for the result via ihk_os_getrusage() with passing void *
2. mcctrl compiles the results and passes them to the user
3. User interprets it by using the type defined in the LWK-specific header
2017-09-20 15:03:45 +09:00
Balazs Gerofi
5664125e57
mcexec: verify number of processes for partitioned execution
2017-09-21 16:11:56 +09:00
Balazs Gerofi
203bfc2492
mcexec: limit nr. of threads for non-OpenMP partitioned execution
2017-09-21 15:30:37 +09:00
Tomoki Shirasawa
cdfa4015b7
load_elf: check mckernel execution
...
refs #758
2017-09-12 13:15:22 +09:00
Katsuya Horigome
a05b6e1ba8
Expand dump-functions for excluding user/unused memory (This is rebase commit for merging to development)
2017-09-11 15:49:04 +09:00