Commit Graph

402 Commits

Author SHA1 Message Date
Tomoki Shirasawa
dad6470c60 clone_thread: fork(2) copy sigstack infos from parent 2016-07-13 16:15:01 +09:00
Tomoki Shirasawa
f6908f21a8 do_kill: wake PS_INTERRUPTIBLE process when send SIGKILL
sched_wakeup_thread: don't change process status if process status is PS_EXITED
2016-07-13 14:06:32 +09:00
Balazs Gerofi
d135731398 do_syscall(): allow schedule for another thread (Intel MPI+OpenMP issue) 2016-07-05 18:54:51 +09:00
Balazs Gerofi
648bacc90f device file mappings: communicate map flags and fault missing translations 2016-06-24 12:44:59 -07:00
Ken Sato
130b1f4327 update PAPI support. other process and child process monitoring. 2016-04-26 19:01:47 +09:00
NAKAMURA Gou
d4a0b32f06 support large pages 2016-04-21 23:22:55 +09:00
NAKAMURA Gou
b3bec32e99 update_process_page_table: refactor 2016-04-21 23:22:55 +09:00
NAKAMURA Gou
2048980820 remove ihk_mc_pt_alloc_range() 2016-04-21 23:22:54 +09:00
NAKAMURA Gou
328175547f Revert "fix REQ-37: remap_one_page: remove to check page size"
This reverts commit 6790126a23.

- reverted commit should remove a 'pgsize' check in remap_one_page()
  instead of a 'pgsize' check in pte_make_fileoff().
- In IA-32e, PTE format varies with page size. Therefore 'pgsize'
  parameter of pte_make_fileoff() is preferable.
2016-04-21 23:22:54 +09:00
NAKAMURA Gou
41bb2ab5e6 support vdso which borrows clocksource from linux 2016-03-28 22:57:44 +09:00
NAKAMURA Gou
0c53a5ca35 add NOPHYS which means no physical memory 2016-03-28 22:57:44 +09:00
Tomoki Shirasawa
6790126a23 fix REQ-37: remap_one_page: remove to check page size 2016-03-27 14:05:00 +09:00
Tomoki Shirasawa
31595b7409 fix REQ-43 2016-03-25 12:57:31 +09:00
Tomoki Shirasawa
932a287437 fix REQ-40 2016-03-24 13:46:13 +09:00
NAKAMURA Gou
261bddb999 add a member pgshift into struct vm_range
pgshift indicates a page size in the range.
2016-03-23 19:04:32 +09:00
NAKAMURA Gou
832c0f9afd refactor copy_user_ranges() 2016-03-23 19:04:32 +09:00
NAKAMURA Gou
4595aa3079 pte_visitor_t(): change "pgsize" into "pgshift" 2016-03-23 19:04:32 +09:00
Tomoki Shirasawa
3f16a9443e ptrace_report_signal: save debug regs before to send SIGCHLD to tracer 2016-03-09 22:29:51 +09:00
Tomoki Shirasawa
dbc778e4fa support getrusage (work in progress) 2016-03-07 17:06:44 +09:00
Tomoki Shirasawa
8ebb3a4231 schedule: migration free last thread if terminated 2016-03-03 22:44:44 +09:00
Tomoki Shirasawa
863a5c5e5f fix REQ-2, REQ-6, REQ-8 2016-02-23 16:32:17 +09:00
Tomoki Shirasawa
2c50b716fd support setitimer/getitimer 2016-02-19 15:25:05 +09:00
Tomoki Shirasawa
eba2be8a35 support times 2016-02-18 13:14:18 +09:00
Tomoki Shirasawa
a866192db7 refactoring /proc 2016-02-10 08:11:02 +09:00
Ken Sato
c0cc6ac6db Add skeleton for perf_event_open. 2016-02-09 14:54:53 +09:00
Tomoki Shirasawa
3a2f7b0106 clone: support CLONE_PARENT 2016-01-11 16:49:02 +09:00
Tomoki Shirasawa
75c6a94839 delete struct member 'type' from address_space structure 2016-01-06 20:17:00 +09:00
Tomoki Shirasawa
544971d665 modify for PVAS 2015-11-25 14:27:20 +09:00
Tomoki Shirasawa
eb6de9d1de delete debug code 2015-11-13 15:10:14 +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
Tomoki Shirasawa
4e4f1208f7 delete unused member 2015-10-19 20:12:26 +09:00
Tomoki Shirasawa
a325a78866 refactoring to send signal 2015-10-15 17:10:02 +09:00
Tomoki Shirasawa
04e193de13 refactoring process structures 2015-10-13 23:04:08 +09:00
NAKAMURA Gou
51789fcd38 initialize idle_vm for page faluts 2015-10-01 21:08:35 +09:00
NAKAMURA Gou
8dd9175411 schedule: fix null pointer dereference 2015-09-29 19:10:00 +09:00
Balazs Gerofi
40b8587a8a schedule(): sync CPU_FLAG_NEED_RESCHED flag with clone and migrate 2015-09-16 19:22:40 +09:00
Balazs Gerofi
c85a9b99e1 a couple of cosmetic changes of debug messages 2015-08-22 18:53:14 +09:00
Balazs Gerofi
f0ab8ec89a sched_request_migrate(): change CPU flags atomically 2015-08-10 12:45:59 +09:00
Balazs Gerofi
f4cc82578d check_need_resched(): no thread migration in IRQ context 2015-08-10 12:43:35 +09:00
Balazs Gerofi
9ba40dc0ff schedule(): hold runq lock for the entire duration of context switching
releasing the runq lock after loading page tables but before the actual
context switch can leave execution in an inconsistent if the current
process is descheduled from an IRQ between these two steps.
this patch holds the runq lock with IRQs disabled and makes the context
switch a single atomic operation.
2015-08-10 12:37:12 +09:00
Balazs Gerofi
8d6c97ea5c schedule(): disable auto thread migration 2015-08-07 16:07:31 +09:00
Balazs Gerofi
0a0e2c04a0 support for dynamically toggling time sharing when CPU is oversubscribed 2015-08-07 08:51:50 +09:00
Balazs Gerofi
aa191b87d3 schedule(): use XSAVE/XRSTOR and swap floating point registers in context switch 2015-08-07 08:41:00 +09:00
Balazs Gerofi
d5c243571f cpu_clear_and_set(): atomic CPU mask update in migration code 2015-08-06 10:49:55 +09:00
Balazs Gerofi
328e69a335 schedule(): do not preempt while holding spinlocks or while in offloaded syscall 2015-08-06 10:36:13 +09:00
Balazs Gerofi
b77755d0f7 obtain_clone_cpuid(): always start from CPU 0 and fill in cores linearily 2015-07-28 20:20:47 +09:00
Balazs Gerofi
d7bae14707 TEMPORARY: schedule(): move threads when core is explicitly oversubscribed 2015-07-28 20:12:58 +09:00
Balazs Gerofi
4e58d08f5c schedule_timeout(): give a chance to other process in spin sleep if CPU core is oversubscribed 2015-07-28 20:06:56 +09:00
Balazs Gerofi
9b1e691588 fix thread migration code (i.e., sched_setaffinity())
- moved migration code into idle() process and updated schedule() to detect
  when a thread has moved to another CPU in order to avoid doing housekeeping
  on behalf of the original one
- start CPU head from core 0
- keeps track of nested interrupts
2015-07-24 20:09:17 +09:00