Masamichi Takagi
3e00189de0
kprintf: fix checking if interrupt is disabled
...
Change-Id: I2ee1a1e2438ae761c4136593953ede2738bc6f74
2021-03-11 07:03:04 +00:00
Yoshihisa Morizumi
47aec70f5f
shmobj: support large page
...
Change-Id: I104c1b8551b87f5cbfedb13262e77c00c38e9643
2021-03-03 05:07:49 +00:00
Ken Sato
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
Ken Sato
a0d446b27f
smp: make smp_call_func() arch independent
...
Change-Id: Ib60604ceb3274b173bd7f96cf57c8c35c1889e44
2021-02-18 06:16:17 +00:00
Ken Sato
9f1e6d707c
get_mempolicy: Support (MPOL_F_NODE | MPOL_F_ADDR) specified
...
If flags specifies both MPOL_F_NODE and MPOL_F_ADDR,
get_mempolicy() will return the node ID of the node on
which the address addr is allocated into the location pointed to by mode.
Change-Id: Id485e3f4838e3679d877a95e53b21e3421cac88a
2021-02-18 06:16:17 +00:00
Masamichi Takagi
4f7fd90300
TO RESET: lock: check if runq lock is held with IRQs disabled
...
Change-Id: I9a79ceaf9e399ad3695ed8959ca10c587591751a
2020-12-25 11:34:09 +09:00
Masamichi Takagi
8f2c8791bf
TO RESET: arm64: enable interrupt on panic
...
Change-Id: I1ceb321de324f307fc82366b162c72f64184247b
2020-12-24 17:18:37 +09:00
Balazs Gerofi
10b17e230c
TO RESET: physical memory: free memory consistency checker
...
Change-Id: I15aa59bb81be4d8f2acfe8d161c8255f70f9e7d3
2020-12-24 16:53:12 +09:00
Masamichi Takagi
530110e3a9
Tofu: fix ENABLE_TOFU switching
...
Change-Id: Ib33323d4b59ea8fb4f5f40dff7ea25a36773d5e2
2020-12-24 15:00:14 +09:00
Masamichi Takagi
33dd2e60b1
mcexec: memory policy control by environmental variable
...
Refs: #1470
Change-Id: I3d556cae90d31d81572b1c4e5c680e826577d428
2020-12-24 11:18:01 +09:00
Balazs Gerofi
10c09aa10e
MM: generic lockless kmalloc and page cache
...
Change-Id: I71ad498fdd10136d9c72ffe2b16b9122d1bc9673
2020-12-09 13:05:53 +09:00
Balazs Gerofi
41f5c0bdde
MM: deferred zero cleaning on Linux CPUs
...
Change-Id: Icdb8ac807688533be7a95b7101edfd904250cd02
2020-12-09 13:05:53 +09:00
Balazs Gerofi
92902d36fc
Tofu: initial version
...
Change-Id: I9c464d5af883c18715a97ca9e9981cf73b260f90
2020-12-09 13:03:01 +09:00
Masamichi Takagi
100bbe6231
MM: zero memory at free and deferred zero
...
Change-Id: Ib0055d6f2bdd10d05d749dcd1f3d5c3d318f22f3
2020-12-08 12:32:10 +09:00
Masamichi Takagi
d7cf39883f
Revert "shmobj: Support large page"
...
This reverts commit 9a60997ea0 .
Change-Id: Id60959b4e03451987239faa0bbc2e780b72fafaa
2020-07-19 12:53:45 +00:00
Ken Sato
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
Balazs Gerofi
54b529c82d
An arch independent RW spinlock implementation
...
Change-Id: I426d3f7b643660e6685b5c39c0ae849a9f08b9bb
2020-06-12 03:07:33 +00:00
TOIDA,Suguru
5719b4c64a
perf: update event structure
...
Change-Id: I5bc0fdd42db509b5d2daca7d97e29ad1f7d11f1a
2020-03-03 13:23:30 +09:00
TOIDA,Suguru
343121c3d0
perf: set event period
...
Change-Id: Ibf569de7af8697e766c10b8d70905b8cdc4df083
2020-03-03 13:23:30 +09:00
TOIDA,Suguru
86c45484e3
perf: add struct hw_perf_event
...
Change-Id: I0938e2b18064ad805a9edb6e15d26cf438bf0a59
2020-03-03 13:23:29 +09:00
TOIDA,Suguru
767792808a
perf: change count variable type to ihk_atomic64_t
...
Change-Id: I2bb6fab2c040683830b44fa6b963a86a233b883a
2020-03-03 13:23:29 +09:00
Balazs Gerofi
55faba77a5
dump: rewrite NMI handling (for resume) and fix PANIC register saving
...
Change-Id: I360e9aa8efa64b6ebd99b209a5dd4ee0dc7806cf
2020-02-10 07:45:01 +00:00
Ken Sato
309145587f
perf_event_open: Add support for counting REF_CPU_CYCLES
...
Using thread's tsc count instead of performance counter
Refs: #1025
Change-Id: I1d7a18f1c52f1d52087002d31818638a6b206014
2019-09-26 07:38:04 +00:00
TOIDA,Suguru
8e4073c2ca
freeze: allow interrupts in frozen state
...
Change-Id: I1d502f828ab9f9c0e1223d021979ac3dcf4d0c25
2019-09-26 02:13:23 +00:00
TOIDA,Suguru
ff982b8594
freeze: change freeze-thaw to normal interrupt
...
Change-Id: Ib4dbac28f0074595e92ef316945b37ef4bc18327
2019-09-26 02:13:23 +00:00
Masamichi Takagi
f0bc1a6b07
cmake: Add option for "mem: per-CPU allocator cache (ThunderX2 workaround)"
...
Change-Id: I7156cf433b2081246d1d9b8e4fde489609676ef1
2019-08-08 00:29:34 +00:00
TOIDA,Suguru
9c78d4d249
pmu: define event validation in architecture dependent code.
...
Change-Id: Ia053af146ba3c89810892271cae93def6d9fd7c8
2019-07-31 16:18:50 +09:00
TOIDA,Suguru
b945367c90
pmu: add ihk_mc_perfctr_value function
...
Change-Id: I88d25586dd470737a3eac4c3a4f1955ae6e41d64
2019-07-23 16:20:17 +09:00
TOIDA,Suguru
f8cad24a9a
pmu: move cpu cycle event type comparison to arch dependent code.
...
Change-Id: If069f8893fe59e3517569b74b3a27b5267ebac03
2019-07-23 16:20:16 +09:00
TOIDA,Suguru
2b6b3f31e5
pmu: remove pmc_{init|start|stop|reset} system call
...
Change-Id: I6eb65ed8c18558418c7aabfee75cd1974f4c03ff
2019-07-23 16:20:16 +09:00
TOIDA,Suguru
06af2d62c6
pmu: implement event mapping function.
...
Change-Id: Iac1ec99152b17a19dba0bf1a35f07724b8abc5a1
2019-07-18 16:39:18 +09:00
Balazs Gerofi
089b443aaf
mmap()/shmget(): use Linux default huge page size when not specified
...
Change-Id: I8a9e3bed65ac1902adfaeaa254597dd30f540319
2019-06-06 01:09:38 +00:00
Balazs Gerofi
bc4629dfb0
ARM: fix performance counters allocation
...
Change-Id: Ie6c8beacf268462064f59b063d9c7b635c906dc4
2019-06-05 14:31:43 +09:00
Balazs Gerofi
99fba2df1c
mem: per-CPU allocator cache (ThunderX2 workaround)
...
Change-Id: I7694524c5e9674a6f7bfcd911f8b0dbbead7df5a
2019-06-03 01:22:03 +00: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
Balazs Gerofi
0cf89c5682
Linux lockless linked list implementation
...
Change-Id: I8bd6ee989cecac269b55b3a0ff10cf8543629001
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
2f456b8752
cmake: Add ENABLE_UBSAN for -fsanitize=undefined
...
Change-Id: I73db5f904a7d86052aae62e67b01281763c83561
2019-02-14 16:44:09 +09:00
Dominique Martinet
bc2a444828
ubsan: fix undefined shifts
...
A signed integer cannot be shifted in a way that will flip the
sign bit; make such arguments unsigned to be safe
Change-Id: Iafc060f98f899ae3ffb876ba22fdd6183fbb6e57
2019-02-14 16:44:09 +09: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
fe08ac4a67
arm: turn off cpu on panic
...
Since interrupts are disabled on panic, linux cannot reset a
panic'd core when NMI are disabled (for e.g. mcreboot/mcstop)
Just always offline it, so linux can get it back
Change-Id: If8107172375f2924e02bd4c36e24645ec38a8999
2019-02-07 02:37:31 +00:00
Masamichi Takagi
4d215de641
Separate mmap area from program loading (relocation) area
...
We need to separate the two because the heap of a PIE is created in
the area to which it is mapped.
Related commits:
b1309a5d : PIE is mapped at map_end instead of at
user_start
c4219655 : Interpreter is mapped to map_start to make a
system call that dereferences a NULL pointer fail
[dominique.martinet@cea.fr: Also add ULONG_MAX and friend macroes,
used for data_min]
[ken.sato.ty@hitachi-solutions.com: fix execve]
Change-Id: I8ecaf22b7965090ab67bebece57c68283ba23664
2019-02-07 09:58:03 +09:00
Dominique Martinet
9bf225d193
mckernel overlay: replace mcoverlayfs with a soft userspace overlay
...
mcoverlayfs has a high maintenance burden and does not work on rhel8's 4.18
kernel (while it works on vanilla 4.18...); instead of debugging this further
time is better spent making it independent from overlayfs.
Change-Id: I7454ae95b0fbb3373c256aa2fd83cdfec466c009
2019-02-06 08:27:25 +00:00
Shiratori, Takehiro
9e5472bb94
Fix for PAGE_SIZE / PAGE_MASK magic number.
...
Change-Id: Icc00594d84a33495af774096ae13f830e29be39f
Fujitsu: POSTK_DEBUG_ARCH_DEP_116
2019-02-01 13:18:56 +09: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
ad8a3ae962
vsnprintf: reject POSTK_DEBUG_TEMP_FIX_28 return value fix
...
Change-Id: I23beeca094e1b0ee84211f3ed4c33ef7e2aa62c2
2019-02-01 13:16:45 +09:00