05afa8b6dd
mcctrl sysfs_files: vfs_readdir -> iterate_dir compat
...
vfs_readdir got removed in recent kernels
Change-Id: Iac9a9954afefa0f6dbcdc2c94786cf747e21e1fe
Fujitsu: POSTK_DEBUG_TEMP_FIX_22
2018-08-08 05:39:07 +00:00
6cf89076dc
mcctrl handle_mm_fault compat: add el7.5 support
...
Change-Id: I8c7738b70ca914e857be119b7720cdc22e61ae0e
2018-08-08 05:36:35 +00:00
14660a10c3
Fix to procfs read returns EIO
...
Refs: #1152
Change-Id: I48b330953fd7674ba1a3ac35744f9f50a5712730
2018-08-02 01:48:51 +00:00
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
1543119139
mcctrl rus_vm_fault: tpe changed with kernel >= 4.11
...
vma is part of vmf and isn't needed, so type changed (see linux 11bac80
("mm, fs: reduce fault, [...] to take only vmf"))
Change-Id: I4c023e23c7e7416ad2df2dcc0698a0032e574e4c
2018-07-27 02:31:39 +00:00
0a0a78ac2e
mcctrl: replace GFP_TEMPORARY by GFP_KERNEL
...
See linux's commit 0ee931c4 ("mm: treewide: remove GFP_TEMPORARY
allocation flag") for a long explanation, but basically that flag
"is just cargo cult" and should be removed
Change-Id: I2147cd65b6b9ec509a72e11cc3abf1fe1561c10b
2018-07-27 02:31:00 +00:00
6999d0a3f9
bind_mount_recursive: Use lstat instead of d_type of readdir
...
Change-Id: I0eb8d6c7e1fa5df6dbc5962a639901546a159d04
2018-07-26 18:38:48 +09:00
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
dc8d6b740c
pager_req_read: handle short read
...
Change-Id: Iff89046041e012a65c80a29b485ddbb636435dd0
2018-07-26 04:37:54 +00:00
c2e1b8d694
mcctrl_ikc_send_wait: fix interrupt with do_frees == NULL
...
do_frees is allowed to be NULL only if free_addrs_count is 0, but that
is increased to account for the wakeup_desc itself before this failure
Change-Id: Iab33712c76ae452df7044558a12745a89adb47ac
2018-07-26 04:34:03 +00:00
f6d8138e05
mcexec_wait_syscall: requeue potential request on interrupted wait
...
Change-Id: Id7a324f18ebb8c81f05bd8362e19d9314a445308
2018-07-26 04:31:34 +00:00
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
9a79920ef9
Static analysis fixes
...
Change-Id: I7bc42545a1c497f704d7bfa6ea1b7e3893acc697
2018-07-26 03:36:50 +00:00
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
992705d465
pager_get_path: Append \0 to path
...
Change-Id: Iaabd89a649bb20b37b35cd345da0f468fd5dd0b5
2018-07-10 02:10:19 +00:00
854bc85602
mcctrl: convert send_signal to mcctrl_ihk_send_wait
...
Change-Id: Ibd2fc834444d83341a96579f0c9c22080a53e8fa
2018-07-02 16:11:01 +09:00
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
b87c06cbcb
mcctrl_ikc_send_wait: give possibility to use pre-allocated desc
...
Change-Id: I1afbabe792648bbf2c5a9a38ebbfba8ea9060d06
2018-07-02 16:11:01 +09:00
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
86ae1380e4
configure.ac: Move man directory to share/man
...
Change-Id: Idaa5c0f61fbbe3bda4697bc59487f562e09ff2d6
2018-06-11 13:13:13 +09:00
f148863586
pager_req_map(): do not take mmap_sem if not needed
2018-06-07 07:17:41 +09:00
ec375da27a
pager_req_create(): prefetch libiomp, libpthread and libc
2018-06-07 07:17:31 +09:00
328609269b
Clean up "Detect hang of McKernel in mcexec"
...
* Clean up error checks
2018-06-01 14:51:07 +09:00
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
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
f3d18eb9de
fileobj/devobj: record path name (originally by Takagi-san)
2018-05-14 17:46:52 +09:00
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
bfb5080b71
pager_req_unmap: Put per-process data at exit
2018-04-10 11:35:03 +09:00
4572e6be3f
fix mcctrl SMAP - everyone needs copy_to_user
2018-04-03 10:38:44 +09:00
12e44050c9
mcexec: drop READ_IMPLIES_EXEC from personality to avoid device file mapping failure
2018-04-02 20:12:54 +09:00
e2dea4e9f8
mcexec_start_image(): handle IKC send timeout
2018-03-17 21:33:17 +09:00
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
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
3e4c9bdd90
Fix lock of struct wait_queue_head_list_node
2018-03-09 17:31:10 +09:00
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
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
7dd0d1137f
revert for fix git message
...
This reverts commit 840acd6021 .
2018-03-07 09:09:28 +09:00
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
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
228f8f8533
Wait for LWK to run at shutdown.
...
refs #898
refs #928
2018-02-06 10:40:12 +09:00
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
a9dfcd9a89
translate_rva_to_rpa(): use 2MB blocks in 1GB pages on x86
2018-01-31 11:16:44 +09:00
d4459cf9f3
Add check to confirm IHK and McKernel with the same version are used
2018-01-24 00:20:57 +09:00
cd54c5983a
fix openat
2017-12-27 14:59:13 +09:00
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
35f908b75c
mcexec: protect against incorrect partitioned execution argument (-n) using timeouts
2017-11-20 17:06:01 +09:00
ac25c5e1e7
fix: depending arch in Makefile (POSTK_DEBUG_ARCH_DEP_1)
2017-11-20 14:45:18 +09:00
85d36f1469
mcexec: check kernel version <= 3.10 for RHEL mcoverlayfs
2017-10-31 13:39:31 +09:00
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
285059e504
mcexec: use -M for --mpol-threshold
...
Conflicts:
executer/user/mcexec.c
2017-10-18 16:44:49 +09:00