Masamichi Takagi
5e78bd85ab
uti: Fix tracer exit code for the case when create_tracer() isn't called
2018-09-04 19:52:12 +09:00
Masamichi Takagi
63703589e5
uti: Clear user space PTEs after first fork in create_tracer()
...
Change-Id: I60755f0cb5e84c3a5a5cd91515411a30f0995822
2018-09-04 19:52:12 +09:00
Masamichi Takagi
e4370d235c
uti: Make tracer not call mcexec_terminate_thread() when tracee is killed by signal
...
Change-Id: I5878c7d623ce182a7cb9578c9d5c430c1bee8e1e
2018-09-04 19:52:12 +09:00
Masamichi Takagi
56da7e2de9
uti: Allocate memory area directly to uti_desc->wp
...
Change-Id: Ia5a1dbf56b937d9d05cd7fa1c5eec4a5b4b7b196
2018-09-04 19:52:11 +09:00
Masamichi Takagi
35300e7b4f
uti: Create tracer when forking
...
Change-Id: Ic66cf6289ac6f32a884ba1266e641ce61620a239
2018-09-04 19:52:11 +09:00
Masamichi Takagi
4b3e58fd3d
uti: Call terminate only when exit_group is called
...
Tracer tells McKernel side to call do_exit() in WIFSIGNALED case.
Change-Id: If85c6cbb4856036b406b11335f1384e57f26292d
2018-09-04 19:52:11 +09:00
Masamichi Takagi
b7cdbd6c42
uti: Enforce mcexec is destroyed and then McKernel process is destroyed
2018-09-04 19:52:11 +09:00
Masamichi Takagi
77f5cac2bf
uti: Make tracer exit when not used
...
Change-Id: I3d3b2f92fa2b160ffce633c46d1b60e9079e7f1b
2018-09-04 19:52:11 +09:00
Masamichi Takagi
d24b7585b7
uti: Make tracee pthread-detached
...
Change-Id: I672ee18739b956980901b63e55ee3ebc192b4e56
2018-09-04 19:52:11 +09:00
Masamichi Takagi
52afbbbc98
uti: Call into McKernel futex()
...
(1) Masquerade clv
(2) Fix timeout
(3) Let mcexec thread with the same tid as McKernel thread migrating
to Linux handles the migration request
(4) Call create_tracer() before creating proxy related objects
Change-Id: I6b2689b70db49827f10aa7d5a4c581aa81319b55
2018-09-04 19:52:10 +09:00
Balazs Gerofi
9d6e0319f7
atobytes(): restore postfix before return
2018-09-04 19:51:10 +09:00
Balazs Gerofi
a697f5e98d
partitioned execution: pass process rank to LWK
...
Cherry-pick of d2d134d5e6a4b16a34d55d31b14614a2a91ecf47
Conflicts:
kernel/include/process.h
2018-09-04 19:51:10 +09:00
Dominique Martinet
d898f18293
mcexec: Do not close fd returned to mckernel side
...
Fixes: 9a79920ef9 ("Static analysis fixes")
Change-Id: I2b51d6e288e7bb2b0f4bff579fa237d575dcb026
Reported-by: Tomoki Shirasawa <tomoki.shirasawa.kk@hitachi-solutions.com >
2018-07-30 23:27:17 +00:00
Masamichi Takagi
6999d0a3f9
bind_mount_recursive: Use lstat instead of d_type of readdir
...
Change-Id: I0eb8d6c7e1fa5df6dbc5962a639901546a159d04
2018-07-26 18:38:48 +09:00
Dominique Martinet
6df4bd8f8c
Fix a few more warnings
...
Some are important, e.g. the seemingly harmless braces around if with dprintf,
since that dprintf is defined as empty, will screw things up and grab the next
line
Change-Id: Ie5e1cf813178ad708ff42ae5e477fbc96034471c
2018-07-26 04:52:17 +00:00
Dominique Martinet
a1b50051ed
mcexec: always compile debug statements
...
This helps catching errors like accessing a field that no longer exists
in a debug print that wasn't compiled...
Change-Id: If6c862ea2b866f819195aae93c7fd68e610fe48e
2018-07-26 03:38:00 +00:00
Dominique Martinet
9a79920ef9
Static analysis fixes
...
Change-Id: I7bc42545a1c497f704d7bfa6ea1b7e3893acc697
2018-07-26 03:36:50 +00:00
Ken Sato
b920da5103
execve: Use interp in shebang as is
...
Fujitsu: POSTK_DEBUG_TEMP_FIX_9
Refs: #995
Change-Id: I09751d13c4fecd68087d47815029c0b65e51f18a
2018-07-26 01:46:22 +00: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
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
Balazs Gerofi
12e44050c9
mcexec: drop READ_IMPLIES_EXEC from personality to avoid device file mapping failure
2018-04-02 20:12:54 +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
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
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
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
Masamichi Takagi
e1442bf12b
mcexec: Fix usage
2017-10-03 15:34:00 +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
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
Takayuki Okamoto
9989f41fd3
add arm64 support
...
- add arm64 dependent codes with GICv3 and SVE support
- fix bugs based on architecture separation requests
2017-09-05 15:06:27 +09:00
Balazs Gerofi
99ca46663b
mcctrl, mexec: fix a bunch of warnings
2017-09-04 08:53:32 +09:00
Yutaka Ishikawa
236a072311
Add qlmpi and swap to mckernel (This is rebase commit for merging to development)
2017-08-29 15:04:58 +09:00
Tomoki Shirasawa
b39fec1104
uti: remove unused functions
2017-07-26 13:14:30 +09:00
Tomoki Shirasawa
effde241b9
support uti_attr for utility thread offloading
2017-07-25 13:03:48 +09:00
Tomoki Shirasawa
101cab5b0a
remove debug print
2017-07-25 13:02:17 +09:00
Balazs Gerofi
bc423255d9
mcctrl/mcexec: limit thread pool size when too many threads exist on Linux
2017-07-21 15:33:19 +09:00
Masamichi Takagi
38961fca78
Revert "do_fork(): RLIMIT_NPROC check"
...
This reverts commit 035e7913d8 .
2017-07-13 04:13:41 +09:00
Masamichi Takagi
035e7913d8
do_fork(): RLIMIT_NPROC check
...
1. mcexec sets RLIMIT_NPROC to the number of mcexec threads.
2. do_fork() gets the current number of threads by calling rusage function.
3. do_fork() returns -EAGAIN when the limit is exceeded.
2017-07-12 20:42:38 +09:00
Masamichi Takagi
6afea4af48
mcexec: Fix debug/error messages
2017-07-12 14:30:21 +09:00
Masamichi Takagi
6415dcfdcc
mcexec: Disable address space layout randomization
...
Move the code from mcreboot.sh to mcexec.c.
2017-07-12 14:17:38 +09:00
Tomoki Shirasawa
a8f11634e6
remove debug print for uti tracer
2017-06-27 14:42:04 +09:00
Tomoki Shirasawa
07efb3ab9a
support to utility thread offloading
2017-06-27 13:27:09 +09:00
Balazs Gerofi
52bc052e1a
mcexec: recursively bind mount $prefix/rootfs/ on /
2017-06-16 18:01:25 +09:00