freebsd-skq/sys/vm
Bruce Evans 9a44a82b61 Fixed breakage of scheduling in rev.1.29 of subr_4bsd.c. The
"scheduler" here has very little to do with scheduling.  It is actually
the swapper, and it really must be the last SYSINIT'ed item like its
comment says, since proc0 metamorphoses into swapper by calling
scheduler() last in mi_start(), and scheduler() never returns..  Rev.1.29
of subr_4bsd.c broke this by adding another SI_ORDER_FIRST item
(kproc_start() for schedcpu_thread() onto the SI_SUB_RUN_SCHEDULER_LIST.
The sorting of SYSINITs with identical orders (at all levels) is
apparently nondeterministic, so this resulted in schedule() sometimes
being called second last and schedcpu_thread() not being called at all.

This quick fix just changes the code to almost match the comment
(SI_ORDER_FIRST -> SI_ORDER_ANY).  "LAST" is misspelled "ANY", and
there is no way to ensure that there is only 1 very lst SYSINIT.
A more complete fix would remove the SYSINIT obfuscation.
2004-01-29 12:35:11 +00:00
..
default_pager.c Access the swap_pagers' ->putpages() through swappagerops instead 2003-08-06 12:05:48 +00:00
device_pager.c Simplify the various pager allocation routines by computing the desired 2004-01-04 20:55:15 +00:00
phys_pager.c Simplify the various pager allocation routines by computing the desired 2004-01-04 20:55:15 +00:00
pmap.h Move pmap_resident_count() from the MD pmap.h to the MI pmap.h. 2003-10-06 01:47:12 +00:00
swap_pager.c 1. Statically initialize swap_pager_full and swap_pager_almost_full to the 2004-01-24 21:31:06 +00:00
swap_pager.h Staticize swap_pager_putpages() 2003-08-06 12:08:27 +00:00
uma_core.c Fix all users of mp_maxid to use the same semantics, namely: 2003-12-03 14:57:26 +00:00
uma_dbg.c Provide a bit more help with "memory overwritten after free" style bugs. 2003-09-27 21:33:13 +00:00
uma_dbg.h - Use my freebsd email alias in the copyright. 2002-09-19 06:05:32 +00:00
uma_int.h Increase UMA_BOOT_PAGES because of changes to pv entry initialization in 2004-01-18 05:51:06 +00:00
uma.h - Fix the silly flag situation in UMA. Remove redundant ZFLAG/ZONE flags 2003-09-19 08:37:44 +00:00
vm_contig.c Remove vm_page_alloc_contig(). It's now unused. 2004-01-14 06:21:38 +00:00
vm_extern.h Remove vm_page_alloc_contig(). It's now unused. 2004-01-14 06:21:38 +00:00
vm_fault.c - Reduce Giant's scope in vm_fault(). 2003-12-26 23:33:37 +00:00
vm_glue.c Fixed breakage of scheduling in rev.1.29 of subr_4bsd.c. The 2004-01-29 12:35:11 +00:00
vm_init.c Change clean_map from a global to an auto variable 2003-09-01 16:46:47 +00:00
vm_kern.c Unmanage pages allocated by kmem_alloc(). (There is no point in having PV 2004-01-10 00:22:33 +00:00
vm_kern.h More pipe changes: 2003-08-11 05:51:51 +00:00
vm_map.c - Modify vm_object_split() to expect a locked vm object on entry and 2003-12-30 22:28:36 +00:00
vm_map.h - Rename vm_map_clean() to vm_map_sync(). This better reflects the fact 2003-11-09 05:25:35 +00:00
vm_meter.c Avoid lock-order reversal between the vm object list mutex and the vm 2004-01-02 19:38:25 +00:00
vm_mmap.c - Correct an error in mincore(2) that has existed since its introduction: 2003-12-21 06:03:40 +00:00
vm_object.c Don't acquire Giant in vm_object_deallocate() unless the object is vnode- 2004-01-18 03:44:14 +00:00
vm_object.h - Rename vm_map_clean() to vm_map_sync(). This better reflects the fact 2003-11-09 05:25:35 +00:00
vm_page.c - Enable recursive acquisition of the mutex synchronizing access to the 2004-01-08 20:48:26 +00:00
vm_page.h - Align a comment within struct vm_page. 2003-10-25 18:33:04 +00:00
vm_pageout.c - Push down Giant from vm_pageout() to vm_pageout_scan(), freeing 2003-10-24 06:43:04 +00:00
vm_pageout.h - Increase the object lock's scope in vm_contig_launder() so that access 2003-10-18 21:09:21 +00:00
vm_pageq.c Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's 2003-08-12 23:24:05 +00:00
vm_pager.c - Remove comments referring to functions that no longer exist. 2003-10-20 05:16:27 +00:00
vm_pager.h - Push down Giant from vm_pageout() to vm_pageout_scan(), freeing 2003-10-24 06:43:04 +00:00
vm_param.h Rev 1.16 renamed VM_METER to VM_TOTAL. This is breaking 3rd-party apps. 2003-01-18 21:14:02 +00:00
vm_unix.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
vm_zeroidle.c - Add a flags parameter to mi_switch. The value of flags may be SW_VOL or 2004-01-25 03:54:52 +00:00
vm.h Change the way ELF coredumps are handled. Instead of unconditionally 2002-12-16 19:24:43 +00:00
vnode_pager.c Eliminate the acquisition and release of Giant from vnode_pager_alloc(). 2004-01-04 03:18:24 +00:00
vnode_pager.h Remove __P. 2002-03-19 22:20:14 +00:00