eba2131f34
clv: Change no_preempt from int to ihk_atomic_t.
...
Fix the issue where the value of no_preempt gets unexpected value
(-1, 1, 2 etc.) after process ends when running the UTI tests.
Change-Id: I7d9c08b754a171ea3fdec20ab2e635df3b607cbd
2021-03-04 03:40:15 +00:00
71c333965c
mcexec: introduction of --flags argument
...
Change-Id: If5b70bf06460fc709444d8135511c3699304d31f
2021-03-04 11:29:21 +09:00
47aec70f5f
shmobj: support large page
...
Change-Id: I104c1b8551b87f5cbfedb13262e77c00c38e9643
2021-03-03 05:07:49 +00:00
d2db639853
xpmem: support large page
...
1. try to use as large page as possible on attach
2. pre-map resident remote pages on attach
Change-Id: I5580682a4199e94085a9bad9ce3958a0f14cdcea
2021-03-03 05:07:49 +00:00
3aaa5350f0
xpmem: replace mcs_rwlock with ihk_rwspinlock
...
Change-Id: I2d29f37f590f55db009f522395ede4c6494f8c89
2021-03-03 05:07:49 +00:00
5dd989450d
xpmem: Make sure vm_range is used under memory_range_lock
...
Change-Id: I856ee9d401e7dcfd74559bad5b22a69d53a61e2f
2021-03-03 05:07:49 +00:00
422a399f20
coredump: fix behavior when gencore fail
...
Change-Id: Ifdddf867b514f42a6f1ce374ec06b7550a9cdad5
Refs: #1511
2021-03-03 02:27:01 +00:00
7efb394905
remote_page_fault is handled by the offloaded thread.
...
Change-Id: I9cfad509260cceada74abdf39ca6a1822561e0d9
Refs: #1474
2021-03-03 02:25:56 +00:00
19cb302d5f
uti: util_indicate_clone: check --enable-uti mcexec option
...
Change-Id: Ic7474d01c18acd1edbc07844d7a7b010b2175f71
2021-02-26 10:37:56 +09:00
e3927a0b95
uti: futex: McKernel waker sends IPI to Linux waiter CPU
...
Change-Id: I6f725b3a6b1b26b9f553d8c58132c0c0a4416683
2021-02-26 10:24:19 +09:00
a9973e913d
uti: futex call function in mcctrl
...
Previously, futex code of McKerenl was called by mccontrol,
but there ware some problems with this method.
(Mainly, location of McKernel image on memory)
Call futex code in mcctrl instead of the one in McKernel image,
giving the following benefits:
1. Not relying on shared kernel virtual address space with Linux any more
2. The cpu id store / retrieve is not needed and resulting in the code
Change-Id: Ic40929b64a655b270c435859fa287fedb713ee5c
refe: #1428
2021-02-26 10:24:19 +09:00
b0bd1feefb
remap_file_pages: check file mapping
...
Change-Id: Ibf145a20181938a9825214253337a423fcd53064
Refs: #1521
2021-02-19 02:23:39 +00:00
e6e66e0392
shmget: make small free numbers reusable.
...
Change-Id: Ic6670214fa31a309e96794361e3ec2dcc6375f4a
Refs: #1531
2021-02-19 02:22:50 +00:00
aef50d710c
mempolicy: Support MPOL_INTERLEAVE
...
Change-Id: I6357892d792b2de8ea859a0a6799250f05066713
Refs: #959
2021-02-18 06:16:17 +00:00
11b9fe0377
page_fault_handler: fix missing increment of in_page_fault on SEGV
...
This integrates some of the changes of the following commit:
1cf0bd5a ("TO RESET: add debug instruments, map Linux areas for tofu")
Change-Id: Iffd8432d5a7b35f20bd45829a125583a0363dbf0
2021-02-09 00:56:15 -05:00
bf926f234a
Tofu: manage stag ranges in VM range split and misc cleanup
...
Conflicts:
kernel/process.c
Change-Id: I480850fe93a7963a5bd4d1687fb1e5c43f58057f
2021-01-19 00:55:20 +00:00
d726bd3d11
profile: fix definition of PROFILE_ENABLE and __NR_profile
...
Change-Id: I3f9f5870f8380d3668e1ccb06fd0f6d3307e3fa4
2021-01-06 01:03:17 +00:00
0b82c8942b
Tofu: keep track of stags per memory range
...
Change-Id: I033beaeee3b141dab4485dd3a2a3848eaa84e54e
2020-12-29 16:31:40 +09:00
1cf0bd5a78
TO RESET: add debug instruments, map Linux areas for tofu
...
Change-Id: I09880cad3b87182cb663d414041254817c254759
2020-12-29 16:31:39 +09:00
3949ab65a8
TO RESET: Add kernel argument to toggle on-demand paging for hugetlbfs map
...
Change-Id: Id748e0a2afc4ea59142fedb652a15b4007c5dee4
2020-12-29 16:31:33 +09:00
530110e3a9
Tofu: fix ENABLE_TOFU switching
...
Change-Id: Ib33323d4b59ea8fb4f5f40dff7ea25a36773d5e2
2020-12-24 15:00:14 +09:00
33dd2e60b1
mcexec: memory policy control by environmental variable
...
Refs: #1470
Change-Id: I3d556cae90d31d81572b1c4e5c680e826577d428
2020-12-24 11:18:01 +09:00
e5f4a4e87d
Tofu: proper cleanup of device files when mcexec gets killed
...
Change-Id: I6cb0290f72d96682700f945b29585e132e525ac1
2020-12-09 13:05:54 +09:00
1918df7765
Tofu: support for barrier gate, kmalloc cache
...
Change-Id: I6f4cfec2ec404efd03b332fc3f449a775816230e
2020-12-09 13:05:54 +09:00
10c09aa10e
MM: generic lockless kmalloc and page cache
...
Change-Id: I71ad498fdd10136d9c72ffe2b16b9122d1bc9673
2020-12-09 13:05:53 +09:00
41f5c0bdde
MM: deferred zero cleaning on Linux CPUs
...
Change-Id: Icdb8ac807688533be7a95b7101edfd904250cd02
2020-12-09 13:05:53 +09:00
623d6f8bc3
arm64: record register state at kernel mode page fault (for eclair)
...
Change-Id: I066bceecc0377110faaca0b21d45a476d000e684
2020-12-09 13:05:53 +09:00
92902d36fc
Tofu: initial version
...
Change-Id: I9c464d5af883c18715a97ca9e9981cf73b260f90
2020-12-09 13:03:01 +09:00
fe83deb3db
profile: make header user-space includable
...
Change-Id: I4a88d9be7c169f29ef6f6328e8576a3fe3b6e34f
2020-12-08 12:32:10 +09:00
201f5ce500
MM: straight mapping
...
Change-Id: I70871f8c382fb00aa719ed501cc5de436d916d7f
2020-12-08 12:32:10 +09:00
d7cf39883f
Revert "shmobj: Support large page"
...
This reverts commit 9a60997ea0 .
Change-Id: Id60959b4e03451987239faa0bbc2e780b72fafaa
2020-07-19 12:53:45 +00:00
9a60997ea0
shmobj: Support large page
...
Mixing page sizes is allowed by shmobj.
Change-Id: Ic48b71da2db6ce3f68fa3dbc8ad5ae96347d6018
Refs: #1381
Refs: #1458
2020-07-15 03:50:56 +00:00
58106d791a
struct process: fix type of group_exit_status
...
Change-Id: Ib8492cbb077106cef1d0fa2d6d5e8e13bbb209c0
Refs: #1377
2020-07-13 08:33:07 +00:00
bafe540d86
mmap: allow unlimited overcommit
...
Change-Id: Iba07b5c504b4a202cd163ce682f3fc72a31284a0
2020-07-10 14:52:57 +09:00
d78a0fd05d
sysinfo: support basic entries
...
Change-Id: I27f3e55058cc29f895831a1dddfafbc8585746a5
refs: #1389
2020-07-10 14:51:25 +09:00
999bc91b4f
arch: Move some functions from arch-dependent to common part
...
Moved syscall rt_sigaction and functions related to signal.
Change-Id: I39f619e008d9c6018d91099a76dfb30e48757673
Refs: 1487
2020-07-10 03:54:28 +00:00
cbe2b2149d
Revert "sysinfo, procfs: Support memory info partially"
...
This reverts commit 8f74888f87 .
Change-Id: I65530dd8a4e1af2ca47cb02c02f5c54a9b4595a5
2020-06-16 13:26:54 +09:00
3328ce03d9
Record pthread routine address in clone(), keep helper threads on caller CPU core (workaround for Fugaku)
...
Change-Id: I29d1589e430dc1396558cdf3df4d068c27173612
2020-06-16 13:26:53 +09:00
6332903f0d
Revert "xpmem: Support large page attachment"
...
This reverts commit a8696d811d .
Conflicts:
kernel/include/process.h
kernel/syscall.c
kernel/xpmem.c
Change-Id: I726e74450f6228d3fc78fc62dda15b2067732a53
2020-06-16 13:25:57 +09:00
e774e1b984
Revert "xpmem: fix mapping of attachment and segment"
...
This reverts commit a5fcc91656 .
Change-Id: If29415369d724391b291939ecce76482138e82f5
2020-06-16 11:28:02 +09:00
a5fcc91656
xpmem: fix mapping of attachment and segment
...
* Mapping attached part of segment is done at attach time instead of
make time to work with runtimes (e.g. OpenMPI) xpmem_make-ing the
entire user-space
* Mapping attached part of segment at attach time can be turned off by
specifying xpmem_remote_on_demand in kernel argument
* Mapping attachment chooses appropriate page-sizes, i.e., largest
allowed by memory range and segment page boundary
Fixes: a8696d8 "xpmem: Support large page attachment"
Change-Id: I44663865204036520e5f62fe22b9134ee4629f9b
2020-06-15 10:11:29 +09:00
eac414d6d8
CPU read/write reg: use generic IHK messaging interface
...
Change-Id: Ia9637d1516d9329fdadf37822bfce7594d69105f
2020-06-15 10:11:28 +09:00
91146acfe5
Make struct ihk_os_rusage compatible with mckernel_rusage (workaround for Fugaku)
...
Change-Id: Iebae1e8b0aaf9c23cb1c9411aa1ad111b2e61028
2020-06-15 10:10:57 +09:00
1afc3d9b70
Keep track of number of context switches per CPU
...
Change-Id: I7a2194c8777a7efcd34e1ed7f4734da03fb4d433
2020-06-13 17:18:10 +09:00
6aa7b50e26
profile: refactor display code and fix ARM support
...
Change-Id: Ic48102c42abe17eed014f2bfe7523d0d6f03c2e9
2020-06-13 17:18:08 +09:00
d5aafca1ae
VM: use RW spinlock for vm_range_lock
...
Change-Id: Id4654084207d55bf77cc9f8b42795e0f9873cfa0
2020-06-12 03:07:33 +00:00
2e2e973d78
hugefileobj: rewrite page allocation/handling
...
* manage pages by an array
* fix mmap of fd created by memfd_create() populates the map
* refactor pgsize and pgshift handling
Change-Id: Icaf015b10afc35f2b95f93059adf1a1b6b92e14e
refs: #1475
2020-05-19 23:36:25 -04:00
8f74888f87
sysinfo, procfs: Support memory info partially
...
Change-Id: I597dae4f82d64d3f23889cef960db18ae879ff06
refs: #1389
2020-05-14 00:53:25 +00:00
3300e65efc
madvise: Support MADV_WIPEONFORK, MADV_KEEPONFORK and MADV_NORMAL
...
Change-Id: I1d4cf5affa580d7304dfdc34fa4f1707c0df617c
refs: #1374
2020-03-23 09:13:01 +09:00
9e2196c9ce
fix: memory leak due to forced termination during startup
...
Change-Id: Ide519f01702bfd17ae4576e04806b6d155ae846a
refs: #1397
2020-03-09 01:10:38 +00:00