854bc85602
mcctrl: convert send_signal to mcctrl_ihk_send_wait
...
Change-Id: Ibd2fc834444d83341a96579f0c9c22080a53e8fa
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
35f908b75c
mcexec: protect against incorrect partitioned execution argument (-n) using timeouts
2017-11-20 17:06:01 +09:00
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
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
cdfa4015b7
load_elf: check mckernel execution
...
refs #758
2017-09-12 13:15:22 +09:00
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
d7b8e7f4f4
fix to count user pages
...
refs #864
2017-07-14 09:51:39 +09:00
4236323661
add SCD_MSG_EVENT_SIGNAL
...
refs #862
2017-07-03 14:49:13 +09:00
d9e6ff235d
mcctrl: track and clean up ikc2linux channels
2017-06-12 13:03:07 +09:00
b03f69783a
mcctrl: cleanup devobj pagers in release_handle() to avoid memory leak
2017-06-11 19:13:31 +09:00
ab915f3331
mcctrl: clean up pagers for file objects to avoid memory leak
2017-06-11 19:11:54 +09:00
b4aecfd43c
partitioned execution: order by process start time
2017-05-23 02:39:42 +09:00
21373338cc
mcctrl: IHK CPU register manipulation implementation
2017-05-20 12:38:14 +09:00
9992fe0d72
mcctrl: support remote CPU MSR read/write operations
2017-05-05 00:01:43 +09:00
1541b26086
ihklib: add pa_info functions.
2017-04-27 17:13:49 +09:00
b7671fedd3
mcctrl_per_proc_data: comments
2017-03-30 14:51:24 +09:00
ad214c8206
reserve_user_space(): mutual exclusion on mmap
2017-01-30 07:24:09 +09:00
40978d162e
procfs_read/write(): rewrite synchronization for scalability and correctness
2016-12-28 14:17:17 +09:00
4667136a4c
mcctrl: refcount per-process data to avoid corrupted syscall request lists
2016-12-23 09:54:15 +09:00
972d14611a
mcctrl: move prepare waitqueue to per-process data
2016-12-22 10:15:31 +09:00
6a5fe90f98
mcexec_get_cpuset(): save CPU set and IKC target cpu in per-process data
2016-12-18 21:12:37 +09:00
052b3f44ca
mcexec: -n: topology aware partitioned execution
2016-12-10 16:27:57 +09:00
3e093f6a40
sysfs: fix /sys/devices/system/node/online value
2016-11-03 16:10:29 +09:00
f1af1ffb8f
NUMA: expose correct NUMA distances in sysfs
2016-10-27 14:29:15 +09:00
60b6713957
IKC2: eliminate unused structures/fields of old IKC code
2016-10-24 15:41:27 +09:00
ebcf9a0d6d
mcctrl: fix a bunch of -Wframe-larger-than warnings
2016-10-21 04:54:38 -04:00
b068fde9cd
NUMA: use IHK CPU and NUMA mappings for sysfs entries
2016-10-14 21:34:31 +09:00
673deadf37
fix syscall return type
2016-09-12 15:40:06 +09:00
c897a56c34
__notify_syscall_requester(): use CAS or IKC to notify syscall completion
2016-08-16 08:56:05 +09:00
6ff2d4abe7
mcctrl: store per-process data in hash table
2016-08-15 13:47:57 +09:00
45e51fcc07
mcctrl: fix padding for 128bytes SCD message
2016-08-14 11:29:02 +09:00
e3c7c9b890
mcctrl: separate waiting threads and pending requests
2016-08-12 21:52:13 +09:00
d7bc947a02
mcctrl: redesign mcctrl_channels for IKC packet based syscall offloading
2016-08-09 16:49:42 +09:00
fb84d4ef11
mcctrl: thread pool based system call offload handling
2016-08-08 19:43:05 +09:00
76981bcc18
mcctrl: move procfs TID processing into dedicated work queue
2016-08-04 15:22:40 +09:00
1bb948f43b
hwloc support
2016-04-11 22:25:27 +09:00
41bb2ab5e6
support vdso which borrows clocksource from linux
2016-03-28 22:57:44 +09:00
7fac03d4de
sysfs: support /sys/devices/system/cpu/offline,online,possible,present
2016-03-04 13:48:06 +09:00
863a5c5e5f
fix REQ-2, REQ-6, REQ-8
2016-02-23 16:32:17 +09:00
a866192db7
refactoring /proc
2016-02-10 08:11:02 +09:00
1ffe740153
sysfs sample
2016-01-26 18:08:25 +09:00
72968d613e
support sysfs interface for mcctrl
2016-01-26 18:08:25 +09:00
914faf042d
add missing kfree() for channel lookup table
2016-01-06 21:12:57 +09:00
8cb72df663
support McKernel's sysfs tree
2015-12-16 13:42:30 +09:00
12eb8a9bb0
mcctrl: move mcctrl to executer/kernel/mcctrl
2015-11-24 15:42:04 +09:00