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
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
9a5d5feb9c
time(): Split into architecture dependent functions
...
This fixes the bug reported as POSTK_ARCH_DEP_13 and POSTK_DEBUG_ARCH_DEP_13.
2017-12-23 11:36:52 +09:00
d649d6fc2d
Include mbind support (this is a rebase commit to merge into development)
2017-11-27 11:16:53 +09:00
08a625cc0d
modify:User space memory access
...
perf_event_open,futex,process_vm_readv,process_vm_writev,move_pages
2017-10-23 20:27:56 +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
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
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
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
07efb3ab9a
support to utility thread offloading
2017-06-27 13:27:09 +09:00
edf059888d
support rusage parameter of wait4
...
refs #857
2017-05-28 07:52:47 +09:00
9b5ccb5a33
Pre-map file mappings from /dev/shm (--mpol-shm-premap mcexec argument)
2017-05-23 20:00:06 +09:00
e901d42fb6
mcexec: --extend-heap-by: argument to specify heap extension size
2017-05-23 19:58:49 +09:00
e3e0f6a174
mcexec: introduction of --profile
2017-05-23 02:42:06 +09:00
9c25d47d9b
mcexec: transfer job information to LWK
2017-05-23 02:42:06 +09:00
26b9484bae
mcexec: --mpol-threshold to control MPOL_BIND/MPOL_PREFERRED
2017-05-23 02:39:42 +09:00
182202523e
mcexec/mm: user memory policy control for heap, stack, etc.
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
3fe2257929
create rusage branch.
2017-03-15 23:22:51 +09:00
865ada46bf
IKC2: eliminate unused IKC structures
2017-01-13 08:43:25 +09:00
f410af1cfc
xpmem: porting xpmem v2.6.3
...
implement xpmem_make, xpmem_remove
2016-12-16 17:00:09 +09:00
fdcf766337
prepare_process(): pass cpu_set in program_load_desc
2016-12-09 16:32:20 +09:00
ebcf9a0d6d
mcctrl: fix a bunch of -Wframe-larger-than warnings
2016-10-21 04:54:38 -04:00
c897a56c34
__notify_syscall_requester(): use CAS or IKC to notify syscall completion
2016-08-16 08:56:05 +09:00
5e9957da0f
syscall_response: introduction of req_thread_status field
2016-08-16 08:53:41 +09:00
45e51fcc07
mcctrl: fix padding for 128bytes SCD message
2016-08-14 11:29:02 +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
e2e0fad849
arch_clear_host_user_space: set zero to args[2]
...
to avoid duplicated per_proc_list entry.
2016-04-21 23:22:54 +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
31595b7409
fix REQ-43
2016-03-25 12:57:31 +09:00
d65135c040
move sys_shmget() into arch-dependent code
2016-03-23 19:14:27 +09:00
81690c5b5a
mmap: cosmetic changes
2016-03-23 19:04:32 +09:00
dbc778e4fa
support getrusage (work in progress)
2016-03-07 17:06:44 +09:00
eba2be8a35
support times
2016-02-18 13:14:18 +09:00
a866192db7
refactoring /proc
2016-02-10 08:11:02 +09:00
8cb72df663
support McKernel's sysfs tree
2015-12-16 13:42:30 +09:00
bb81f84709
support PIE executable for PVAS
2015-12-14 11:05:28 +09:00
26492a2895
vsyscall_gettimeofday: make timeval from TSC
2015-11-11 19:45:14 +09:00
1a5ff7f535
gettimeofday: gather variables into new struct
2015-11-11 18:31:33 +09:00
153a59a6f4
gettimeofday: avoid per-cpu data in calculation
...
Because it is difficult to safely update per-cpu data of other cpus in
settimeofday().
2015-10-27 19:21:50 +09:00
04e193de13
refactoring process structures
2015-10-13 23:04:08 +09:00
59ee251e1c
fix /proc/pid/mem, /proc/pid/status, /proc/pid/cmdline
2015-07-02 00:22:35 +09:00
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
8934eb91a4
kill syscall check uid
2015-03-17 15:04:36 +09:00
f35cc66d18
delete unused argument "ctx" from do_syscall
...
support waitid option "WNOWAIT"
2015-02-23 17:14:14 +09:00