Balazs Gerofi
c85a9b99e1
a couple of cosmetic changes of debug messages
2015-08-22 18:53:14 +09:00
Tomoki Shirasawa
5a0cd3f53f
ptrace_detach when exiting
...
refs #590
2015-08-18 18:03:09 +09:00
Balazs Gerofi
9fa62adfe7
execve(): stay compliant with locked context switching
2015-08-10 14:18:11 +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
215cd370a1
ap_init(): clean up AP boot kernel messages
2015-08-07 10:57:59 +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
Balazs Gerofi
3988b0fc61
keep track of IRQ context and don't do thread migration there
2015-07-23 16:56:58 +09:00
Balazs Gerofi
54eb345847
settid(): prevent modifying tid after thread migration
2015-07-23 16:51:24 +09:00
Tomoki Shirasawa
bbe7aef95b
fix calling do_signal (argument lacked)
2015-07-17 10:18:43 +09:00
Tomoki Shirasawa
1ff4cf68c2
support SA_RESTART flag and restart syscall
2015-07-16 16:33:14 +09:00
Tomoki Shirasawa
1bc84d3feb
modify to copy credentials
2015-07-13 15:29:26 +09:00
Balazs Gerofi
f7d78c8b7d
sched_getaffinity(): return EINVAL for 0 lenght request (fixes LTP sched_getaffinity01)
2015-07-10 11:00:43 +09:00
Balazs Gerofi
7647c99cc2
do_migrate(): disable IRQ while holding migq_lock to avoid deadlocking with reschedule interrupts
2015-07-09 15:23:28 +09:00
Balazs Gerofi
43a774fbfc
sched_setaffinity(): undo target core change, avoid abort on length mismatch
2015-07-09 11:00:26 +09:00
Balazs Gerofi
bd913c503b
sched_setaffinity(): find an actual target core
2015-07-03 11:59:52 +09:00
Tomoki Shirasawa
59ee251e1c
fix /proc/pid/mem, /proc/pid/status, /proc/pid/cmdline
2015-07-02 00:22:35 +09:00
Balazs Gerofi
4ebe778ede
vm->exiting: deal with exit_group() and concurrent page faults
2015-06-25 16:04:04 +09:00
Tomoki Shirasawa
2af2b1205f
temporary fix for setfsuid/setfsgid
2015-05-19 06:27:59 +09:00
Tomoki Shirasawa
7d5a68be1b
add PID and GID to /proc/pid/status
...
add /proc/pid/cmdline
refs #445
refs #447
2015-05-18 17:45:37 +09:00
Tomoki Shirasawa
f4162dff52
some signals set siginfo.si_code
2015-04-14 15:11:36 +09:00
NAKAMURA Gou
a0d909af75
add supports for dump analyzer
2015-03-31 12:59:53 +09:00
Tomoki Shirasawa
63669b7f71
support /proc/pid/status for LTP mmap14
2015-03-28 14:20:07 +09:00
NAKAMURA Gou
4946964ed0
update copyright notices
2015-03-27 14:50:09 +09:00
Balazs Gerofi
5f19842a6a
support for process_vm_readv()/process_vm_writev()
2015-03-25 19:44:56 +09:00
Susumu Komae
c2a1f933e8
Set tid (instead of pid) for ptrace event message of
...
PTRACE_EVENT_{FORK,VFORK,CLONE,VFORKDONE}.
Specify 2nd argument as pid (instead of -1) of function findthread_and_lock(),
to find tracee process in ptrace subroutines.
(gdb testsuite gdb.base/watch_thread_num.exp)
2015-03-20 13:22:00 +09:00
NAKAMURA Gou
055769254d
implement mlockall()/munlockall() for LTP syscall
2015-03-19 16:46:31 +09:00
NAKAMURA Gou
786ae83380
add arch-dependent mman.h
2015-03-19 16:36:57 +09:00
NAKAMURA Gou
8c662c83be
implement mincore(2) for LTP
2015-03-19 16:32:03 +09:00
NAKAMURA Gou
4698bc40c2
implement System V shared memory for LTP syscalls
2015-03-19 16:21:18 +09:00
Tomoki Shirasawa
f5d935b703
support signalfd4 step1
2015-03-18 17:35:43 +09:00
Tomoki Shirasawa
8934eb91a4
kill syscall check uid
2015-03-17 15:04:36 +09:00
NAKAMURA Gou
fa923da0e3
add host PTE cleaning to execve(). refs #377
...
This removes a cause of LTP gethostid01's wrong behavior.
2015-03-10 18:23:50 +09:00
Susumu Komae
b553de7435
supports PTRACE_GETREGSET, PTRACE_SETREGSET.
...
supports PTRACE_GETFPREGS, PTRACE_SETFPREGS.
refs #421
2015-03-06 19:18:32 +09:00
NAKAMURA Gou
6a82412d64
modify procfs to read inactive thread's files
...
However, the following files can be read only if the corresponding
thread is in active.
- /proc/<PID>/mem
- /proc/<PID>/task/<TID>/mem
refs #371
2015-03-05 21:41:24 +09:00
NAKAMURA Gou
f84b5acf79
map entire buffer to read procfs
...
Reading data from procfs file more than 4096 byte caused a buffer
overrun in McKernel because the buffer was always mapped in McKernel
4096 byte regardless of actual buffer size.
2015-03-05 20:30:33 +09:00
Balazs Gerofi
8b24f60861
Combine range and memobj flags before arch_vrflag_to_ptattr()
2015-03-05 16:40:14 +09:00
Balazs Gerofi
f82bb284bb
Make pager and devobj debug messages optional
2015-03-05 16:03:21 +09:00
Balazs Gerofi
bf12a5c45e
Introduction of write-combined memory type mappings.
...
Introduction of VR_WRITE_COMBINED, PTATTR_WRITE_COMBINED and modification
to the memobj's get_page() interface so that Linux communicates back mapping
flags (such as write-combined).
2015-03-05 16:03:21 +09:00
Tomoki Shirasawa
e6011be1af
create area for to save fp regs
...
refs #421
2015-03-05 12:18:46 +09:00
NAKAMURA Gou
daec7de828
implement /proc/stat
...
only for sysconf(_SC_NPROCESSORS_ONLN). This enables Intel OpenMP
runtime to arrange threads with regard for CPU topology.
refs #291
2015-03-04 15:46:53 +09:00