Masamichi Takagi
6c0bb9e576
HFI1: Range-check proc->fd_priv_table[]
...
sockioctl01.c in LTP calls ioctl(1025, ...) and causes kernel page-fault without
the range-check.
Change-Id: I4117783e20107f274c0857b09745f12a5cc5ce2f
2018-06-13 00:31:44 +09:00
Balazs Gerofi
09f63483cc
OFP: temporary ANON mmap() rewrite
2018-06-13 00:31:43 +09:00
Balazs Gerofi
fcc8310454
HFI1: track receive TIDs in a tree
2018-06-13 00:31:40 +09:00
Balazs Gerofi
96b8b30516
MM: facility for deferred munmap()
...
Conflicts:
kernel/process.c
2018-06-13 00:31:40 +09:00
Balazs Gerofi
521e0dc707
HFI1: add a bunch of fields to hfi1_devdata and hfi1_filedata for receive TID handling, do necessary mappings in hfi1_map_device_addresses()
2018-06-13 00:31:40 +09:00
Balazs Gerofi
2900ce20f7
HFI1: hfi1_unmap_device_addresses() at process terminate time
2018-06-13 00:31:39 +09:00
Balazs Gerofi
122588bc4d
mcexec: --enable-hfi1 to runtime enable/disable HFI1 driver
...
Conflicts:
executer/user/mcexec.c
2018-06-13 00:31:34 +09:00
Balazs Gerofi
62e438a0aa
HFI1: do device ioremap() mappings in per-process fashion
2018-06-13 00:31:32 +09:00
Aram Santogidis
8a1d756cb1
Added private_data structure in process
...
Conflicts:
executer/user/mcexec.c
kernel/include/process.h
kernel/process.c
2018-06-13 00:31:28 +09:00
Dominique Martinet
42bbf5f2a4
process/vm: implement access_ok()
2018-06-13 00:31:27 +09:00
Balazs Gerofi
e29a40331d
partitioned execution: pass process rank to LWK
...
Cherry-pick of d2d134d5e6a4b16a34d55d31b14614a2a91ecf47
Conflicts:
kernel/include/process.h
2018-06-13 00:31:27 +09:00
Dominique Martinet
c52f7a5b49
syscall wait4: add _WALL (POSTK_DEBUG_ARCH_DEP_44)
...
Needed by strace -f
2018-05-11 09:22:54 +09:00
Masamichi Takagi
fe42481d6f
Add allow_oversubscribe kernel argument
...
It's not allowed in the default setting.
Execute mcreboot.sh with -O option to allow it.
refs #1072
2018-03-10 13:08:38 +09:00
Masamichi Takagi
65667709a8
Fix thread status race-condition caused by hold_thread() in do_kill() and terminate()
...
Conflicts:
arch/x86_64/kernel/syscall.c
kernel/syscall.c
2018-03-09 17:53:17 +09:00
Ken Sato
c260b5c6f3
xpmem: support for fork()
...
refs #925
2018-02-22 09:37:48 +09:00
Tomoki Shirasawa
4bb65494e9
signal: When the process receives a termination signal, it first terminates mcexec.
...
refs #863
refs #870
2018-01-23 14:40:38 +09:00
Tomoki Shirasawa
2f2b3cdc6f
signal: interrupt_syscall is called by the core executing the thread that recieved the signal.
...
refs #999
2018-01-23 14:31:04 +09:00
Balazs Gerofi
589504dc33
mcreboot: -h to indicate halting CPU in idle threads (e.g., in futex_wait())
2017-12-18 11:22:15 +09:00
Katsuya Horigome
d649d6fc2d
Include mbind support (this is a rebase commit to merge into development)
2017-11-27 11:16:53 +09:00
Ken Sato
12840601e1
support PERF_TYPE_{HARDWARE|HW_CACHE} in perf_event_open
...
refs #829
2017-10-20 23:10:20 +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
Dominique Martinet
4d4279121b
process/vm; replace vm_range list by a rbtree
...
This replaces the chained list used to keep track of all memory ranges
of a process by a standard rbtree (no need of interval tree here
because there is no overlap)
Accesses that were done directly through vm_range_list before were
replaced by lookup_process_memory_range, even full list scan (e.g.
coredump).
The full scans will thus be less efficient because calls to rb_next()
will not be inlined, but these are rarer calls that can probably afford
this compared to code simplicity.
The only reference to the actual backing structure left outside of
process.c is a call to rb_erase in xpmem_free_process_memory_range.
v2: fix lookup_process_memory_range with small start address
v3: make vm_range_insert error out properly
Panic does not lead to easy debug, all error paths
are handled to just return someting on error
v4: fix lookup_process_memory_range (again)
That optimistically going left was a more serious bug than just
last iteration, we could just pass by a match and continue down
the tree if the match was not a leaf.
v5: some users actually needed leftmost match, so restore behavior
without the breakage (hopefully)
2017-10-13 10:00:27 +09:00
Tomoki Shirasawa
99da5b6484
ptrace: unify flags PT_TRACE_SYSCALL_ENTER and PT_TRACE_SYSCALL_EXIT to PT_TRACE_SYSCALL
...
refs #961
2017-10-11 15:43:57 +09:00
Tomoki Shirasawa
a2fbe99b60
madvise: support MADV_DONTDUMP/DODUMP
...
refs #661
2017-09-26 14:21:40 +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
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
Balazs Gerofi
992a292c08
profile: better time breakdown and exclusion of idle cycles
2017-07-20 17:36:34 +09:00
Tomoki Shirasawa
07efb3ab9a
support to utility thread offloading
2017-06-27 13:27:09 +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
0dd2fad33b
brk(): more forceful heap extension
2017-05-23 19:57:08 +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
e2f424846c
profile: rewrite syscall tracker for generic profiling code
2017-05-23 02:42:05 +09:00
Balazs Gerofi
610463ff39
sched_setaffinity(): respect process cpu_set
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
Balazs Gerofi
fdbdcbd0ee
VR_AP_USER: memory range flag to respect user mempolicy (e.g., in PF handler)
2017-05-23 02:39:41 +09:00
Ken Sato
e6c4d7731d
Merge remote-tracking branch 'origin/rusage'
...
Conflicts:
configure
kernel/process.c
2017-04-27 15:10:38 +09:00
Yoichi Umezawa
c38d536aaa
xpmem: porting xpmem v2.6.3
...
implement xpmem_get, xpmem_release, xpmem_attach, xpmem_detach
2017-03-29 18:20:53 +09:00
Katsukura
3fe2257929
create rusage branch.
2017-03-15 23:22:51 +09:00
Balazs Gerofi
addbe91e59
do_migrate(): signal migrated thread before releasing runq lock
2017-01-30 07:24:09 +09:00
Balazs Gerofi
5cc420a6c3
syscall/offload tracker: clean-up and support process-wise aggregation
2017-01-30 07:24:09 +09:00
Balazs Gerofi
bd47b909bf
futex(): spin wait when CPU not oversubscribed and fix lost wake-up bug
2017-01-13 08:43:25 +09:00
Balazs Gerofi
ec75095073
add_process_memory_range(): optionally return range object
2016-12-30 15:51:17 +09:00
Balazs Gerofi
f81927b85b
Revert "brk(): larger allocation units internally"
...
This reverts commit c58ab0f648 .
2016-12-20 11:11:09 +09:00
Balazs Gerofi
c58ab0f648
brk(): larger allocation units internally
2016-12-18 21:12:37 +09:00
Balazs Gerofi
fdcf766337
prepare_process(): pass cpu_set in program_load_desc
2016-12-09 16:32:20 +09:00
Balazs Gerofi
7d13bfb14e
set_mempolicy(): limit maxnode to PROCESS_NUMA_MASK_BITS
2016-12-08 21:05:10 +09:00
Balazs Gerofi
a8c4ab221b
use MCS locks in signal handling code
2016-12-05 18:10:20 +09:00
Balazs Gerofi
f78d031e64
syscall and offload tracking (disabled by default)
2016-12-05 18:10:20 +09:00