511555c8cb
fix: /proc/<PID>/maps outputs a unnecessary NULL character
2018-05-30 16:38:28 +09:00
54169bc3ea
procfs: indicate heap in /proc/maps
2018-01-26 16:22:43 +09:00
142e923222
procfs: indicate VDSO, vsyscall and stack in /proc/maps
2018-01-26 16:02:32 +09:00
0cda763f95
fix /proc/*/pagemap
...
refs #387
2017-12-25 16:08:51 +09:00
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
43db8e2d65
remove osnum from mckernel kargs. refs #338
2017-09-12 14:53:44 +09:00
4eed36f124
procfs: support /proc/pid/status State field
...
refs #445
2017-09-12 13:37:27 +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
8daffa939e
IKC: distribute IKC-interrupt to Linux cpus.
2017-05-19 10:26:29 +09:00
3fe2257929
create rusage branch.
2017-03-15 23:22:51 +09:00
40978d162e
procfs_read/write(): rewrite synchronization for scalability and correctness
2016-12-28 14:17:17 +09:00
536ce9f927
process_procfs_request(): use IRQ save MCS locks while iterating thread list to avoid deadlock
2016-12-28 12:29:10 +09:00
1130cafe41
ptrace: fixed for threads.
2016-11-28 11:19:30 +09:00
f634a750c5
sched_{set/get}affinity(): fix error codes (also fixes KMP_AFFINITY behavior)
2016-11-24 21:25:16 +09:00
994b9a19ac
NUMA: expose CPU and memory info in /proc/self/status
2016-10-14 21:34:32 +09:00
57690479bd
read/patch_process_vm(): map non-LWK physical addresses properly
2016-07-22 20:48:54 +09:00
e74eb1dd51
add some prototypes to <memory.h>
2016-03-23 19:04:32 +09:00
e2b28da32f
signal handler support gdb stepi command
2016-02-21 14:55:34 +09:00
8c40f94aa8
/proc/<PID>/mem: support read/write
2016-02-16 13:21:29 +09:00
c328d26b8d
procfs(/proc/<PID>/task/<TID>/stat): fix memory corruption
...
refs #722
2016-02-15 15:10:00 +09:00
a866192db7
refactoring /proc
2016-02-10 08:11:02 +09:00
e601248bdc
procfs: fix mcos%d/PID/auxv size
2016-02-08 09:38:27 +09:00
fa7a5ccd11
support /proc/self/exe (needed for GDB to attach to an existing process)
2016-01-19 18:23:02 +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
63669b7f71
support /proc/pid/status for LTP mmap14
2015-03-28 14:20:07 +09:00
6a82412d64
modify procfs to read inactive thread's files
...
However, the following files can be read only if the corresponding
thread is in active.
- /proc/<PID>/mem
- /proc/<PID>/task/<TID>/mem
refs #371
2015-03-05 21:41:24 +09:00
f84b5acf79
map entire buffer to read procfs
...
Reading data from procfs file more than 4096 byte caused a buffer
overrun in McKernel because the buffer was always mapped in McKernel
4096 byte regardless of actual buffer size.
2015-03-05 20:30:33 +09:00
daec7de828
implement /proc/stat
...
only for sysconf(_SC_NPROCESSORS_ONLN). This enables Intel OpenMP
runtime to arrange threads with regard for CPU topology.
refs #291
2015-03-04 15:46:53 +09:00
d4ba4dc8b3
introduction of mckernel_procfs_file_operations; fix /proc/self path resolution;
...
implementation of /proc/self/pagemap (LTP mmap12)
2014-12-15 12:46:05 +09:00
3c24315f91
support for /proc/mcos%d/PID/maps (without file info) (LTP mlock03)
2014-12-05 16:29:20 +09:00
3fe7e39607
some variables definition are gathered to fork_tree_node from process.
...
- remove both-defined: pid, pgid, status
- move to fork_tree_node: tid
- make dummy fork_tree_node for idle_process.
2014-10-29 16:54:09 +09:00
6415559a81
procfs: use current cpu's syscall_channel
2014-10-10 16:20:38 +09:00
a7b0880a8d
Make findthread_and_lock take ihk_spinlock_t **
2014-09-23 12:03:48 +09:00
43e54dcf85
procfs: fix for http://postpeta.pccluster.org/redmine/issues/119#note-30
2014-09-22 10:46:33 +09:00
d7436652bf
procfs: add support for <pid>/mem files and ad hoc fix for memory incoherency.
2014-09-17 15:49:47 +09:00
878ba35804
/proc/mcos?/<pid>/task/<tid>/stat support
2014-09-15 19:21:27 +09:00
95781d59e3
Fix for eof.
2014-09-05 17:15:54 +09:00
a06e5eb47e
Bug fixes.
2014-09-05 16:20:15 +09:00
0f95a84293
Migrated.
2014-09-04 14:58:04 +09:00
319590910a
Almost implemented.
2014-09-03 15:20:39 +09:00
3293bfaa1e
Fix for generalization.
2014-08-28 14:41:32 +09:00
cb4b00ba97
Added debug messages.
2014-08-28 09:16:50 +09:00
c783ec8e11
Implemented procfs.
2014-08-28 09:16:50 +09:00