0a0e2c04a0
support for dynamically toggling time sharing when CPU is oversubscribed
2015-08-07 08:51:50 +09:00
aa191b87d3
schedule(): use XSAVE/XRSTOR and swap floating point registers in context switch
2015-08-07 08:41:00 +09:00
d5c243571f
cpu_clear_and_set(): atomic CPU mask update in migration code
2015-08-06 10:49:55 +09:00
328e69a335
schedule(): do not preempt while holding spinlocks or while in offloaded syscall
2015-08-06 10:36:13 +09:00
b77755d0f7
obtain_clone_cpuid(): always start from CPU 0 and fill in cores linearily
2015-07-28 20:20:47 +09:00
d7bae14707
TEMPORARY: schedule(): move threads when core is explicitly oversubscribed
2015-07-28 20:12:58 +09:00
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
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
3988b0fc61
keep track of IRQ context and don't do thread migration there
2015-07-23 16:56:58 +09:00
54eb345847
settid(): prevent modifying tid after thread migration
2015-07-23 16:51:24 +09:00
bbe7aef95b
fix calling do_signal (argument lacked)
2015-07-17 10:18:43 +09:00
1ff4cf68c2
support SA_RESTART flag and restart syscall
2015-07-16 16:33:14 +09:00
1bc84d3feb
modify to copy credentials
2015-07-13 15:29:26 +09:00
f7d78c8b7d
sched_getaffinity(): return EINVAL for 0 lenght request (fixes LTP sched_getaffinity01)
2015-07-10 11:00:43 +09:00
7647c99cc2
do_migrate(): disable IRQ while holding migq_lock to avoid deadlocking with reschedule interrupts
2015-07-09 15:23:28 +09:00
43a774fbfc
sched_setaffinity(): undo target core change, avoid abort on length mismatch
2015-07-09 11:00:26 +09:00
bd913c503b
sched_setaffinity(): find an actual target core
2015-07-03 11:59:52 +09:00
59ee251e1c
fix /proc/pid/mem, /proc/pid/status, /proc/pid/cmdline
2015-07-02 00:22:35 +09:00
4ebe778ede
vm->exiting: deal with exit_group() and concurrent page faults
2015-06-25 16:04:04 +09:00
2af2b1205f
temporary fix for setfsuid/setfsgid
2015-05-19 06:27:59 +09:00
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
f4162dff52
some signals set siginfo.si_code
2015-04-14 15:11:36 +09:00
a0d909af75
add supports for dump analyzer
2015-03-31 12:59:53 +09:00
63669b7f71
support /proc/pid/status for LTP mmap14
2015-03-28 14:20:07 +09:00
4946964ed0
update copyright notices
2015-03-27 14:50:09 +09:00
5f19842a6a
support for process_vm_readv()/process_vm_writev()
2015-03-25 19:44:56 +09:00
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
055769254d
implement mlockall()/munlockall() for LTP syscall
2015-03-19 16:46:31 +09:00
786ae83380
add arch-dependent mman.h
2015-03-19 16:36:57 +09:00
8c662c83be
implement mincore(2) for LTP
2015-03-19 16:32:03 +09:00
4698bc40c2
implement System V shared memory for LTP syscalls
2015-03-19 16:21:18 +09:00
f5d935b703
support signalfd4 step1
2015-03-18 17:35:43 +09:00
8934eb91a4
kill syscall check uid
2015-03-17 15:04:36 +09:00
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
b553de7435
supports PTRACE_GETREGSET, PTRACE_SETREGSET.
...
supports PTRACE_GETFPREGS, PTRACE_SETFPREGS.
refs #421
2015-03-06 19:18:32 +09:00
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
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
8b24f60861
Combine range and memobj flags before arch_vrflag_to_ptattr()
2015-03-05 16:40:14 +09:00
f82bb284bb
Make pager and devobj debug messages optional
2015-03-05 16:03:21 +09:00
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
e6011be1af
create area for to save fp regs
...
refs #421
2015-03-05 12:18:46 +09:00
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
9ad48083aa
make PTRACE_POKETEXT use patch_process_vm()
2015-03-04 12:04:54 +09:00
2eac58aab3
add patch_process_vm(). (in progress)
...
This function patches specified range of specified user space even if
the range is not writable.
refs #401
2015-03-04 12:00:51 +09:00
22d8d169b6
change copy-out routines
...
- restrict copy_to_user() to only current process.
- add write_process_vm() to write specified process space.
2015-03-04 11:29:16 +09:00
063fa963c3
change copy-in routines
...
- restrict copy_from_user() to only current process.
- add read_process_vm() to read specified process space.
2015-03-04 11:29:15 +09:00
2239a6b09b
modify page_fault_process()
...
- change its argument from 'struct process *'
to 'struct process_vm *'.
- change its name from 'page_fault_process()'
to 'page_fault_process_vm()'.
- allow to resolve a fault on the process_vm of another process.
2015-03-04 11:29:15 +09:00
8c179d506a
support PTRACE_ARCH_PRCTL.
...
refs #420
2015-03-03 14:22:57 +09:00
8caeba7cba
support PTRACE_GETSIGINFO and PTRACE_SETSIGINFO
...
refs #422
2015-03-03 09:54:57 +09:00
fab2c2aa97
wrap x86_regs with x86_user_context
...
and, rename x86_regs to x86_basic_regs.
2015-02-26 17:43:10 +09:00