haiku/headers/private/kernel
Axel Dörfler f8941839c3 * Reworked stealing pages: the page thief thread is gone now,
vm_page_reserve_pages() and vm_page_allocate_page() will now steal pages from
  the inactive queue as needed.
* We currently never steal active pages anymore, but this might need to be
  revised later (therefore, the page scanner never waits anymore, but uses
  mutex_trylock() to lock a cache).
* The page scanner and writer now both run at normal priority - let's see how
  that will work out.
* Introduced an inactive queue.
* Instead of shuffling pages around in the queue (and therefore destroying LRU)
  the page stealing mechanism now uses a marker page to be able to release the
  page lock without losing its position in the queue.
* The page writer now always grabs the whole release count of the semaphore, so
  that there won't be a huge backlog to catch up with. 
* vm_page_num_free_pages() now also includes the inactive queue as well as the
  reserved pages (they are no longer regarded as free pages).
* Added a insert_page_after() function that inserts a page after another one,
  needed by the marker code.
* clear_page() now gets a vm_page instead of a physical address which simplified
  some code.
* Removed superfluous initialization of the queues (if those aren't zeroed on
  start, we would have serious problems, anyway).
* Removed old and unimplemented dump_free_page_table() ("free_pages") KDL
  command.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 08:01:18 +00:00
..
arch * vm.h no longer includes vm_types.h - only those that actually need access 2007-09-27 12:21:33 +00:00
boot Added an identify_file_system() hook to the FS modules. The boot loader 2007-10-04 23:16:31 +00:00
disk_device_manager * The shadow_changed() FS and partitioning system hooks take an 2007-10-07 15:39:35 +00:00
fs * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00
platform/openfirmware Added some PPC support to the PCI bus manager. We scan the Open Firmware 2006-01-26 15:21:31 +00:00
slab added object_cache_reserve to allow cache users to pre-allocate slabs. 2007-04-29 21:45:23 +00:00
util MoveFrom() was broken. Fixes bug #1534. 2007-10-05 16:56:48 +00:00
block_cache.h First step into a new block allocation strategy for the block_cache 2005-05-13 18:18:28 +00:00
boot_device.h Moved declaration of gBootDevice into its own header. 2005-12-12 16:06:33 +00:00
boot_item.h The boot item list was not initialized; this was no problem, though, as 2005-06-13 13:01:13 +00:00
cbuf.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
condition_variable.h Addressed a deadlock race condition: Acquiration of condition variable 2007-10-01 22:24:42 +00:00
console.h Made the header C++ safe. 2005-05-26 09:08:54 +00:00
cpu.h yet another fix for #1018, which has at this point blossomed into a reorg of how AP cpus are initialized. 2007-02-19 00:11:24 +00:00
debug.h Added function dprintf_no_syslog(). It is basically equivalent to 2007-10-03 22:14:53 +00:00
elf32.h * Improved kernel ELF loader (and made it more similar to the one from the boot 2006-03-26 15:58:43 +00:00
elf_priv.h * struct vnode is an opaque type now, removed void* where it was used incorrectly. 2007-10-06 15:33:12 +00:00
elf.h Renamed elf_lookup_symbol_address() to elf_debug_lookup_symbol_address() and 2005-08-22 20:35:42 +00:00
file_cache.h * struct vnode is an opaque type now, removed void* where it was used incorrectly. 2007-10-06 15:33:12 +00:00
frame_buffer_console.h Some work in progress of the MTRR support. Shouldn't do any harm yet :-) 2005-12-13 00:06:52 +00:00
generic_syscall.h As suggested by Ingo, the "subsystem" parameter is now a string. That allows 2004-12-14 17:09:06 +00:00
int.h Changed the way handlers for edge triggered interrupt are called: now, we 2006-04-30 13:56:21 +00:00
kdevice_manager.h added a jam rule AddDriverRegistrationToHaikuImage to add device mappings on the image 2006-11-29 19:09:45 +00:00
kdriver_settings.h Added driver_settings support to the kernel_args structure. 2005-01-10 07:36:08 +00:00
kernel_daemon.h Added the kernel_daemon.h header which defines the init function for the 2003-01-26 17:27:42 +00:00
kernel.h Increased kernel stack size by another page. The network boot is more 2007-07-19 14:03:49 +00:00
kimage.h Added a image_debug_lookup_user_symbol_address() that one day may find symbol names 2005-11-04 17:25:58 +00:00
kmodule.h Added function prototypes for the kernel private load_module() and unload_module() calls. 2005-01-18 02:34:00 +00:00
kscheduler.h Changed the boot procedure a bit. 2005-10-25 16:59:12 +00:00
ksignal.h * Added is_signal_blocked() convenience function. 2007-09-06 02:03:43 +00:00
ksyscalls.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
lock.h * Added a mutex_trylock() function. 2007-09-25 16:41:52 +00:00
memheap.h * Even though our current heap is a temporary solution, the heap size depends 2006-03-19 15:02:21 +00:00
messaging.h Added _user_unregister_messaging_service(). Fixed second send_message() proto. 2005-01-24 01:19:03 +00:00
MessagingServiceDefs.h Removed obsolete struct. 2005-01-30 01:11:33 +00:00
Notifications.h bonefish+axeld: 2007-08-01 14:48:44 +00:00
port.h * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00
real_time_clock.h Added a _kern_get_timezone() syscall that can be used without needing to 2006-03-14 14:29:56 +00:00
real_time_data.h The real_time_data structure contains an architecture specific 2006-01-04 02:17:59 +00:00
safemode.h Implemented "fail_safe_video_mode" boot option; if you're using it, the app_server 2007-06-03 20:20:19 +00:00
sem.h * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00
smp.h this seems to solve the 'lock up on bootup on core 2' problem. 2007-03-01 08:09:28 +00:00
syscall_process_info.h Added syscalls for various process/group/session related functions. 2004-10-14 14:31:31 +00:00
syscalls.h * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00
system_info.h Added Haiku revision number to the kernel (same mechanism as used for 2007-05-19 15:36:32 +00:00
team.h * We store the ID of the controlling terminal and the foreground process 2007-09-06 02:16:25 +00:00
thread_types.h * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00
thread.h * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00
timer.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
tls.h Added another argument parameter for the thread creation code. Helps 2003-04-18 09:21:22 +00:00
user_atomic.h renamed atomic_read() into atomic_get() (since we already have atomic_set(), but not a atomic_write()) 2003-08-31 01:21:56 +00:00
user_debugger.h Set default team debug flags to 0. Threads of a team were 2007-08-30 01:10:46 +00:00
user_runtime.h Give the runtime loader a chance to reinit its semaphore after fork(). 2007-08-11 00:14:26 +00:00
vfs.h * Added a "canWait" argument to vfs_get_vnode() - you can use this to ignore 2007-10-08 16:06:32 +00:00
vm_address_space.h * vm.h no longer includes vm_types.h - only those that actually need access 2007-09-27 12:21:33 +00:00
vm_cache.h * vm.h no longer includes vm_types.h - only those that actually need access 2007-09-27 12:21:33 +00:00
vm_low_memory.h * register_low_memory_handler() was called too early by several kernel 2007-09-29 15:46:40 +00:00
vm_page.h bonefish+axeld: 2007-09-28 15:50:26 +00:00
vm_priv.h * Reworked stealing pages: the page thief thread is gone now, 2007-10-11 08:01:18 +00:00
vm_translation_map.h * Mapping a page might actually need memory - since we usually have locks that 2007-10-06 11:18:21 +00:00
vm_types.h * Added a acquire_unreferenced_ref() to vm_store 2007-10-06 15:35:38 +00:00
vm.h * vm_set_area_protection() would remap the whole area instead of just the page 2007-10-09 11:05:50 +00:00
wait_for_objects.h * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of 2007-10-02 19:47:31 +00:00