History log of /src/sys/uvm/uvm_meter.c |
Revision | | Date | Author | Comments |
1.80 |
| 14-Jun-2020 |
ad | Remove PG_ZERO. It worked brilliantly on x86 machines from the mid-90s but having spent an age experimenting with it over the last 6 months on various machines and with different use cases it's always either break-even or a slight net loss for me.
|
1.79 |
| 11-Jun-2020 |
ad | Counter tweaks:
- Don't need to count anonpages+filepages any more; clean+unknown+dirty for each kind of page can be summed to get the totals.
- Track the number of free pages with a counter so that it's one less thing for the allocator to do, which opens up further options there.
- Remove cpu_count_sync_one(). It has no users and doesn't save a whole lot. For the cheap option, give cpu_count_sync() a boolean parameter indicating that a cached value is okay, and rate limit the updates for cached values to hz.
|
1.78 |
| 11-Jun-2020 |
ad | uvm_availmem(): give it a boolean argument to specify whether a recent cached value will do, or if the very latest total must be fetched. It can be called thousands of times a second and fetching the totals impacts not only the calling LWP but other CPUs doing unrelated activity in the VM system.
|
1.77 |
| 23-May-2020 |
ad | Move proc_lock into the data segment. It was dynamically allocated because at the time we had mutex_obj_alloc() but not __cacheline_aligned.
|
1.76 |
| 22-Mar-2020 |
ad | Process concurrent page faults on individual uvm_objects / vm_amaps in parallel, where the relevant pages are already in-core. Proposed on tech-kern.
Temporarily disabled on MP architectures with __HAVE_UNLOCKED_PMAP until adjustments are made to their pmaps.
|
1.75 |
| 19-Mar-2020 |
ad | sysctl_vm_uvmexp2(): some counters were needlessly truncated.
|
1.74 |
| 15-Jan-2020 |
ad | Merge from yamt-pagecache (after much testing):
- Reduce unnecessary page scan in putpages esp. when an object has a ton of pages cached but only a few of them are dirty.
- Reduce the number of pmap operations by tracking page dirtiness more precisely in uvm layer.
|
1.73 |
| 31-Dec-2019 |
ad | branches: 1.73.2; Rename uvm_free() -> uvm_availmem().
|
1.72 |
| 21-Dec-2019 |
ad | Counter tweaks:
"zeroaborts" + "free" don't need to be per-CPU counters, and "bucketmiss" wasn't used. Remove those and cluster by usage.
|
1.71 |
| 21-Dec-2019 |
ad | uvmexp.free -> uvm_free()
|
1.70 |
| 16-Dec-2019 |
ad | - Extend the per-CPU counters matt@ did to include all of the hot counters in UVM, excluding uvmexp.free, which needs special treatment and will be done with a separate commit. Cuts system time for a build by 20-25% on a 48 CPU machine w/DIAGNOSTIC.
- Avoid 64-bit integer divide on every fault (for rnd_add_uint32).
|
1.69 |
| 07-Jan-2019 |
jdolecek | add sysctl to easily set ubc_direct
PR kern/53124
|
1.68 |
| 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.67 |
| 02-Dec-2017 |
mrg | branches: 1.67.2; 1.67.4; add two new members to uvmexp_sysctl{}: bootpages and poolpages. bootpages is set to the pages allocated via uvm_pageboot_alloc(). poolpages is calculated from the list of pools nr_pages members.
this brings us closer to having a valid total of pages known by the system, vs actual pages originally managed.
XXX: poolpages needs some handling for PR_RECURSIVE pools still.
|
1.66 |
| 02-Jul-2017 |
joerg | Export the guard size of the main thread via vm.guard_size. Add a complementary writable sysctl for the initial guard size of threads created via pthread_create. Let the existing attribut accessors do the right thing. Raise the default guard size for threads to 64KB.
|
1.65 |
| 01-Dec-2014 |
msaitoh | branches: 1.65.10; Sort in uvmexp_sysctl's order for readability. No functional change.
|
1.64 |
| 01-Dec-2014 |
msaitoh | Fix a bug that "vmstat -s" print uvmexp.ncolors incorrectly.
|
1.63 |
| 26-Feb-2014 |
martin | branches: 1.63.4; 1.63.6; Fix copy & pasto
|
1.62 |
| 26-Feb-2014 |
matt | Add vm.min_address and vm.max_address which return VM_MIN_ADDRESS and VM_MAXUSER_ADDRESS.
|
1.61 |
| 25-Feb-2014 |
pooka | Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before the sysctl link sets are processed, and remove redundancy.
Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate lines of code.
|
1.60 |
| 02-Jun-2012 |
dsl | branches: 1.60.2; 1.60.4; Add some pre-processor magic to verify that the type of the data item passed to sysctl_createv() actually matches the declared type for the item itself. In the places where the caller specifies a function and a structure address (typically the 'softc') an explicit (void *) cast is now needed. Fixes bugs in sys/dev/acpi/asus_acpi.c sys/dev/bluetooth/bcsp.c sys/kern/vfs_bio.c sys/miscfs/syncfs/sync_subr.c and setting AcpiGbl_EnableAmlDebugObject. (mostly passing the address of a uint64_t when typed as CTLTYPE_INT). I've test built quite a few kernels, but there may be some unfixed MD fallout. Most likely passing &char[] to char *. Also add CTLFLAG_UNSIGNED for unsiged decimals - not set yet.
|
1.59 |
| 27-Jan-2012 |
para | extending vmem(9) to be able to allocated resources for it's own needs. simplifying uvm_map handling (no special kernel entries anymore no relocking) make malloc(9) a thin wrapper around kmem(9) (with private interface for interrupt safety reasons)
releng@ acknowledged
|
1.58 |
| 30-Dec-2011 |
christos | prevent kernel from writing more than userland passed.
|
1.57 |
| 13-Nov-2011 |
christos | branches: 1.57.4; if you are going to dereference a variable, check the variable itself, not it cousin.
|
1.56 |
| 02-Feb-2011 |
chuck | branches: 1.56.4; udpate license clauses on my code to match the new-style BSD licenses. based on second diff that rmind@ sent me.
no functional change with this commit.
|
1.55 |
| 20-Dec-2010 |
matt | branches: 1.55.2; 1.55.4; Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
|
1.54 |
| 16-Nov-2010 |
enami | Nowadays, comparing priority against PZERO doesn't make any sense. Instead, see if a process waits uninterruptibly like ps does, so that the second column (`b') of default vmstat output prints some useful value (-t is still broken though).
|
1.53 |
| 06-Nov-2010 |
uebayasi | Include uvm/uvm.h because this is part of UVM.
|
1.52 |
| 16-Apr-2010 |
rmind | - Merge sched_pstats() and uvm_meter()/uvm_loadav(). Avoids double loop through all LWPs and duplicate locking overhead.
- Move sched_pstats() from soft-interrupt context to process 0 main loop. Avoids blocking effect on real-time threads. Mostly fixes PR/38792.
Note: it might be worth to move the loop above PRI_PGDAEMON. Also, sched_pstats() might be cleaned-up slightly.
|
1.51 |
| 11-Apr-2010 |
mrg | now that CTLTYPE_BOOL actually works, use it to export vm_page_zero_enable as vm.idlezero in a way that actually works on big endian systems.
|
1.50 |
| 21-Oct-2009 |
rmind | branches: 1.50.2; 1.50.4; Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828. - Some simplification in threading and sleepq subsystems. - Eliminates pmap_collect() and, as a side note, allows pmap optimisations. - Eliminates XS_CTL_DATA_ONSTACK in scsipi code. - Avoids few scans on LWP list and thus potentially long holds of proc_lock. - Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k. - Removes __SWAP_BROKEN cases.
Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on acorn26 (thanks to <bjh21>).
Discussed on <tech-kern>, reviewed by <ad>.
|
1.49 |
| 04-Jun-2008 |
ad | branches: 1.49.8; 1.49.14; 1.49.16; 1.49.18; - vm_page: put listq, pageq into a union alongside a LIST_ENTRY, so we can use both types of list.
- Make page coloring and idle zero state per-CPU.
- Maintain per-CPU page freelists. When freeing, put pages onto the local CPU's lists and the global lists. When allocating, prefer to take pages from the local CPU. If none are available take from the global list as done now. Proposed on tech-kern@.
|
1.48 |
| 24-Apr-2008 |
ad | branches: 1.48.2; 1.48.4; Network protocol interrupts can now block on locks, so merge the globals proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock). Implications:
- Inspecting process state requires thread context, so signals can no longer be sent from a hardware interrupt handler. Signal activity must be deferred to a soft interrupt or kthread.
- As the proc state locking is simplified, it's now safe to take exit() and wait() out from under kernel_lock.
- The system spends less time at IPL_SCHED, and there is less lock activity.
|
1.47 |
| 26-Feb-2007 |
yamt | branches: 1.47.38; 1.47.40; implement priority inheritance.
|
1.46 |
| 17-Feb-2007 |
pavel | Change the process/lwp flags seen by userland via sysctl back to the P_*/L_* naming convention, and rename the in-kernel flags to avoid conflict. (P_ -> PK_, L_ -> LW_ ). Add back the (now unused) LSDEAD constant.
Restores source compatibility with pre-newlock2 tools like ps or top.
Reviewed by Andrew Doran.
|
1.45 |
| 15-Feb-2007 |
ad | branches: 1.45.2; Fix load average calculation:
- Don't consider kernel threads when calculating the load average. Their priorities are no longer adjusted by the scheduler, and their level of activity is dependent upon running user processes. - Change the (l->l_priority > PZERO) check in uvm_meter() to (l->l_flag & L_SINTR). I think this check was originally intended to weed out processes sleeping interruptably.
|
1.44 |
| 09-Feb-2007 |
ad | Merge newlock2 to head.
|
1.43 |
| 01-Nov-2006 |
yamt | branches: 1.43.2; 1.43.4; remove some __unused from function parameters.
|
1.42 |
| 12-Oct-2006 |
dogcow | even more __unused.
|
1.41 |
| 15-Sep-2006 |
yamt | branches: 1.41.2; merge yamt-pdpolicy branch. - separate page replacement policy from the rest of kernel - implement an alternative replacement policy
|
1.40 |
| 07-Jun-2006 |
kardel | branches: 1.40.6; merge FreeBSD timecounters from branch simonb-timecounters - struct timeval time is gone time.tv_sec -> time_second - struct timeval mono_time is gone mono_time.tv_sec -> time_uptime - access to time via {get,}{micro,nano,bin}time() get* versions are fast but less precise - support NTP nanokernel implementation (NTP API 4) - further reading: Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
|
1.39 |
| 21-Dec-2005 |
yamt | branches: 1.39.4; 1.39.6; 1.39.8; 1.39.14; whitespace in SYSCTL_DESCR.
|
1.38 |
| 21-Dec-2005 |
yamt | make length of inactive queue tunable by sysctl. (vm.inactivepct)
|
1.37 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.36 |
| 09-Nov-2005 |
simonb | Whitespace nit.
|
1.35 |
| 27-Jun-2005 |
thorpej | branches: 1.35.2; Use ANSI function decls.
|
1.34 |
| 15-May-2005 |
yamt | remove anon related statistics which are no longer used.
|
1.33 |
| 10-Oct-2004 |
yamt | expose vm_page_zero_enable as vm.idlezero sysctl. XXX assuming boolean_t == int.
|
1.32 |
| 25-May-2004 |
atatat | Sysctl descriptions under vm subtree
|
1.31 |
| 24-Mar-2004 |
atatat | branches: 1.31.2; Tango on sysctl_createv() and flags. The flags have all been renamed, and sysctl_createv() now uses more arguments.
|
1.30 |
| 24-Mar-2004 |
junyoung | - Nuke __P(). - Drop trailing spaces.
|
1.29 |
| 11-Jan-2004 |
yamt | sysctl_vm_updateminmax: fix swapped filemin and execmin. the problem reported by Vesbula on current-users@.
|
1.28 |
| 07-Dec-2003 |
tsutsui | Allow sysctl(8) to update vm.{anon,exec,file}{min,max}.
XXX needs sysctl(9) man page to confirm this change..
|
1.27 |
| 04-Dec-2003 |
atatat | Dynamic sysctl.
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(), vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all nodes are registered with the tree, and nodes can be added (or removed) easily, and I/O to and from the tree is handled generically.
Since the nodes are registered with the tree, the mapping from name to number (and back again) can now be discovered, instead of having to be hard coded. Adding new nodes to the tree is likewise much simpler -- the new infrastructure handles almost all the work for simple types, and just about anything else can be done with a small helper function.
All existing nodes are where they were before (numerically speaking), so all existing consumers of sysctl information should notice no difference.
PS - I'm sorry, but there's a distinct lack of documentation at the moment. I'm working on sysctl(3/8/9) right now, and I promise to watch out for buses.
|
1.26 |
| 29-Jun-2003 |
fvdl | branches: 1.26.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.25 |
| 28-Jun-2003 |
darrenr | Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
1.24 |
| 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
1.23 |
| 09-Dec-2001 |
chs | add {anon,file,exec}max as a upper bound on the amount of memory that will be allocated for the respective usage types when there is contention for memory.
replace "vnode" and "vtext" with "file" and "exec" in uvmexp field names and sysctl names.
|
1.22 |
| 10-Nov-2001 |
lukem | add RCSIDs, and in some cases, slightly cleanup #include order
|
1.21 |
| 14-Jul-2001 |
matt | branches: 1.21.4; Add support for kern.maxphys, vm.maxslp, vm.uspace (the later two for ps).
|
1.20 |
| 02-Jun-2001 |
chs | branches: 1.20.2; replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
|
1.19 |
| 25-May-2001 |
chs | remove trailing whitespace.
|
1.18 |
| 29-Apr-2001 |
thorpej | Implement page coloring, using a round-robin bucket selection algorithm (Solaris calls this "Bin Hopping").
This implementation currently relies on MD code to define a constant defining the number of buckets. This will change reasonably soon (MD code will be able to dynamically size the bucket array).
|
1.17 |
| 09-Mar-2001 |
chs | add UBC memory-usage balancing. we track the number of pages in use for each of the basic types (anonymous data, executable image, cached files) and prevent the pagedaemon from reusing a given page if that would reduce the count of that type of page below a sysctl-setable minimum threshold. the thresholds are controlled via three new sysctl tunables: vm.anonmin, vm.vnodemin, and vm.vtextmin. these tunables are the percentages of pageable memory reserved for each usage, and we do not allow the sum of the minimums to be more than 95% so that there's always some memory that can be reused.
|
1.16 |
| 30-Nov-2000 |
simonb | branches: 1.16.2; Move uvm_pgcnt_vnode and uvm_pgcnt_anon into uvmexp (as vnodepages and anonpages), and add vtextpages which is currently unused but will be used to trace the number of pages used by vtext vnodes.
|
1.15 |
| 29-Nov-2000 |
simonb | Add a vm.uvmexp2 sysctl that uses a ABI-safe 'struct uvmexp_sysctl'.
|
1.14 |
| 24-Nov-2000 |
chs | use queue.h macros and other misc cleanup.
|
1.13 |
| 27-Jun-2000 |
mrg | remove include of <vm/vm.h>
|
1.12 |
| 26-May-2000 |
thorpej | Introduce a new process state distinct from SRUN called SONPROC which indicates that the process is actually running on a processor. Test against SONPROC as appropriate rather than combinations of SRUN and curproc. Update all context switch code to properly set SONPROC when the process becomes the current process on the CPU.
|
1.11 |
| 11-Feb-2000 |
thorpej | Add some very simple code to auto-size the kmem_map. We take the amount of physical memory, divide it by 4, and then allow machine dependent code to place upper and lower bounds on the size. Export the computed value to userspace via the new "vm.nkmempages" sysctl.
NKMEMCLUSTERS is now deprecated and will generate an error if you attempt to use it. The new option, should you choose to use it, is called NKMEMPAGES, and two new options NKMEMPAGES_MIN and NKMEMPAGES_MAX allow the user to configure the bounds in the kernel config file.
|
1.10 |
| 25-Jul-1999 |
thorpej | branches: 1.10.2; Turn the proclist lock into a read/write spinlock. Update proclist locking calls to reflect this. Also, block statclock rather than softclock during in the proclist locking functions, to address a problem reported on current-users by Sean Doran.
|
1.9 |
| 22-Jul-1999 |
thorpej | Garbage collect thread_sleep()/thread_wakeup() left over from the old Mach VM code. Also nuke iprintf(), which was no longer used anywhere.
Add proclist locking where appropriate.
|
1.8 |
| 25-Mar-1999 |
mrg | branches: 1.8.4; remove now >1 year old pre-release message.
|
1.7 |
| 09-Aug-1998 |
perry | bzero->memset, bcopy->memcpy, bcmp->memcmp
|
1.6 |
| 09-Mar-1998 |
mrg | KNF.
|
1.5 |
| 08-Feb-1998 |
mrg | fill out vmtotals: t_free, t_vm, t_avm, t_rm and t_arm. leaves shared of same, and t_pw.
|
1.4 |
| 07-Feb-1998 |
mrg | KNF.
|
1.3 |
| 07-Feb-1998 |
mrg | restore rcsids
|
1.2 |
| 06-Feb-1998 |
thorpej | RCS ID police.
|
1.1 |
| 05-Feb-1998 |
mrg | branches: 1.1.1; Initial revision
|
1.1.1.1 |
| 05-Feb-1998 |
mrg | initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some minor portions derived from the old Mach code. i provided some help getting swap and paging working, and other bug fixes/ideas. chuck silvers <chuq@chuq.com> also provided some other fixes.
this is the UVM kernel code portion.
this will be KNF'd shortly. :-)
|
1.8.4.1 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.10.2.3 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.10.2.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.10.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.16.2.7 |
| 12-Jul-2002 |
nathanw | No longer need to pull in lwp.h; proc.h pulls it in for us.
|
1.16.2.6 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.16.2.5 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.16.2.4 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.16.2.3 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.16.2.2 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.16.2.1 |
| 05-Mar-2001 |
nathanw | Initial commit of scheduler activations and lightweight process support.
|
1.20.2.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.20.2.1 |
| 03-Aug-2001 |
lukem | update to -current
|
1.21.4.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.26.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.26.2.5 |
| 19-Oct-2004 |
skrll | Sync with HEAD
|
1.26.2.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.26.2.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.26.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.26.2.1 |
| 02-Jul-2003 |
darrenr | Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel.
|
1.31.2.1 |
| 28-May-2004 |
tron | Pull up revision 1.32 (requested by atatat in ticket #389): Sysctl descriptions under vm subtree
|
1.35.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.35.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.35.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.35.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.39.14.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.39.8.2 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.39.8.1 |
| 05-Mar-2006 |
yamt | separate page replacement policy from the rest of kernel.
|
1.39.6.1 |
| 04-Feb-2006 |
simonb | Adapt for timecounters: mostly use get*time() and use "time_second" instead of "time.tv_sec".
|
1.39.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.40.6.3 |
| 29-Dec-2006 |
ad | Checkpoint work in progress.
|
1.40.6.2 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.40.6.1 |
| 11-Sep-2006 |
ad | - Allocate and free turnstiles where needed. - Split proclist_mutex and alllwp_mutex out of the proclist_lock, and use in interrupt context. - Fix an MP race in enterpgrp()/setsid(). - Acquire proclist_lock and p_crmutex in some obvious places.
|
1.41.2.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.41.2.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.43.4.1 |
| 29-Oct-2007 |
wrstuden | Catch up with 4.0 RC3
|
1.43.2.2 |
| 19-Nov-2011 |
bouyer | Pull up following revision(s) (requested by christos in ticket #1436): sys/uvm/uvm_meter.c: revision 1.57 via patch if you are going to dereference a variable, check the variable itself, not it cousin.
|
1.43.2.1 |
| 12-Oct-2007 |
riz | branches: 1.43.2.1.4; Pull up following revision(s) (requested by ad in ticket #929): sys/uvm/uvm_meter.c: revision 1.45 (via patch) Fix load average calculation: - Don't consider kernel threads when calculating the load average. Their priorities are no longer adjusted by the scheduler, and their level of activity is dependent upon running user processes. - Change the (l->l_priority > PZERO) check in uvm_meter() to (l->l_flag & L_SINTR). I think this check was originally intended to weed out processes sleeping interruptably.
|
1.43.2.1.4.1 |
| 19-Nov-2011 |
bouyer | Pull up following revision(s) (requested by christos in ticket #1436): sys/uvm/uvm_meter.c: revision 1.57 via patch if you are going to dereference a variable, check the variable itself, not it cousin.
|
1.45.2.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.47.40.2 |
| 17-Jun-2008 |
yamt | sync with head.
|
1.47.40.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.47.38.2 |
| 05-Jun-2008 |
mjf | Sync with HEAD.
Also fix build.
|
1.47.38.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.48.4.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.48.2.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.48.2.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.48.2.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.49.18.1 |
| 18-Nov-2011 |
sborrill | Pull up the following revisions(s) (requested by christos in ticket #1691): sys/uvm/uvm_meter.c: revision 1.57
Dereference correct variable and thus stop a sysctl crash.
|
1.49.16.4 |
| 12-Apr-2012 |
matt | Separate object-less anon pages out of the active list if there is no swap device. Make uvm_reclaimable and uvm.*estimatable understand colors and kmem allocations.
|
1.49.16.3 |
| 09-Feb-2012 |
matt | Major changes to uvm. Support multiple collections (groups) of free pages and run the page reclaimation algorithm on each group independently.
|
1.49.16.2 |
| 03-Jun-2011 |
matt | Restore $NetBSD$
|
1.49.16.1 |
| 03-Jun-2011 |
matt | Rework page free lists to be sorted by color first rather than free_list. Kept per color PGFL_* counter in each page free list. Minor cleanups.
|
1.49.14.1 |
| 18-Nov-2011 |
sborrill | Pull up the following revisions(s) (requested by christos in ticket #1691): sys/uvm/uvm_meter.c: revision 1.57
Dereference correct variable and thus stop a sysctl crash.
|
1.49.8.1 |
| 18-Nov-2011 |
sborrill | Pull up the following revisions(s) (requested by christos in ticket #1691): sys/uvm/uvm_meter.c: revision 1.57
Dereference correct variable and thus stop a sysctl crash.
|
1.50.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.50.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.50.2.3 |
| 09-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.50.2.2 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.50.2.1 |
| 28-Apr-2010 |
uebayasi | Adjustment for uvm/uvm_page.h. More to follow later.
|
1.55.4.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.55.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.56.4.11 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.56.4.10 |
| 30-Oct-2012 |
yamt | sync with head
|
1.56.4.9 |
| 17-Apr-2012 |
yamt | sync with head
|
1.56.4.8 |
| 05-Feb-2012 |
yamt | turn vm.loanread sysctl to a threshold.
|
1.56.4.7 |
| 11-Jan-2012 |
yamt | create a sysctl knob to turn on/off loaned read.
|
1.56.4.6 |
| 26-Dec-2011 |
yamt | - use O->A loan to serve read(2). based on a patch from Chuck Silvers - associated O->A loan fixes.
|
1.56.4.5 |
| 20-Nov-2011 |
yamt | - fix page loaning XXX make O->A loaning further - add some statistics
|
1.56.4.4 |
| 14-Nov-2011 |
yamt | might dirty -> possibly dirty suggested by wiz@
|
1.56.4.3 |
| 13-Nov-2011 |
yamt | a patch supposed to unbreak abi from christos@ PR/45598
|
1.56.4.2 |
| 12-Nov-2011 |
yamt | redo the page clean/dirty/unknown accounting separately for file and anonymous pages
|
1.56.4.1 |
| 11-Nov-2011 |
yamt | - track the number of clean/dirty/unknown pages in the system. - g/c PG_MARKER
|
1.57.4.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.60.4.1 |
| 18-May-2014 |
rmind | sync with head
|
1.60.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.60.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.63.6.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.63.6.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.63.4.1 |
| 17-Dec-2014 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #329): sys/uvm/uvm_meter.c: revision 1.64 sys/uvm/uvm_meter.c: revision 1.65 Fix a bug that "vmstat -s" prints uvmexp.ncolors incorrectly. Sort in uvmexp_sysctl's order for readability. No functional change.
|
1.65.10.1 |
| 31-Aug-2017 |
bouyer | Pull up following revision(s) (requested by joerg in ticket #234): sys/arch/amd64/include/vmparam.h: revision 1.43 sys/kern/exec_subr.c: revision 1.79 lib/libpthread/pthread_int.h: revision 1.94 sys/arch/mips/include/vmparam.h: revision 1.58 sys/arch/mips/include/vmparam.h: revision 1.59 lib/libpthread/TODO: revision 1.19 sys/arch/powerpc/include/vmparam.h: revision 1.20 sys/arch/riscv/include/vmparam.h: revision 1.2 sys/arch/riscv/include/vmparam.h: revision 1.3 sys/arch/i386/include/vmparam.h: revision 1.85 tests/lib/libpthread/t_join.c: revision 1.9 sys/uvm/uvm_meter.c: revision 1.66 sys/uvm/uvm_param.h: revision 1.36 sys/kern/exec_subr.c: revision 1.80 sys/uvm/uvm_param.h: revision 1.37 sys/kern/exec_subr.c: revision 1.81 sys/kern/exec_subr.c: revision 1.82 lib/libpthread/pthread_attr_getguardsize.3: revision 1.4 lib/libpthread/pthread.c: revision 1.148 lib/libpthread/pthread_attr.c: revision 1.17 sys/arch/amd64/include/vmparam.h: revision 1.42 Always include a 1MB guard area beyond the end of stack. While ASLR will normally create a guard area as well, this provides a deterministic area for all binaries. Mitigates the rest of CVE-2017-1000374 and CVE-2017-1000375 from Qualys. Revert for the moment, creates problems on i386. Recommit exec_subr.c revision 1.79: Always include a 1MB guard area beyond the end of stack. While ASLR will normally create a guard area as well, this provides a deterministic area for all binaries. Mitigates the rest of CVE-2017-1000374 and CVE-2017-1000375 from Qualys. Additionally, change VM_DEFAULT_ADDRESS_TOPDOWN to include user_stack_guard_size in the size reservation. Update VM_DEFAULT_ADDRESS32_TOPDOWN to include guard area. Export the guard size of the main thread via vm.guard_size. Add a complementary writable sysctl for the initial guard size of threads created via pthread_create. Let the existing attribut accessors do the right thing. Raise the default guard size for threads to 64KB.
|
1.67.4.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.67.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.67.2.2 |
| 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.67.2.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.73.2.1 |
| 17-Jan-2020 |
ad | Sync with head.
|