Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
1594 |
6702 d 7 h |
jermar |
/kernel/trunk/generic/src/mm/ |
Never ever walk a B+tree as you destroy it. Or vice versa. |
|
/kernel/trunk/generic/src/mm/as.c
|
1593 |
6702 d 8 h |
jermar |
/kernel/trunk/generic/src/synch/ |
When interrupted from sleep, pending timeouts must be unregistered. |
|
/kernel/trunk/generic/src/synch/waitq.c
|
1591 |
6702 d 10 h |
palkovsky |
/kernel/trunk/generic/ |
Small updates to ipc. |
|
/kernel/trunk/generic/include/ipc/ipc.h /kernel/trunk/generic/src/ipc/ipc.c /kernel/trunk/generic/src/ipc/irq.c /kernel/trunk/generic/src/ipc/sysipc.c
|
1589 |
6702 d 14 h |
jermar |
/kernel/trunk/generic/src/ |
Improve comments regarding liveliness of threads and tasks. |
|
/kernel/trunk/generic/src/ddi/ddi.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c
|
1588 |
6702 d 14 h |
jermar |
/kernel/trunk/generic/src/ |
In task_kill(), remove the task from the tasks_btree before proceeding.
Thus, when the kernel finds the task in the tasks_btree and locks it before
releasing tasks_lock, it is guaranteed that the task will not be destroyed
until the lock is held. If the kernel needs to unlock the task, do some operation
and lock it again, it should increase its refcount before doing so. In that case,
when releasing the lock, it must decrement the refcount and if it reaches
zero, it must call task_destroy(). |
|
/kernel/trunk/generic/src/ddi/ddi.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/security/cap.c
|
1587 |
6702 d 15 h |
jermar |
/kernel/trunk/ |
task_destroy() implementation, fixes in as_destroy() and task_kill().
This is the first version of HelenOS that would perform complete cleanup leading from thread to destruction of address space. |
|
/kernel/trunk/arch/amd64/src/proc/task.c /kernel/trunk/arch/ia32/src/proc/task.c /kernel/trunk/arch/ia64/include/proc/task.h /kernel/trunk/arch/mips32/include/proc/task.h /kernel/trunk/arch/ppc32/include/proc/task.h /kernel/trunk/arch/ppc64/include/proc/task.h /kernel/trunk/arch/sparc64/include/proc/task.h /kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/proc/task.c
|
1586 |
6702 d 18 h |
jermar |
/kernel/trunk/generic/src/synch/ |
futex_cleanup() implementation. |
|
/kernel/trunk/generic/src/synch/futex.c
|
1585 |
6702 d 18 h |
jermar |
/kernel/trunk/generic/ |
Kill task when its main thread exits. |
|
/kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c
|
1583 |
6702 d 21 h |
jermar |
/kernel/trunk/generic/ |
Make ktaskclnp call ipc_cleanup and futex_cleanup. |
|
/kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/include/synch/futex.h /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/synch/futex.c
|
1582 |
6702 d 22 h |
palkovsky |
/kernel/trunk/generic/ |
Modified ipc_cleanup. |
|
/kernel/trunk/generic/include/ipc/ipc.h /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/ipc/ipc.c
|
1581 |
6703 d 0 h |
jermar |
/kernel/trunk/generic/src/ |
Detach kmp thread after joining it.
Extend assertion in thread_destroy() to not panic when threads are destroyed in their Unded state. |
|
/kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/proc/thread.c
|
1580 |
6703 d 1 h |
jermar |
/kernel/trunk/generic/src/ |
Update for task_kill(). |
|
/kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/synch/waitq.c
|
1579 |
6703 d 10 h |
jermar |
/kernel/trunk/generic/ |
Framework for task_kill().
Some pieces (e.g. implementation of ktask_cleanup() kernel thread and
task_destroy() function) are missing.
Changed locking order for task lock, threads_lock and thread lock from
threads_lock, thread lock, task lock to task lock, threads_lock, thread lock. |
|
/kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/waitq.c /kernel/trunk/generic/src/syscall/syscall.c
|
1576 |
6703 d 13 h |
jermar |
/kernel/trunk/ |
Make use of thread_join_timeout() and thread_detach() in kernel.
Improved comments in slab.h. |
|
/kernel/trunk/arch/ia32/include/smp/mps.h /kernel/trunk/arch/ia32/src/smp/mps.c /kernel/trunk/arch/ia32/src/smp/smp.c /kernel/trunk/generic/include/mm/slab.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/proc/scheduler.c
|
1573 |
6703 d 15 h |
palkovsky |
/kernel/trunk/generic/ |
Renamed some things in IPC to be consistent.
Added ipc reporting to kconsole. |
|
/kernel/trunk/generic/include/ipc/ipc.h /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/ipc/ipc.c /kernel/trunk/generic/src/ipc/ipcrsc.c /kernel/trunk/generic/src/ipc/irq.c /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/generic/src/proc/task.c
|
1571 |
6703 d 15 h |
jermar |
/kernel/trunk/generic/ |
thread_join_timeout() and thread_detach() implementation.
Needs more thorough testing. |
|
/kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/thread.c
|
1568 |
6703 d 16 h |
palkovsky |
/kernel/trunk/generic/ |
Slightly remodelled ipc hangups to facilitate correct cleanup.
Doc updates for frame allocator. |
|
/kernel/trunk/generic/include/ipc/ipc.h /kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/src/ipc/ipc.c /kernel/trunk/generic/src/ipc/ipcrsc.c /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/generic/src/mm/frame.c
|
1554 |
6704 d 10 h |
jermar |
/kernel/trunk/generic/src/mm/ |
Improve comment in slab.c. |
|
/kernel/trunk/generic/src/mm/slab.c
|
1550 |
6704 d 16 h |
jermar |
/kernel/trunk/generic/src/mm/ |
Remove left over piece of code for increasing reference count in ELF backend. |
|
/kernel/trunk/generic/src/mm/backend_elf.c
|
1549 |
6704 d 17 h |
vana |
/kernel/trunk/generic/src/adt/ |
Bitmap functions patch |
|
/kernel/trunk/generic/src/adt/bitmap.c
|
1546 |
6704 d 18 h |
jermar |
/kernel/trunk/generic/src/mm/ |
Add reference to shared frames of ELF image backed address space area. |
|
/kernel/trunk/generic/src/mm/backend_elf.c
|
1545 |
6704 d 18 h |
jermar |
/kernel/trunk/generic/src/mm/ |
Add reference to shared frames of anonymous address space area. |
|
/kernel/trunk/generic/src/mm/backend_anon.c
|
1544 |
6704 d 18 h |
palkovsky |
/kernel/trunk/generic/ |
Slightly better behaviour with caching on memory sharing. |
|
/kernel/trunk/generic/include/errno.h /kernel/trunk/generic/src/mm/as.c
|
1539 |
6705 d 0 h |
cejka |
/kernel/trunk/generic/src/mm/ |
Fixed warning about unused variable in non-debug mode. |
|
/kernel/trunk/generic/src/mm/backend_phys.c
|
1507 |
6705 d 18 h |
vana |
/kernel/trunk/ |
IA64 uspace keyboard kernel part |
|
/kernel/trunk/arch/ia64/include/arch.h /kernel/trunk/arch/ia64/include/interrupt.h /kernel/trunk/arch/ia64/include/ski/ski.h /kernel/trunk/arch/ia64/src/ia64.c /kernel/trunk/arch/ia64/src/interrupt.c /kernel/trunk/arch/ia64/src/ski/ski.c /kernel/trunk/generic/include/ipc/irq.h /kernel/trunk/generic/src/ipc/irq.c
|
1502 |
6705 d 20 h |
jermar |
/kernel/trunk/ |
Replace nonblocking argument of waitq_sleep_timeout with flags that specify mode of operation.
Now a flag can be used to specify interruptible sleep.
Modify waitq_interrupt_sleep() to only interrupt threads that used this flag.
O |
|
/kernel/trunk/arch/ia32/src/smp/smp.c /kernel/trunk/generic/include/ipc/ipc.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/include/synch/condvar.h /kernel/trunk/generic/include/synch/futex.h /kernel/trunk/generic/include/synch/mutex.h /kernel/trunk/generic/include/synch/rwlock.h /kernel/trunk/generic/include/synch/semaphore.h /kernel/trunk/generic/include/synch/synch.h /kernel/trunk/generic/include/synch/waitq.h /kernel/trunk/generic/src/ipc/ipc.c /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/condvar.c /kernel/trunk/generic/src/synch/futex.c /kernel/trunk/generic/src/synch/mutex.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/generic/src/synch/semaphore.c /kernel/trunk/generic/src/synch/waitq.c
|
1495 |
6706 d 7 h |
jermar |
/kernel/trunk/ |
Remove three infinite loops introduced yesterday :-)
Make ia64 ready to load 5 ELF images. |
|
/kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/src/ia64.c /kernel/trunk/generic/src/mm/as.c
|
1494 |
6706 d 8 h |
palkovsky |
/kernel/trunk/generic/ |
Removes unnecessary parameter for map_physmem syscall. |
|
/kernel/trunk/generic/include/ddi/ddi.h /kernel/trunk/generic/src/ddi/ddi.c
|
1484 |
6706 d 18 h |
palkovsky |
/kernel/trunk/generic/include/ |
Added EINVAL error code. |
|
/kernel/trunk/generic/include/errno.h
|
1483 |
6706 d 18 h |
jermar |
/kernel/trunk/generic/src/ |
Implement recursive function for deallocating the whole B+tree.
Make use of this function in address space management. |
|
/kernel/trunk/generic/src/adt/btree.c /kernel/trunk/generic/src/mm/as.c
|
1474 |
6707 d 10 h |
palkovsky |
/kernel/trunk/ |
Added syscall that lets kernel regain access to keyboard. |
|
/kernel/trunk/arch/amd64/src/amd64.c /kernel/trunk/arch/ia32/src/ia32.c /kernel/trunk/arch/ia64/src/ia64.c /kernel/trunk/arch/mips32/include/drivers/msim.h /kernel/trunk/arch/mips32/src/console.c /kernel/trunk/arch/mips32/src/drivers/msim.c /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/arch/ppc32/src/ppc32.c /kernel/trunk/arch/ppc64/src/ppc64.c /kernel/trunk/arch/sparc64/src/sparc64.c /kernel/trunk/genarch/include/i8042/i8042.h /kernel/trunk/genarch/src/i8042/i8042.c /kernel/trunk/generic/include/console/console.h /kernel/trunk/generic/include/syscall/syscall.h /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/syscall/syscall.c
|
1468 |
6707 d 16 h |
jermar |
/kernel/trunk/ |
Function for destroying address space for which there is no other reference in the kernel. |
|
/kernel/trunk/arch/ia32/include/mm/asid.h /kernel/trunk/genarch/src/mm/as_ht.c /kernel/trunk/genarch/src/mm/as_pt.c /kernel/trunk/generic/include/mm/as.h /kernel/trunk/generic/include/mm/page.h /kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/proc/task.c
|
1467 |
6707 d 16 h |
jermar |
/kernel/trunk/generic/src/synch/ |
Allow usage of blocking synchronization primitives in functions that are also called during system initialization. |
|
/kernel/trunk/generic/src/synch/waitq.c
|
1461 |
6707 d 18 h |
palkovsky |
/kernel/trunk/generic/ |
Slightly changed semantics of AS_AREA_SEND/RECV. |
|
/kernel/trunk/generic/include/ipc/ipc.h /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/generic/src/mm/as.c
|
1460 |
6707 d 20 h |
jermar |
/kernel/trunk/generic/ |
Reference counting for futexes. |
|
/kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/include/synch/futex.h /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/synch/futex.c
|
1458 |
6708 d 10 h |
palkovsky |
/kernel/trunk/ |
Added console support to gxemul.
Wider information in thread list. |
|
/kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/contrib/conf/gxemul.sh /kernel/trunk/generic/src/proc/thread.c
|
1457 |
6708 d 10 h |
jermar |
/kernel/trunk/generic/src/time/ |
Project missed_clock_ticks also on thread timeslice and run queue relink counter. |
|
/kernel/trunk/generic/src/time/clock.c
|
1448 |
6709 d 15 h |
palkovsky |
/kernel/trunk/generic/src/syscall/ |
Better SYS_IO |
|
/kernel/trunk/generic/src/syscall/syscall.c
|
1440 |
6710 d 9 h |
palkovsky |
/kernel/trunk/generic/include/ |
Added error code for timeouts. |
|
/kernel/trunk/generic/include/errno.h
|
1438 |
6710 d 10 h |
palkovsky |
/kernel/trunk/generic/ |
Correct realtime clock communication. |
|
/kernel/trunk/generic/include/print.h /kernel/trunk/generic/src/time/clock.c
|