Masamichi Takagi
b6ab5911b7
uti: Identify uti thread by clone count
...
--uti-thread-count <count> is added to mcexec.
Change-Id: Id9ec464412a5bb71e4d9e87d05f79de22d35b067
2018-09-04 19:53:01 +09:00
Masamichi Takagi
c71291a429
mcctrl: Add mcexec_terminate_thread_unsafe()
...
Change-Id: I6ca54cdac2ab9449d40b22f7329f1a215e5aa33b
2018-09-04 19:52:13 +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
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
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
ab8fe0bbbf
mcctrl: convert perf ctrl ioctls to mcctrl_ihk_send_wait
...
While we are here, also optimize code a bit: perf_desc does not need
to be allocated for every cpu; and fix coding style.
Change-Id: Iad19fed08205d38594fd3f1b7ddf2b19a9cf0d9d
2018-07-02 16:11:01 +09:00
Dominique Martinet
b939ca9370
mcctrl: refactor prepare_image into new generic ikc send&wait
...
Many ikc messages expecting a reply use wait_event_interruptible
incorrectly, freeing memory that could still be used on the other side.
This commit implements a generic ikc send and wait helper that helps
with memory management and ownership properly:
- if the message succeeds and a reply comes back normally, the memory
is freed by the caller as usual
- if the wait fails (signal before the reply comes or timeout) then the
memory is set as owner by ikc and will be free when the reply comes back
later
- if the reply never comes, the memory is freed at shutdown when
destroying ikc channels
Refs: #1076
Change-Id: I7f348d9029a6ad56ba9a50c836105ec39fa14943
2018-07-02 04:34:44 +00: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
Masamichi Takagi
6b60dee890
ihklib: Fix ihklib_rusage.h for x86
2017-10-04 05:06:17 +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
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
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
Ken Sato
b53fb5f5cb
qlmpi: export qlmpilib.h
2017-08-30 10:37:36 +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
Balazs Gerofi
bc423255d9
mcctrl/mcexec: limit thread pool size when too many threads exist on Linux
2017-07-21 15:33:19 +09:00
Tomoki Shirasawa
4f9865cc8f
clean up unused code
2017-06-27 13:46:38 +09:00
Tomoki Shirasawa
07efb3ab9a
support to utility thread offloading
2017-06-27 13:27:09 +09:00
Balazs Gerofi
200fe9aec4
mcctrl/mcexec: fix per-process data reference counting
2017-06-07 17:21:55 +09:00
Balazs Gerofi
9b5ccb5a33
Pre-map file mappings from /dev/shm (--mpol-shm-premap mcexec argument)
2017-05-23 20:00:06 +09:00
Balazs Gerofi
e901d42fb6
mcexec: --extend-heap-by: argument to specify heap extension size
2017-05-23 19:58:49 +09:00
Balazs Gerofi
e3e0f6a174
mcexec: introduction of --profile
2017-05-23 02:42:06 +09:00
Balazs Gerofi
9c25d47d9b
mcexec: transfer job information to LWK
2017-05-23 02:42:06 +09:00
Balazs Gerofi
2d72042021
mcexec: bind to CPus according to ikc_map
2017-05-23 02:39:42 +09:00
Balazs Gerofi
26b9484bae
mcexec: --mpol-threshold to control MPOL_BIND/MPOL_PREFERRED
2017-05-23 02:39:42 +09:00
Balazs Gerofi
182202523e
mcexec/mm: user memory policy control for heap, stack, etc.
2017-05-23 02:39:42 +09:00
Ken Sato
1541b26086
ihklib: add pa_info functions.
2017-04-27 17:13:49 +09:00
Balazs Gerofi
1bc3218fc1
partitioned execution: bind mcexec to corresponding NUMA node
2017-01-30 07:24:09 +09:00
Balazs Gerofi
052b3f44ca
mcexec: -n: topology aware partitioned execution
2016-12-10 16:27:57 +09:00
Balazs Gerofi
fdcf766337
prepare_process(): pass cpu_set in program_load_desc
2016-12-09 16:32:20 +09:00
Balazs Gerofi
69a5c53074
NUMA: hide non-existing nodes from /sys/devices/system/node listing
2016-11-05 16:12:08 +09:00
Balazs Gerofi
e46f027894
mcexec/mcctrl: unmount cgroups (privately) which expose invalid NUMA info
2016-11-04 17:02:48 +09:00
Balazs Gerofi
5e9957da0f
syscall_response: introduction of req_thread_status field
2016-08-16 08:53:41 +09:00
Balazs Gerofi
fb84d4ef11
mcctrl: thread pool based system call offload handling
2016-08-08 19:43:05 +09:00
NAKAMURA Gou
41bb2ab5e6
support vdso which borrows clocksource from linux
2016-03-28 22:57:44 +09:00
Yoichi Umezawa
f214ff1b57
mcctrl: add MCEXEC_UP_SYS_MOUNT, MCEXEC_UP_SYS_UNSHARE
2016-02-08 16:00:52 +09:00
Tomoki Shirasawa
bb81f84709
support PIE executable for PVAS
2015-12-14 11:05:28 +09:00
Tomoki Shirasawa
59ee251e1c
fix /proc/pid/mem, /proc/pid/status, /proc/pid/cmdline
2015-07-02 00:22:35 +09:00
Tomoki Shirasawa
7d5a68be1b
add PID and GID to /proc/pid/status
...
add /proc/pid/cmdline
refs #445
refs #447
2015-05-18 17:45:37 +09:00
Tomoki Shirasawa
8934eb91a4
kill syscall check uid
2015-03-17 15:04:36 +09:00
Tomoki Shirasawa
08cc31f9bf
support setrlimits/getrlimits, however this fix is these syscalls only.
...
checking resource process must implement it separately.
refs #330
2015-01-27 10:35:58 +09:00
Tomoki Shirasawa
8f30e16976
when mcexec is killed by SIGKILL, terminate mckernel process (BUG#259)
2014-11-27 16:13:52 +09:00
Tomoki Shirasawa
39f36120c1
support sigqueue
2014-09-23 23:17:53 +09:00
bgerofi@riken.jp
55aeceb1bf
execve()/creat(): handle NULL env correctly and support for holding executable file so that write access returns ETXTBSY
2014-09-18 21:25:04 +09:00
Balazs Gerofi bgerofi@riken.jp
ac40b96c24
execve(): support for ETXTBSY via a new ioctl() call to test in kernel space with open_exec()
2014-09-10 14:09:11 +09:00
Balazs Gerofi bgerofi@riken.jp
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
Tomoki Shirasawa
78d10cce80
support process group
2014-08-18 17:08:28 +09:00
Naoki Hamada
3fa6818962
Merge from master.
2014-07-31 18:30:39 +09:00
Tomoki Shirasawa
2f4f3628f9
support tgkill
2014-06-10 10:42:29 +09:00