#
5d4501aa |
|
20-Aug-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Assorted whitespace cleanup and typo fixes.
|
#
ffba6606 |
|
29-Mar-2015 |
Michael Lotz <mmlr@mlotz.ch> |
UserlandFS: Make 64 bit clean and enable build for x86_64. I did not bother to fix the BeOS kernel emulation, so this part is still left out of the x86_64 build.
|
#
893367cf |
|
20-Oct-2014 |
Michael Lotz <mmlr@mlotz.ch> |
libkernelland_emu: Sync _rw_lock_{read|write}_unlock API. The threadsLocked parameter was removed from the kernel API.
|
#
604770b3 |
|
11-Jul-2014 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
Adapt kernelland_emu to kernel API changes * Adapt to changes in kernel synchronization APIs. * Makes userlandfs work again.
|
#
4535495d |
|
10-Jan-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged the signals branch into trunk, with these changes: * The team and thread kernel structures have been renamed to Team and Thread respectively and moved into the new BKernel namespace. * Several (kernel add-on) sources have been converted from C to C++ since private kernel headers are included that are no longer C compatible. Changes after merging: * Fixed gcc 2 build (warnings mainly in the scary firewire bus manager). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40196 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4e08fb85 |
|
22-Jul-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added rw_lock_read_lock_with_timeout(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c4f98312 |
|
07-Jan-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added new mutex_switch_from_read_lock() for unlocking a read lock and starting to lock a mutex in an atomic operation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34935 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ea2527f |
|
31-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
R/W lock implementation: * Changed the rw_lock_{read,write}_unlock() return values to void. They returned a value != B_OK only in case of user error and no-one checked them anyway. * Optimized rw_lock_read_[un]lock(). They are inline now and as long as there's no contending write locker, they will only perform an atomic_add(). * Changed the semantics of nested locking after acquiring a write lock: Read and write locks are counted separately, so read locks no longer implicitly become write locks. This does e.g. make degrading a write lock to a read lock by way of read_lock + write_unlock (as used in the VM) actually work. These changes speed up the -j8 Haiku image build on my machine by a few percent, but more interestingly they reduce the total kernel time by 25 %. Apparently we get more contention on other locks, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34830 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5c20c5a5 |
|
17-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced the mutex and read-write lock implementations by the kernel code, too. It's slightly adjusted to use the thread blocking syscalls and a benaphore style threads spinlock replacement. This solves the following problems: * The static mutex/rwlock initializers are safe now. * The rwlock implementation is compatible with the kernel implementation. E.g. a write lock owner can acquire a read lock, which would dead-lock before. * We don't use semaphores anymore. With a userland BFS one could quite easily hit the global semaphore limit before. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29579 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4a92b613 |
|
15-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
_mutex_trylock(): * The loop is unnecessary, since the call doesn't block anyway, so it can't be interrupted. * Set the holder, if KDEBUG is enabled. Otherwise the panic() in recursive_lock_unlock() would be triggered. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29556 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51ecdb00 |
|
08-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced the recursive lock implementation by the kernel implementation (slightly adjusted). It is completely based on mutexes, not needing any other problematic features. Not sure why the previous implementation was doing it differently. This also adds the previously missing recursive_lock_trylock(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29462 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52c8e07f |
|
08-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Broke kernelland_emu.cpp into several source files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d4501aa0187e1a8790784dc2ab3382a16660e93 |
|
20-Aug-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Assorted whitespace cleanup and typo fixes.
|
#
ffba66060b0155c987fc2232b803b243610c6430 |
|
29-Mar-2015 |
Michael Lotz <mmlr@mlotz.ch> |
UserlandFS: Make 64 bit clean and enable build for x86_64. I did not bother to fix the BeOS kernel emulation, so this part is still left out of the x86_64 build.
|
#
893367cf3096e3344bf5d1bc27f4037628eed2a3 |
|
20-Oct-2014 |
Michael Lotz <mmlr@mlotz.ch> |
libkernelland_emu: Sync _rw_lock_{read|write}_unlock API. The threadsLocked parameter was removed from the kernel API.
|
#
604770b31331951e0f9b44b368c21dc2b004d920 |
|
11-Jul-2014 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
Adapt kernelland_emu to kernel API changes * Adapt to changes in kernel synchronization APIs. * Makes userlandfs work again.
|
#
4535495d80c86e19e2610e7444a4fcefe3e0f8e6 |
|
10-Jan-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged the signals branch into trunk, with these changes: * The team and thread kernel structures have been renamed to Team and Thread respectively and moved into the new BKernel namespace. * Several (kernel add-on) sources have been converted from C to C++ since private kernel headers are included that are no longer C compatible. Changes after merging: * Fixed gcc 2 build (warnings mainly in the scary firewire bus manager). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40196 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4e08fb85894083c9e677a17405834bbb4d41d575 |
|
22-Jul-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added rw_lock_read_lock_with_timeout(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c4f983129280004a89041232f8420cac1548577c |
|
07-Jan-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added new mutex_switch_from_read_lock() for unlocking a read lock and starting to lock a mutex in an atomic operation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34935 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ea2527fe423046558f682ebabede8f959a875e3 |
|
31-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
R/W lock implementation: * Changed the rw_lock_{read,write}_unlock() return values to void. They returned a value != B_OK only in case of user error and no-one checked them anyway. * Optimized rw_lock_read_[un]lock(). They are inline now and as long as there's no contending write locker, they will only perform an atomic_add(). * Changed the semantics of nested locking after acquiring a write lock: Read and write locks are counted separately, so read locks no longer implicitly become write locks. This does e.g. make degrading a write lock to a read lock by way of read_lock + write_unlock (as used in the VM) actually work. These changes speed up the -j8 Haiku image build on my machine by a few percent, but more interestingly they reduce the total kernel time by 25 %. Apparently we get more contention on other locks, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34830 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5c20c5a552015ad721deadeb23bab3f84179163c |
|
17-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced the mutex and read-write lock implementations by the kernel code, too. It's slightly adjusted to use the thread blocking syscalls and a benaphore style threads spinlock replacement. This solves the following problems: * The static mutex/rwlock initializers are safe now. * The rwlock implementation is compatible with the kernel implementation. E.g. a write lock owner can acquire a read lock, which would dead-lock before. * We don't use semaphores anymore. With a userland BFS one could quite easily hit the global semaphore limit before. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29579 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4a92b6134fd71215f9e6164cbfe14ca3f38cd47e |
|
15-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
_mutex_trylock(): * The loop is unnecessary, since the call doesn't block anyway, so it can't be interrupted. * Set the holder, if KDEBUG is enabled. Otherwise the panic() in recursive_lock_unlock() would be triggered. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29556 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51ecdb00aa92ca41400589de4f96148feb010412 |
|
08-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced the recursive lock implementation by the kernel implementation (slightly adjusted). It is completely based on mutexes, not needing any other problematic features. Not sure why the previous implementation was doing it differently. This also adds the previously missing recursive_lock_trylock(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29462 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52c8e07fde35f1bea1e53f5df1dabfc6f523b8fd |
|
08-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Broke kernelland_emu.cpp into several source files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|