Searched +hist:59 +hist:dbd26f (Results 1 - 10 of 10) sorted by relevance
/haiku/headers/private/kernel/ | ||
H A D | heap.h | diff 255c9104 Mon Aug 03 07:59:45 MDT 2009 Michael Lotz <mmlr@mlotz.ch> * Rework the heap locking strategy. Use a read-write lock for the area lock to allow for more parallelism. Also introduce seperate locks for the bins and for page allocation. This greatly reduces lock contention and reduces the duration the locks are held due to them overall protecting less code. Now only allocations of the same size hitting the same allocator or allocating larger chunks of memory should block. Previously, basically any allocation and also free would be mutually exclusive, making it scale pretty badely. * Added memalign_nogrow(). As it uses heap_memalign() anyway, there's no real reason not to allow for an alignment. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32074 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 255c9104e52fbdf2c21189fb269ba6241ebea788 Mon Aug 03 07:59:45 MDT 2009 Michael Lotz <mmlr@mlotz.ch> * Rework the heap locking strategy. Use a read-write lock for the area lock to allow for more parallelism. Also introduce seperate locks for the bins and for page allocation. This greatly reduces lock contention and reduces the duration the locks are held due to them overall protecting less code. Now only allocations of the same size hitting the same allocator or allocating larger chunks of memory should block. Previously, basically any allocation and also free would be mutually exclusive, making it scale pretty badely. * Added memalign_nogrow(). As it uses heap_memalign() anyway, there's no real reason not to allow for an alignment. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32074 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f5f41a6c1272f6cac9c8cda4b19b79097 Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
/haiku/src/system/kernel/cache/ | ||
H A D | file_map.cpp | diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f5f41a6c1272f6cac9c8cda4b19b79097 Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
H A D | block_cache.cpp | diff eb26e782 Mon Jul 27 08:59:39 MDT 2009 Axel Dörfler <axeld@pinc-software.de> * Decoupled block_cache_used_memory() from the sCachesLock - this should fix the UI freezes (ActivityMonitor and ProcessController both use get_system_info() a lot), although this is only the symptom of another problem. * The downside is that the block cache usage information isn't as up to date as it was previously - it's updated by the block write/notifier thread now (worst case every 2 seconds). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31812 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 036cf4dd Sun May 11 18:56:59 MDT 2008 Jérôme Duval <korli@users.berlios.de> block_cache_delete(): only lock the cache mutex and avoid MutexLocker. the mutex is destroyed in the destructor. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25467 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff eb26e782f332b3a3e957f5868bd5d9af03d7f478 Mon Jul 27 08:59:39 MDT 2009 Axel Dörfler <axeld@pinc-software.de> * Decoupled block_cache_used_memory() from the sCachesLock - this should fix the UI freezes (ActivityMonitor and ProcessController both use get_system_info() a lot), although this is only the symptom of another problem. * The downside is that the block cache usage information isn't as up to date as it was previously - it's updated by the block write/notifier thread now (worst case every 2 seconds). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31812 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f5f41a6c1272f6cac9c8cda4b19b79097 Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 036cf4dd20cbfbd11631dcc62f75a02e709f53b6 Sun May 11 18:56:59 MDT 2008 Jérôme Duval <korli@users.berlios.de> block_cache_delete(): only lock the cache mutex and avoid MutexLocker. the mutex is destroyed in the destructor. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25467 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
/haiku/build/config_headers/ | ||
H A D | kernel_debug_config.h | diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f5f41a6c1272f6cac9c8cda4b19b79097 Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
/haiku/src/system/kernel/ | ||
H A D | smp.cpp | diff 077c84eb Tue Nov 05 14:32:59 MST 2013 Pawel Dziepak <pdziepak@quarnos.org> kernel: atomic_*() functions rework * No need for the atomically changed variables to be declared as volatile. * Drop support for atomically getting and setting unaligned data. * Introduce atomic_get_and_set[64]() which works the same as atomic_set[64]() used to. atomic_set[64]() does not return the previous value anymore. diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 077c84eb27b25430428d356f3d13afabc0cc0d13 Tue Nov 05 14:32:59 MST 2013 Pawel Dziepak <pdziepak@quarnos.org> kernel: atomic_*() functions rework * No need for the atomically changed variables to be declared as volatile. * Drop support for atomically getting and setting unaligned data. * Introduce atomic_get_and_set[64]() which works the same as atomic_set[64]() used to. atomic_set[64]() does not return the previous value anymore. diff 59dbd26f5f41a6c1272f6cac9c8cda4b19b79097 Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
H A D | sem.cpp | diff 87bdc2b0 Mon Aug 05 10:59:48 MDT 2019 Adrien Destugues <pulkomandy@pulkomandy.tk> fix dumping semaphores by name There was no check for strtoul success or failure (it returns 0 on failure but that is also a valid conversion result). Detect if endptr has been advanced instead (meaning there were some parsed characters in strtoul so the argument at least starts with a number) Change-Id: Ieefbd57a250ddcdb9362094389151c2a432e4c73 Reviewed-on: https://review.haiku-os.org/c/1683 Reviewed-by: Rene Gollent <rene@gollent.com> diff c83bde41 Thu Apr 05 09:35:59 MDT 2012 Ingo Weinhold <ingo_weinhold@gmx.de> switch_sem_etc(): Unbreak the actual switch case The scheduler lock was still being held when release_sem_etc() was called. The bug was introduced in 24df65921befcd0ad0c5c7866118f922da61cb96. Fixes #8448. diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 20e4f92c Sat Feb 23 09:01:59 MST 2008 Ingo Weinhold <ingo_weinhold@gmx.de> switch_sem_etc() doesn't check the return value of add_timer(), hence we need to make sure that we never get that far with a negative timeout or we'll wait forever. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24083 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 5aee691e Thu Jan 17 16:07:59 MST 2008 Ingo Weinhold <ingo_weinhold@gmx.de> The "sem" and "port" debugger commands set some temporary variables, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23595 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff c83bde410aa07480175ab2b0743c35da9a0572bb Thu Apr 05 09:35:59 MDT 2012 Ingo Weinhold <ingo_weinhold@gmx.de> switch_sem_etc(): Unbreak the actual switch case The scheduler lock was still being held when release_sem_etc() was called. The bug was introduced in 24df65921befcd0ad0c5c7866118f922da61cb96. Fixes #8448. diff 59dbd26f5f41a6c1272f6cac9c8cda4b19b79097 Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 20e4f92cf540b33a55c36a414b63057b948417dc Sat Feb 23 09:01:59 MST 2008 Ingo Weinhold <ingo_weinhold@gmx.de> switch_sem_etc() doesn't check the return value of add_timer(), hence we need to make sure that we never get that far with a negative timeout or we'll wait forever. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24083 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 5aee691ed843815dab1736dc5eb77d9cd20ea1ef Thu Jan 17 16:07:59 MST 2008 Ingo Weinhold <ingo_weinhold@gmx.de> The "sem" and "port" debugger commands set some temporary variables, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23595 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
H A D | heap.cpp | diff 4b6af34c Tue Jun 21 20:59:57 MDT 2022 Augustin Cavalier <waddlesplash@gmail.com> kernel: Move aligned_alloc to heap.cpp alongside calloc. It is independent of whatever heap implementation is actually in use, so it belongs in here (even if this file is probably not the right place for such functions in the first place.) This allows the kernel to be built once again with things other than the default slab heap. diff 0af21102 Sat Sep 21 12:59:52 MDT 2019 Augustin Cavalier <waddlesplash@gmail.com> kernel: Fix compiling the debug heap on x86_64. diff b7d3ddaa Sat Feb 06 18:59:53 MST 2010 Michael Lotz <mmlr@mlotz.ch> Sync kernel heap with alignment handling fixes, simplifications and performance improvements from debug heap in r35422. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35423 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 255c9104 Mon Aug 03 07:59:45 MDT 2009 Michael Lotz <mmlr@mlotz.ch> * Rework the heap locking strategy. Use a read-write lock for the area lock to allow for more parallelism. Also introduce seperate locks for the bins and for page allocation. This greatly reduces lock contention and reduces the duration the locks are held due to them overall protecting less code. Now only allocations of the same size hitting the same allocator or allocating larger chunks of memory should block. Previously, basically any allocation and also free would be mutually exclusive, making it scale pretty badely. * Added memalign_nogrow(). As it uses heap_memalign() anyway, there's no real reason not to allow for an alignment. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32074 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 0aad7342 Tue Jul 01 18:59:32 MDT 2008 Michael Lotz <mmlr@mlotz.ch> The simple alignment trick used before doesn't work with the new heap classes (it didn't really work previously anyway). The only alignment really used seems to be B_PAGE_SIZE, which happened to always work out before, because anything larger would have been allocated using individual pages anyway. Since larger bins are now available and with kernel heap leak checking enabled an allocation of B_PAGE_SIZE with B_PAGE_SIZE alignment is actually a bit bigger than B_PAGE_SIZE, it got into the 5KB bin, which didn't guarantee the alignment anymore. This would have caused a tripple fault on boot when kernel heap leak checking was enabled. The alignment is now taken into account when picking the bin for the allocation. Added a more detailed TODO as to why this isn't the best thing (wastes space) and how it could be changed if deemed necessary. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26212 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff b7d3ddaa0e180f67a65cf832a430aa665870e624 Sat Feb 06 18:59:53 MST 2010 Michael Lotz <mmlr@mlotz.ch> Sync kernel heap with alignment handling fixes, simplifications and performance improvements from debug heap in r35422. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35423 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 255c9104e52fbdf2c21189fb269ba6241ebea788 Mon Aug 03 07:59:45 MDT 2009 Michael Lotz <mmlr@mlotz.ch> * Rework the heap locking strategy. Use a read-write lock for the area lock to allow for more parallelism. Also introduce seperate locks for the bins and for page allocation. This greatly reduces lock contention and reduces the duration the locks are held due to them overall protecting less code. Now only allocations of the same size hitting the same allocator or allocating larger chunks of memory should block. Previously, basically any allocation and also free would be mutually exclusive, making it scale pretty badely. * Added memalign_nogrow(). As it uses heap_memalign() anyway, there's no real reason not to allow for an alignment. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32074 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f5f41a6c1272f6cac9c8cda4b19b79097 Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
/haiku/src/system/kernel/vm/ | ||
H A D | VMAnonymousCache.cpp | diff b7204bd7 Sat Oct 17 11:24:59 MDT 2009 Michael Lotz <mmlr@mlotz.ch> Make the swap hash lock into a rw_lock to reduce lock contention a bit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33622 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff b7204bd77433102b434df867c9747eab238ed086 Sat Oct 17 11:24:59 MDT 2009 Michael Lotz <mmlr@mlotz.ch> Make the swap hash lock into a rw_lock to reduce lock contention a bit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33622 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f5f41a6c1272f6cac9c8cda4b19b79097 Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
H A D | vm_page.cpp | diff 59c75457 Tue Jul 06 08:31:34 MDT 2010 Ingo Weinhold <ingo_weinhold@gmx.de> Fixed warnings with TRACE_VM_PAGE enabled. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37411 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 8a8043dc Sun Jun 13 12:59:11 MDT 2010 Ingo Weinhold <ingo_weinhold@gmx.de> vm_page_get_stats(): Forgot to added sIgnoredPages to system_info::max_pages in r37117 as well, which was really the main point of introducing it. Improves #6124 (reported memory lower than installed). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37127 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 5e0aacb9 Sat Jan 09 13:59:03 MST 2010 Ingo Weinhold <ingo_weinhold@gmx.de> vm_page_schedule_write_page_range(): The debug code was a bit too possessive. We can only access the page, if it is not busy. Fixes #5228. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34980 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff f34a1dd5 Wed Dec 02 12:55:59 MST 2009 Ingo Weinhold <ingo_weinhold@gmx.de> Created VMArea.{h,cpp} and moved VMArea and the global area hash table (new class VMAreaHash) there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34450 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 96b6a162 Wed Aug 27 19:49:59 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> Increased the number of pages the page writer tries to write per run. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27217 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff aacb158c Sat Aug 23 17:38:59 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * The LIMIT_AVAILABLE_MEMORY macro can be defined to limit the amount of RAM Haiku uses (for debugging purposes). * "page_stats" prints some more infos now. * page_writer(): - Moved the low_resource_state() invocation out of the inner loop. Reduces lock contention on the sLowResourceLock recursive lock. - Additional debug output: Every 1024 written pages the page writer prints a message. * steal_pages(): Addressed the TODO: When there should be pages to steal, but we can't get them ATM, we now timeout on the free pages condition variable instead of snoozing unconditionally, so that we wake up earlier when someone frees pages in the meantime. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27181 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 184de764 Wed Apr 30 19:59:09 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> Replaced the vm_cache mutex by a cutex. This should save quite a few semaphores. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25277 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59c754571e8afcc2ef9258e87154b3fd4817e941 Tue Jul 06 08:31:34 MDT 2010 Ingo Weinhold <ingo_weinhold@gmx.de> Fixed warnings with TRACE_VM_PAGE enabled. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37411 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
H A D | vm.cpp | diff a2270c70 Tue Jan 16 17:38:59 MST 2024 Augustin Cavalier <waddlesplash@gmail.com> kernel/vm: Avoid committing memory in vm_map_file for PRIVATE_MAP without PROT_WRITE. Instead, rely on commitment being done later, when the protections are changed. set_area_protection() already did just that, but set_memory_protection did not, so it is implemented here. Fixes #18733. Change-Id: Ia58aee93faf1296fce69d723b12d0fa0a8440706 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7339 Reviewed-by: waddlesplash <waddlesplash@gmail.com> diff bbd6beb7 Fri May 12 04:23:59 MDT 2023 Trung Nguyen <trungnt282910@gmail.com> kernel/vm: Allow more maximum protection for mmap'ed areas Always allow a memory region mapped by `map_file` to change its protection to any user protection flags other than `B_WRITE_AREA`. This flag should only be settable when the file is opened with write access. Change-Id: Icc00c08fc033b3bd6b6ceb2833bf566c72914007 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6389 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> Reviewed-by: John Scipione <jscipione@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com> diff 5c69be73 Fri Mar 11 12:16:59 MST 2022 Augustin Cavalier <waddlesplash@gmail.com> kernel/vm: De-wrap line for clarity. No functional change. Now it looks the same as the surrounding checks. diff 6dc4e9d7 Sun May 03 06:42:59 MDT 2020 Michael Lotz <mmlr@mlotz.ch> kernel/vm: Factor out condition for cache resizing in cut_area. Change-Id: I2c49b550f72b9778934abbf90a04579caa7b43f2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2587 Reviewed-by: waddlesplash <waddlesplash@gmail.com> diff 351575e0 Mon Apr 15 09:14:59 MDT 2019 Augustin Cavalier <waddlesplash@gmail.com> kernel/vm: Do not invoke the low_resource monitor in map_backing_store. As the comment implies, we don't want to wait here, but low_resource() waits forever when timeout=0. It doesn't seem to do anything with the "size" argument at all, so not calling it is just as effective, and so replace the comment there altogether. The case where this was most often hit, causing a full system deadlock in anything relating to memory management, was when the passed "size" was 0. So now we check for this case explicity at the beginning and panic() on KDEBUG kernels for it. diff 13fa4c84 Thu May 06 08:59:14 MDT 2010 Ingo Weinhold <ingo_weinhold@gmx.de> * Introduced new area creation flag CREATE_AREA_DONT_COMMIT_MEMORY. map_backing_store() doesn't commit memory when this flag is given. * Used the new flag vm_copy_area(): We no longer commit memory for read-only areas. This prevents read-only mapped files from suddenly requiring memory after fork(). Might improve the situation on machines with very little RAM a bit. We should probably mark writable copies over-committing, since the usual case is fork() + exec() where the child normally doesn't need more than a few pages until calling exec(). That would significantly reduce the memory requirement for jamming the Haiku tree. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36651 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff ab33f2d9 Thu Jan 28 13:16:59 MST 2010 Ingo Weinhold <ingo_weinhold@gmx.de> vm_create_null_area(): The area was created with B_NO_LOCK which would cause the wired count of manually mapped pages not to be decremented in delete_area(), leading to a "pages still has mappings" panic when the slab allocator's memory manager deleted areas. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35329 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff f34a1dd5 Wed Dec 02 12:55:59 MST 2009 Ingo Weinhold <ingo_weinhold@gmx.de> Created VMArea.{h,cpp} and moved VMArea and the global area hash table (new class VMAreaHash) there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34450 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 diff 59dbd26f Mon Oct 20 08:24:46 MDT 2008 Ingo Weinhold <ingo_weinhold@gmx.de> * Moved more debug macros to kernel_debug_config.h. * Turned the checks for all those macros to "#if"s instead of "#ifdef"s. * Introduced macro KDEBUG_LEVEL which serves as a master setting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
Completed in 2023 milliseconds