Balazs Gerofi
bc4629dfb0
ARM: fix performance counters allocation
...
Change-Id: Ie6c8beacf268462064f59b063d9c7b635c906dc4
2019-06-05 14:31:43 +09:00
Balazs Gerofi
bdccbf7356
MCS: fix ARM64 issue by using smp_XXX() functions (i.e., barrier()s)
...
Change-Id: I41470c082308c7c1ac91f88db2229958398d2e68
2019-04-10 20:26:13 +09:00
Balazs Gerofi
3fda54ece8
IHK: support for using Linux work IRQ as IKC interrupt (optional)
...
Change-Id: I2a0e59a47c229fd9271866199c3c4d30e1ddd7f9
2019-04-09 01:52:49 +00:00
Masamichi Takagi
9b6a88eeeb
x86_64: Move arch-specific interrupt vector number to arch-dependent code
...
Change-Id: Ie3cc631ec351503a619b019432388a827d75334c
Fujitsu: POSTK_DEBUG_ARCH_DEP_75
2019-04-08 01:48:07 +00:00
Balazs Gerofi
e5c1fdf129
MCS lock: make implementation arch independent
...
Change-Id: Ie5b2182555bbe1a11a005988db069d4b38f85401
2019-03-18 09:53:30 +00:00
Dominique Martinet
9ec0aeeab5
debug.h: merge both instances into ihk/debug.h
...
We do not need two debug.h files.
Take Fujitsu's STATIC_ASSERT over BUILD_BUG_ON because it is more used
Change-Id: If04c17fbb7406ab15fe86267fed8d6da460cec62
Fujitsu: POSTK_DEBUG_ARCH_DEP_9
2019-03-01 05:10:35 +00:00
Dominique Martinet
34a995d290
perfctr_stop: add flags to no 'disable_intens'
...
The original fujitsu code added a whole new ihk_mc_perfctr_stop_first
function, duplicating a lot of code - add a flag to existing function
instead.
Change-Id: Ic9ce0236d68f967ff72cf88e5d9f1bda5c98aa1b
Fujitsu: POSTK_DEBUG_ARCH_DEP_107
2019-02-12 05:18:22 +00:00
Dominique Martinet
516ab87ab9
Copyrights: fujitsu 2018 bump
...
Separate copyright bumps in a different commit.
A lot of files only had the copyright change at this point; these
were probably changes I added separatly in other patches but just
split these in a different commit instead to simplify git stats
Change-Id: I93cf3fc1c0fa04ee743a79c3fe9768933e6bd0d2
2019-02-01 13:18:52 +09:00
Dominique Martinet
206df33658
perfctr: remove ihk_mc_perfctr_fixed_init from api
...
ihk_mc_perfctr_fixed_init is only used on x86
Change-Id: I6f25d4237d45b4455ccdaae03b850dd9e8edcc57
Fujitsu: POSTK_DEBUG_TEMP_FIX_31
2019-02-01 13:17:52 +09:00
Dominique Martinet
238f563e88
perf: add arch-dependent counter_mask_check function
...
A later version would probably want to check some mask for arm64...
Change-Id: I67e13a852c3ed406fbf8ae1688539b9e069c0e81
Fujitsu: POSTK_DEBUG_ARCH_DEP_87
2019-02-01 13:16:28 +09:00
Dominique Martinet
03cadbcba2
perf: add arch-dependent get_num_counters function
...
Change-Id: I2230af87e0c764d97115e833dccb1842946c1b94
Fujitsu: POSTK_DEBUG_ARCH_DEP_109
2019-02-01 13:16:28 +09:00
TOIDA,Suguru
c319fe08a4
ContiguousPTE[7/12] modify ihk_mc_pt_set_range
...
Change-Id: Ib38530ce64a01f21107e0a6a73de7c54f214eb5a
2018-12-07 08:12:44 +00:00
Masamichi Takagi
fb98664f49
clone_thread: Add arch_clone_thread()
...
Fujitsu: POSTK_DEBUG_ARCH_DEP_23
Refs: #969
Change-Id: Ic15765b8c9e956c95fc50b333b01464d87450d3c
2018-11-21 07:10:01 +00:00
Dominique Martinet
3e3ccf377c
compiler.h: add READ_ONCE/WRITE_ONCE macro
...
These macros are needed to make sure the compiler does not optimize away
atomic constructs such as "while (!READ_ONCE(foo))" loops that do not
modify foo within the loop
Also move the barrier() define where it belongs while we are here, it is
needed for READ_ONCE/WRITE_ONCE and including ihk/cpu.h here causes
include loops
Change-Id: Ia533a849ed674719ccbc0495be47d22a3c47b8f8
2018-10-11 08:54:13 +00:00
Masamichi Takagi
52afbbbc98
uti: Call into McKernel futex()
...
(1) Masquerade clv
(2) Fix timeout
(3) Let mcexec thread with the same tid as McKernel thread migrating
to Linux handles the migration request
(4) Call create_tracer() before creating proxy related objects
Change-Id: I6b2689b70db49827f10aa7d5a4c581aa81319b55
2018-09-04 19:52:10 +09:00
Balazs Gerofi
4439b04d9f
ihk_mc_get_linux_kernel_pgt(): add declaration
...
Cherry-pick of caff967a442907dd75f8cd878b9f2ea7608c77b2
2018-09-04 19:51:10 +09:00
Ken Sato
d7416c6f79
perf_event: Specify counter by bit_mask on start/stop
...
Fujitsu: POSTK_DEBUG_TEMP_FIX_30
Refs: #1002
Change-Id: Iea51e9aef78927a5033e3a226d5efc6298da056a
2018-08-02 11:22:28 +09:00
Tomoki Shirasawa
67ebcca74d
Fix to VMAP virtual address leak
...
Fujitsu: POSTK_DEBUG_TEMP_FIX_51
Refs: #1024
Change-Id: I1692ee4f004cb4d1f725baf47a8ed31fce1bf42a
2018-07-26 02:17:55 +00:00
Dominique Martinet
0758f6254e
headers: declare void arguments for functions
...
Not giving any argument means that any argument is OK,
this is not what is meant here.
Change-Id: Ide651c1dec973d4b8709cf00646988f4c4f3acdd
2018-07-03 09:18:25 +00: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
Takayuki Okamoto
3bd0137c25
Fix some race condition on arm64
...
* move barrier() to architecture depended region
* add barrier() in issue_ipi, kprintf, map_virtual
* enable the workaround for cavium thunderx
2017-10-18 09:20:51 +09:00
Masamichi Takagi
1e89796d3e
Replace ihk_set_kmsg() with ihk_get_kmsg_buf()
2017-09-27 20:26:23 +09:00
Masamichi Takagi
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
Masamichi Takagi
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
Ken Sato
43db8e2d65
remove osnum from mckernel kargs. refs #338
2017-09-12 14:53:44 +09:00
Katsuya Horigome
a05b6e1ba8
Expand dump-functions for excluding user/unused memory (This is rebase commit for merging to development)
2017-09-11 15:49:04 +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
Masamichi Takagi
74f15783d2
ihk_os_getrusage(): Add per-page-size memory usage accounting
2017-08-17 12:49:34 +09:00
Balazs Gerofi
bf5ac7afc8
remote_flush_tlb_array_cpumask(): bundle remote TLB invalidations
2017-07-21 15:34:48 +09:00
Tomoki Shirasawa
d7b8e7f4f4
fix to count user pages
...
refs #864
2017-07-14 09:51:39 +09:00
Balazs Gerofi
0f58e9e77d
NUMA: expose correct /sys/devices/system/node/nodeX/meminfo
2017-07-07 00:59:32 +09:00
Masamichi Takagi
72e3f5ee50
ihk_mc_get_ikc_cpu(): Get IKC destination CPU
2017-07-11 20:20:40 +09:00
Balazs Gerofi
201a7e2595
Red-black tree based physical memory management
2017-07-08 18:26:51 +09:00
Balazs Gerofi
dd2ef89997
SMP: generic function call facility for CPU sets
2017-05-28 07:41:48 +09:00
Balazs Gerofi
ba7edf1981
move out local IRQ vector definitions to shared header
2017-05-28 07:36:21 +09:00
Balazs Gerofi
26b9484bae
mcexec: --mpol-threshold to control MPOL_BIND/MPOL_PREFERRED
2017-05-23 02:39:42 +09:00
Balazs Gerofi
afb7cb3a1e
BSS/data: demand paging for non-file section and respect user requested NUMA allocation policy
2017-05-23 02:39:41 +09:00
Katsukura
ba58054c9d
create rusage branch.
2017-05-19 10:30:36 +09:00
Ken Sato
d66af42f7b
Revert "IKC: separate IRQ between Master-channel and Regular-channel"
...
This reverts commit 3c98b9410966ceebe187ebae1038317b628fbb03.
2017-05-19 10:26:30 +09:00
Balazs Gerofi
4b964b8e0d
IKC: allocate Linux channel table dynamically
2017-05-19 10:26:30 +09:00
Ken Sato
65dc3440cb
IKC: separate IRQ between Master-channel and Regular-channel
2017-05-19 10:26:30 +09:00
Ken Sato
8daffa939e
IKC: distribute IKC-interrupt to Linux cpus.
2017-05-19 10:26:29 +09:00
Katsukura
94b527e027
modified: lib/include/ihk/rusage.h
2017-04-27 14:47:21 +09:00
Katsukura
3fe2257929
create rusage branch.
2017-03-15 23:22:51 +09:00
Masamichi Takagi
1076010de4
Boundary check in early_alloc_pages()
2017-03-04 17:21:57 +09:00
Balazs Gerofi
40d75baca2
ihk_mc_ap_flag: rewrite flag type, intro for denoting user level allocations
2016-12-30 19:19:34 +09:00
Balazs Gerofi
00f3fe0840
ihk_mc_alloc_aligned_pages_node(): support for explicit indication of target NUMA node
2016-12-30 19:03:59 +09:00
Balazs Gerofi
701cdcdab1
use MCS locks in physical memory allocator
2016-12-19 12:57:59 +09:00
Balazs Gerofi
df9f1f8f78
allocate_aligned_pages(): take user set NUMA policy into account
2016-12-13 17:51:39 +09:00