Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
2502 6218 d 23 h jermar /trunk/kernel/generic/ Replace the threads_btree B+tree with an AVL tree. The new variable is called
threads_tree. For printing list of threads, use the new AVL tree walker
mechanism.

This solves half of ticket #48.
 
/trunk/kernel/generic/include/proc/thread.h
/trunk/kernel/generic/src/proc/thread.c
2501 6218 d 23 h jermar /trunk/kernel/generic/ Add explicit type for an AVL tree key.
Add function to walk an AVL tree using a supplied walker.
 
/trunk/kernel/generic/include/adt/avl.h
/trunk/kernel/generic/src/adt/avl.c
2500 6219 d 1 h jermar /trunk/kernel/ Make the kernel compile again after integrating the AVL tree.
Integrate with tests, add the AVL tree implementation author into AUTHORS.
 
/trunk/kernel/Makefile
/trunk/kernel/doc/AUTHORS
/trunk/kernel/test/test.c
/trunk/kernel/test/test.h
2499 6219 d 1 h jermar /trunk/kernel/ Import the AVL tree implementation from the RCU branch.  
/trunk/kernel/generic/include/adt/avl.h
/trunk/kernel/generic/src/adt/avl.c
/trunk/kernel/test/avltree
2495 6235 d 21 h jermar /trunk/uspace/lib/libc/generic/io/ Formatting changes.  
/trunk/uspace/lib/libc/generic/io/stream.c
2494 6236 d 16 h jermar /trunk/kernel/generic/ Implement a new mechanism for copying data between two address spaces based on
IPC. New system method IPC_M_DATA_SEND is introduced. The implementation is
generic and does not make use of any possible architecture optimizations such as
direct copy from one address space to another.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
2493 6236 d 20 h jermar /trunk/kernel/generic/include/ipc/ Collapse IPC method numbers.  
/trunk/kernel/generic/include/ipc/ipc.h
2492 6241 d 19 h jermar /trunk/uspace/lib/libc/generic/ Add comment clarifying how a fibril waiting for a message gets rescheduled.  
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/fibril.c
2491 6241 d 21 h jermar /trunk/uspace/ Fix two minor bugs in uspace's make clean.  
/trunk/uspace/Makefile
2490 6243 d 20 h jermar /trunk/uspace/lib/libc/generic/ Improve comments in async.c  
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/ipc.c
2489 6243 d 22 h jermar /trunk/ Allow HelenOS to be built by a native gcc on Solaris.  
/trunk/kernel/Makefile
/trunk/uspace/lib/libc/Makefile.toolchain
2488 6245 d 15 h jermar /trunk/uspace/lib/libc/generic/ Improve comments in async.c  
/trunk/uspace/lib/libc/generic/async.c
2487 6245 d 18 h jermar /trunk/kernel/generic/src/proc/ Kernel stack address was printed twice.  
/trunk/kernel/generic/src/proc/thread.c
2486 6245 d 18 h jermar /trunk/uspace/lib/libc/ Remove duplicit and empty time.h from libc.
Move timeval functions from async.c to time.c.
 
/trunk/uspace/lib/libc/include/time.h
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/time.c
/trunk/uspace/lib/libc/include/sys/time.h
2485 6249 d 16 h jermar /trunk/uspace/lib/libc/generic/ More fibril/psthread cleanup.  
/trunk/uspace/lib/libc/generic/async.c
2484 6249 d 17 h jermar /trunk/uspace/lib/libc/generic/ More psthread/fibril cleanup.  
/trunk/uspace/lib/libc/generic/async.c
2483 6249 d 21 h jermar /trunk/uspace/lib/libc/ Remove fibril_join().
We cannot guarantee our assumptions that easily.
This broken feature is removed instead of fixing because there are now users of it.
 
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/fibril.c
/trunk/uspace/lib/libc/include/fibril.h
2482 6250 d 12 h jermar /trunk/ Goodbye pseudo threads, welcome fibrils.
The renaming might still be incomplete.
 
/trunk/uspace/lib/libc/arch/amd64/include/fibril.h
/trunk/uspace/lib/libc/arch/amd64/src/fibril.S
/trunk/uspace/lib/libc/arch/arm32/include/fibril.h
/trunk/uspace/lib/libc/arch/arm32/src/fibril.S
/trunk/uspace/lib/libc/arch/ia32/include/fibril.h
/trunk/uspace/lib/libc/arch/ia32/src/fibril.S
/trunk/uspace/lib/libc/arch/ia64/include/fibril.h
/trunk/uspace/lib/libc/arch/ia64/src/fibril.S
/trunk/uspace/lib/libc/arch/mips32/include/fibril.h
/trunk/uspace/lib/libc/arch/mips32/src/fibril.S
/trunk/uspace/lib/libc/arch/mips32eb/include/fibril.h
/trunk/uspace/lib/libc/arch/ppc32/include/fibril.h
/trunk/uspace/lib/libc/arch/ppc32/src/fibril.S
/trunk/uspace/lib/libc/arch/ppc64/include/fibril.h
/trunk/uspace/lib/libc/arch/ppc64/src/fibril.S
/trunk/uspace/lib/libc/arch/sparc64/include/fibril.h
/trunk/uspace/lib/libc/arch/sparc64/src/fibril.S
/trunk/uspace/lib/libc/generic/fibril.c
/trunk/uspace/lib/libc/include/fibril.h
/trunk/uspace/lib/libc/arch/amd64/include/psthread.h
/trunk/uspace/lib/libc/arch/amd64/src/psthread.S
/trunk/uspace/lib/libc/arch/arm32/include/psthread.h
/trunk/uspace/lib/libc/arch/arm32/src/psthread.S
/trunk/uspace/lib/libc/arch/ia32/include/psthread.h
/trunk/uspace/lib/libc/arch/ia32/src/psthread.S
/trunk/uspace/lib/libc/arch/ia64/include/psthread.h
/trunk/uspace/lib/libc/arch/ia64/src/psthread.S
/trunk/uspace/lib/libc/arch/mips32/include/psthread.h
/trunk/uspace/lib/libc/arch/mips32/src/psthread.S
/trunk/uspace/lib/libc/arch/mips32eb/include/psthread.h
/trunk/uspace/lib/libc/arch/ppc32/include/psthread.h
/trunk/uspace/lib/libc/arch/ppc32/src/psthread.S
/trunk/uspace/lib/libc/arch/ppc64/include/psthread.h
/trunk/uspace/lib/libc/arch/ppc64/src/psthread.S
/trunk/uspace/lib/libc/arch/sparc64/include/psthread.h
/trunk/uspace/lib/libc/arch/sparc64/src/psthread.S
/trunk/uspace/lib/libc/generic/psthread.c
/trunk/uspace/lib/libc/include/psthread.h
/trunk/kernel/arch/ia32/src/context.s
/trunk/uspace/lib/libc/Makefile
/trunk/uspace/lib/libc/arch/amd64/Makefile.inc
/trunk/uspace/lib/libc/arch/amd64/include/thread.h
/trunk/uspace/lib/libc/arch/arm32/Makefile.inc
/trunk/uspace/lib/libc/arch/arm32/include/thread.h
/trunk/uspace/lib/libc/arch/ia32/Makefile.inc
/trunk/uspace/lib/libc/arch/ia32/include/thread.h
/trunk/uspace/lib/libc/arch/ia64/Makefile.inc
/trunk/uspace/lib/libc/arch/ia64/include/thread.h
/trunk/uspace/lib/libc/arch/mips32/Makefile.inc
/trunk/uspace/lib/libc/arch/mips32/include/thread.h
/trunk/uspace/lib/libc/arch/mips32eb/Makefile.inc
/trunk/uspace/lib/libc/arch/ppc32/Makefile.inc
/trunk/uspace/lib/libc/arch/ppc32/include/thread.h
/trunk/uspace/lib/libc/arch/ppc64/Makefile.inc
/trunk/uspace/lib/libc/arch/ppc64/include/thread.h
/trunk/uspace/lib/libc/arch/sparc64/Makefile.inc
/trunk/uspace/lib/libc/arch/sparc64/include/thread.h
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/generic/libc.c
/trunk/uspace/lib/libc/generic/thread.c
/trunk/uspace/lib/libc/include/async.h
2481 6250 d 14 h jermar /trunk/uspace/lib/libc/ 1. Implement simple joining of pseudo threads. Only one pseudo thread is allowed to join another pseudo
thread. The restriction is that both pseudo threads must be from the same thread (this is to simplify
synchronization). The joiner doesn't free anything from the joinee. It only gets its return value. Not
tested thoroughly yet.

2. Cleanup of a dead pseudo thread is done by the next scheduled pseudo thread. Not tested thoroughly yet.
 
/trunk/uspace/lib/libc/generic/psthread.c
/trunk/uspace/lib/libc/include/psthread.h
2480 6254 d 23 h jermar /trunk/uspace/ Remove dummy presenter.  
/trunk/uspace/presenter

Show All