haiku/headers/private/kernel
Axel Dörfler eb117b4bfd Reworked the way thread_yield() works: just setting the thread to B_LOWEST_ACTIVE_PRIORITY
for one quantum wasn't really a good idea, as this could get quite expensive for the thread
(depending on the system load, it might have taken a long time until the thread was scheduled
again, no matter what priority it was).
Also, calling thread_yield() in a loop would have taken 100% CPU time.
Now, we sort the thread into the queue as with any other thread, but we'll ignore it once.
This now guarantees an actual context switch, as well as a much fairer rescheduling policy
for threads calling that function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 02:29:17 +00:00
..
arch pulled over some stuff from newos: 2007-02-05 01:46:28 +00:00
boot propagate required settings for the remote disk from boot loader to kernel (client-ip, server-ip, server-port) 2007-01-12 22:27:48 +00:00
disk_device_manager added disk systems rescan to DiskDeviceManager, and called it in the post init phase 2006-09-04 12:37:56 +00:00
fs * Factored out the vnode disconnection code from fs_unmount() to a separate 2006-03-28 01:13:12 +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
util Moved datastore implementation into net_buffer.cpp - there is no reason to clobber the kernel with it. 2006-09-28 18:27:30 +00:00
MessagingServiceDefs.h Removed obsolete struct. 2005-01-30 01:11:33 +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
console.h Made the header C++ safe. 2005-05-26 09:08:54 +00:00
cpu.h pulled over some stuff from newos: 2007-02-05 01:46:28 +00:00
debug.h Corrected the repeat checks (did not compare the right buffers) and added a length argument to debug_puts() to safe the strlen in the syslog case. Also removed some leftover. 2006-04-03 20:48:30 +00:00
elf.h Renamed elf_lookup_symbol_address() to elf_debug_lookup_symbol_address() and 2005-08-22 20:35:42 +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 * Improved kernel ELF loader (and made it more similar to the one from the boot 2006-03-26 15:58:43 +00:00
file_cache.h The file cache now has another init method that is called after the boot 2005-08-03 17:25:03 +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.h Enabled debugging kernel stacks by default for now. 2006-03-05 18:05:33 +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
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 Changed the signal handling code so that handle_signals() can be called without 2005-10-20 16:56:04 +00:00
ksyscalls.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
lock.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +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
port.h We now have a (private) writev_port_etc() call. This could be used to avoid 2005-07-13 23:55:15 +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 ACPI boot menu item is for bios_ia32 2007-01-13 19:55:14 +00:00
sem.h Removed execute property that was set accidently (since CVS days). 2005-03-18 01:50:45 +00:00
smp.h * We now support the global page feature of x86 processors that prevents 2005-12-14 17:07:37 +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 is_computer_on() lives again as a true syscall. 2007-02-04 21:08:35 +00:00
system_info.h Extended the get_system_info() mechanism; it now gets info about threads/teams 2004-11-30 21:06:11 +00:00
team.h * Renamed get_team_death_entry() to team_get_death_entry() and make it available 2007-01-09 23:58:59 +00:00
thread.h * Added a wait_for_thread_etc() function that allows specifying semaphore flags 2006-03-08 16:41:03 +00:00
thread_types.h Reworked the way thread_yield() works: just setting the thread to B_LOWEST_ACTIVE_PRIORITY 2007-02-06 02:29:17 +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 * Fail, if debug_thread() is invoked for the debug nub thread. 2005-11-03 00:40:36 +00:00
user_runtime.h Added a private call to get the dependencies of a loaded image. This will be used 2006-10-06 11:40:20 +00:00
vfs.h Improved error reporting when a failure to find/mount the root device occurs. 2007-01-12 18:09:15 +00:00
vm.h * Made vm_area_lookup() part of the kernel private API. 2007-01-14 23:26:20 +00:00
vm_address_space.h Separated vm_address_space.h from vm.h. 2005-12-20 15:54:45 +00:00
vm_cache.h * vm_copy_on_write_area() did not always correctly divide the ref_count of the 2007-01-14 18:41:57 +00:00
vm_low_memory.h Added new function vm_low_memory_state() that returns the current low 2005-12-15 21:30:28 +00:00
vm_page.h Added a "reenter" parameter to the {read|write}_pages() functions to give file 2006-04-12 13:34:04 +00:00
vm_priv.h Separated vm_address_space.h from vm.h. 2005-12-20 15:54:45 +00:00
vm_translation_map.h Implemented quite a hack to solve the lockless get_memory_map() problem (bug #349): 2006-04-30 17:45:33 +00:00
vm_types.h Fixed a couple of issues in our VM: 2007-02-01 12:12:54 +00:00