Commit Graph

113 Commits

Author SHA1 Message Date
Dominique Martinet
d4cd756a91 x86/cpu.c: unhandled page fault: print pre-fault stack
Do basic manual unwinding and print raw stack addresses, with a
suggested invocation of addr2line to pretty-print the result.
2017-10-13 10:02:11 +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
Ken Sato
a1a2900606 ptrace: Fix the timing of save_fp_regs, and Add copy fp_regs to child in clone_thread
refs #702
2017-09-27 17:02:30 +09:00
Masamichi Takagi
79b977ac06 Check xgetbv availability before use for machines without it (i.e. KVM) 2017-09-26 19:31:34 +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
Dominique Martinet
230272438f init_fpu: only call xgetbv if we have XSAVE cpuid
xgetbv crashes on cpu without avx, the XSAVE bit seems to indicate
that it is ok to call xgetbv
2017-09-12 18:27:28 +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
86dedc32fa Eliminate Japanese comments 2017-07-15 20:04:16 +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
32c8f6192d unhandled_page_fault(): print registers for kernel mode PF 2017-05-23 02:42:05 +09:00
Balazs Gerofi
21373338cc mcctrl: IHK CPU register manipulation implementation 2017-05-20 12:38:14 +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
Ken Sato
65dc3440cb IKC: separate IRQ between Master-channel and Regular-channel 2017-05-19 10:26:30 +09:00
Balazs Gerofi
9992fe0d72 mcctrl: support remote CPU MSR read/write operations 2017-05-05 00:01:43 +09:00
Katsukura
8c9b207557 configure : add option --enable-rusage 2017-04-27 14:00:59 +09:00
Katsukura
3fe2257929 create rusage branch. 2017-03-15 23:22:51 +09:00
Balazs Gerofi
61fc4c5e55 show_context_stack(): fix warning 2016-12-07 11:42:09 +09:00
Balazs Gerofi
fad73cacc1 x86: display call stack for IRQ 133 (for debug) 2016-12-07 11:32:02 +09:00
Balazs Gerofi
87d36a7752 mcreboot-smp-x86: -t to enable turbo boost 2016-12-05 18:10:20 +09:00
Ken Sato
1130cafe41 ptrace: fixed for threads. 2016-11-28 11:19:30 +09:00
Balazs Gerofi
b068fde9cd NUMA: use IHK CPU and NUMA mappings for sysfs entries 2016-10-14 21:34:31 +09:00
Balazs Gerofi
9b82f1a52c use ihk_mc_alloc/free_pages() and eliminate direct calls to low level routines 2016-10-14 21:34:29 +09:00
Ken Sato
02536b7724 Merge remote-tracking branch 'remotes/origin/ikc2'
Conflicts:
	executer/kernel/mcctrl/syscall.c
It is resolved.
2016-09-27 11:48:12 +09:00
Yoichi Umezawa
b5e4459a34 support AVX-512 registers 2016-08-30 18:39:33 +09:00
Balazs Gerofi
5fd68eae54 PF handler: fix up various error msgs 2016-08-18 07:31:25 +09:00
Tomoki Shirasawa
5c190beb04 save fpregs when to call sighandler
refs #50
2016-07-05 15:26:00 +09:00
Ken Sato
dd37443fc7 PAPI support: performance counter's overflow.
and support mckfd fcntl.
2016-06-24 13:50:12 +09:00
Balazs Gerofi
14ec92518e KVM support: detect KVM and avoid touching unimplemented MSRs 2016-05-26 01:11:08 +09:00
Tomoki Shirasawa
9b35eaca42 remote_flush_tlb_cpumask() dead locking
refs #728
2016-05-10 14:02:25 +09:00
Ken Sato
130b1f4327 update PAPI support. other process and child process monitoring. 2016-04-26 19:01:47 +09:00
NAKAMURA Gou
1bb948f43b hwloc support 2016-04-11 22:25:27 +09:00
NAKAMURA Gou
2a1823d52c vdso: set enable bit of pvti_msr 2016-04-11 22:20:39 +09:00
NAKAMURA Gou
89943dc5ba vdso: set physical address at pvti_msr 2016-04-11 22:20:39 +09:00
NAKAMURA Gou
fceb02a44a vdso: add zero clear for pvti 2016-04-11 22:20:38 +09:00
NAKAMURA Gou
7298d8e179 vdso: correct pvti array element type
struct pvclock_vsyscall_time_info <-- struct pvclock_vcpu_time_info
2016-04-11 22:20:38 +09:00
NAKAMURA Gou
41bb2ab5e6 support vdso which borrows clocksource from linux 2016-03-28 22:57:44 +09:00
NAKAMURA Gou
a587c8f5e5 x86: encode cpu# in IA32_TSC_AUX and size of GDTe#15 2016-03-28 22:57:44 +09:00
Tomoki Shirasawa
31595b7409 fix REQ-43 2016-03-25 12:57:31 +09:00
Yoichi Umezawa
593cf98015 add ACSL annotation 2016-03-16 15:42:32 +09:00
NAKAMURA Gou
1aac2c8e23 add CPU timer initialization (refs #402)
There is no actual initialization in x86 now.
The initialization rely on hardware reset and Linux initialization.
2016-03-11 19:20:37 +09:00
NAKAMURA Gou
70e8dd7979 remove initialization of TSC (refs #362) 2016-03-11 19:17:29 +09:00
Tomoki Shirasawa
c4c5e435cc fix REQ-12 2016-02-24 20:57:45 +09:00
Tomoki Shirasawa
27c3ed7e96 remove debug print 2016-02-21 15:17:42 +09:00
Tomoki Shirasawa
e2b28da32f signal handler support gdb stepi command 2016-02-21 14:55:34 +09:00
Tomoki Shirasawa
eba2be8a35 support times 2016-02-18 13:14:18 +09:00
Tomoki Shirasawa
f7b5b48266 support x2apic 2016-01-06 13:53:02 +09:00
Balazs Gerofi
0eaa27291a thread: move clear_child_tid, etc. to main structure 2015-10-29 11:01:27 +09:00
Tomoki Shirasawa
343bfbd30a rename back status field 2015-10-22 20:26:50 +09:00