The NetBSD Project

CVS log for src/sys/uvm/uvm_meter.c

[BACK] Up to [] / src / sys / uvm

Request diff between arbitrary revisions

Default branch: MAIN
Current tag: MAIN

Revision 1.80 / (download) - annotate - [select for diffs], Sun Jun 14 21:41:42 2020 UTC (5 months, 1 week ago) by ad
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, HEAD
Changes since 1.79: +2 -14 lines
Diff to previous 1.79 (colored)

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.

Revision 1.79 / (download) - annotate - [select for diffs], Thu Jun 11 22:21:05 2020 UTC (5 months, 1 week ago) by ad
Branch: MAIN
Changes since 1.78: +15 -13 lines
Diff to previous 1.78 (colored)

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.

Revision 1.78 / (download) - annotate - [select for diffs], Thu Jun 11 19:20:47 2020 UTC (5 months, 1 week ago) by ad
Branch: MAIN
Changes since 1.77: +5 -5 lines
Diff to previous 1.77 (colored)

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

Revision 1.77 / (download) - annotate - [select for diffs], Sat May 23 23:42:44 2020 UTC (6 months ago) by ad
Branch: MAIN
Changes since 1.76: +4 -4 lines
Diff to previous 1.76 (colored)

Move proc_lock into the data segment.  It was dynamically allocated because
at the time we had mutex_obj_alloc() but not __cacheline_aligned.

Revision 1.76 / (download) - annotate - [select for diffs], Sun Mar 22 18:32:42 2020 UTC (8 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.75: +4 -2 lines
Diff to previous 1.75 (colored)

Process concurrent page faults on individual uvm_objects / vm_amaps in
parallel, where the relevant pages are already in-core.  Proposed on

Temporarily disabled on MP architectures with __HAVE_UNLOCKED_PMAP until
adjustments are made to their pmaps.

Revision 1.75 / (download) - annotate - [select for diffs], Thu Mar 19 20:23:19 2020 UTC (8 months ago) by ad
Branch: MAIN
Changes since 1.74: +8 -8 lines
Diff to previous 1.74 (colored)

sysctl_vm_uvmexp2(): some counters were needlessly truncated.

Revision 1.74 / (download) - annotate - [select for diffs], Wed Jan 15 17:55:45 2020 UTC (10 months, 1 week ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1
Changes since 1.73: +8 -2 lines
Diff to previous 1.73 (colored)

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.

Revision 1.73 / (download) - annotate - [select for diffs], Tue Dec 31 13:07:14 2019 UTC (10 months, 3 weeks ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.72: +5 -5 lines
Diff to previous 1.72 (colored)

Rename uvm_free() -> uvm_availmem().

Revision 1.72 / (download) - annotate - [select for diffs], Sat Dec 21 14:33:18 2019 UTC (11 months ago) by ad
Branch: MAIN
Changes since 1.71: +3 -4 lines
Diff to previous 1.71 (colored)

Counter tweaks:

"zeroaborts" + "free" don't need to be per-CPU counters, and "bucketmiss"
wasn't used.  Remove those and cluster by usage.

Revision 1.71 / (download) - annotate - [select for diffs], Sat Dec 21 13:00:25 2019 UTC (11 months ago) by ad
Branch: MAIN
Changes since 1.70: +9 -7 lines
Diff to previous 1.70 (colored) -> uvm_free()

Revision 1.70 / (download) - annotate - [select for diffs], Mon Dec 16 22:47:55 2019 UTC (11 months, 1 week ago) by ad
Branch: MAIN
Changes since 1.69: +98 -46 lines
Diff to previous 1.69 (colored)

- Extend the per-CPU counters matt@ did to include all of the hot counters
  in UVM, excluding, 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).

Revision 1.69 / (download) - annotate - [select for diffs], Mon Jan 7 22:48:01 2019 UTC (22 months, 2 weeks ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, netbsd-9-base, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.68: +10 -2 lines
Diff to previous 1.68 (colored)

add sysctl to easily set ubc_direct

PR kern/53124

Revision 1.68 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:37 2018 UTC (2 years, 2 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906
Changes since 1.67: +4 -4 lines
Diff to previous 1.67 (colored)

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

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!)

Revision 1.67 / (download) - annotate - [select for diffs], Sat Dec 2 08:15:43 2017 UTC (2 years, 11 months ago) by mrg
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.66: +4 -2 lines
Diff to previous 1.66 (colored)

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.

Revision 1.66 / (download) - annotate - [select for diffs], Sun Jul 2 16:41:33 2017 UTC (3 years, 4 months ago) by joerg
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Changes since 1.65: +14 -2 lines
Diff to previous 1.65 (colored)

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.

Revision 1.65 / (download) - annotate - [select for diffs], Mon Dec 1 04:11:14 2014 UTC (5 years, 11 months ago) by msaitoh
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, netbsd-8-base, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.64: +4 -4 lines
Diff to previous 1.64 (colored)

Sort in uvmexp_sysctl's order for readability. No functional change.

Revision 1.64 / (download) - annotate - [select for diffs], Mon Dec 1 04:02:40 2014 UTC (5 years, 11 months ago) by msaitoh
Branch: MAIN
Changes since 1.63: +3 -2 lines
Diff to previous 1.63 (colored)

 Fix a bug that "vmstat -s" print uvmexp.ncolors incorrectly.

Revision 1.63 / (download) - annotate - [select for diffs], Wed Feb 26 20:33:53 2014 UTC (6 years, 8 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base, netbsd-7-base
Branch point for: nick-nhusb, netbsd-7
Changes since 1.62: +4 -4 lines
Diff to previous 1.62 (colored)

Fix copy & pasto

Revision 1.62 / (download) - annotate - [select for diffs], Wed Feb 26 16:11:59 2014 UTC (6 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.61: +14 -2 lines
Diff to previous 1.61 (colored)

Add vm.min_address and vm.max_address which return VM_MIN_ADDRESS and

Revision 1.61 / (download) - annotate - [select for diffs], Tue Feb 25 18:30:13 2014 UTC (6 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.60: +2 -7 lines
Diff to previous 1.60 (colored)

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.

Revision 1.60 / (download) - annotate - [select for diffs], Sat Jun 2 21:36:48 2012 UTC (8 years, 5 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

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
(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.

Revision 1.59 / (download) - annotate - [select for diffs], Fri Jan 27 19:48:41 2012 UTC (8 years, 9 months ago) by para
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10
Changes since 1.58: +2 -8 lines
Diff to previous 1.58 (colored)

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

Revision 1.58 / (download) - annotate - [select for diffs], Fri Dec 30 19:01:07 2011 UTC (8 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.57: +4 -2 lines
Diff to previous 1.57 (colored)

prevent kernel from writing more than userland passed.

Revision 1.57 / (download) - annotate - [select for diffs], Sun Nov 13 02:10:40 2011 UTC (9 years ago) by christos
Branch: MAIN
CVS Tags: jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: jmcneill-usbmp
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

if you are going to dereference a variable, check the variable itself, not
it cousin.

Revision 1.56 / (download) - annotate - [select for diffs], Wed Feb 2 15:25:27 2011 UTC (9 years, 9 months ago) by chuck
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, uebayasi-xip-base7, rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: yamt-pagecache
Changes since 1.55: +3 -8 lines
Diff to previous 1.55 (colored)

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.

Revision 1.55 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:48 2010 UTC (9 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.54: +14 -9 lines
Diff to previous 1.54 (colored)

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>.

Revision 1.54 / (download) - annotate - [select for diffs], Tue Nov 16 03:49:53 2010 UTC (10 years ago) by enami
Branch: MAIN
Changes since 1.53: +3 -3 lines
Diff to previous 1.53 (colored)

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).

Revision 1.53 / (download) - annotate - [select for diffs], Sat Nov 6 12:18:17 2010 UTC (10 years ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base6, uebayasi-xip-base5
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored)

Include uvm/uvm.h because this is part of UVM.

Revision 1.52 / (download) - annotate - [select for diffs], Fri Apr 16 03:21:49 2010 UTC (10 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1
Changes since 1.51: +2 -66 lines
Diff to previous 1.51 (colored)

- 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.

Revision 1.51 / (download) - annotate - [select for diffs], Sun Apr 11 01:53:03 2010 UTC (10 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.50: +3 -3 lines
Diff to previous 1.50 (colored)

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.

Revision 1.50 / (download) - annotate - [select for diffs], Wed Oct 21 21:12:07 2009 UTC (11 years, 1 month ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base, matt-premerge-20091211, jym-xensuspend-nbase
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.49: +9 -19 lines
Diff to previous 1.49 (colored)

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>.

Revision 1.49 / (download) - annotate - [select for diffs], Wed Jun 4 12:45:28 2008 UTC (12 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, mjf-devfs2-base, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: netbsd-5-1, netbsd-5-0, netbsd-5, matt-nb5-mips64
Changes since 1.48: +4 -2 lines
Diff to previous 1.48 (colored)

- 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@.

Revision 1.48 / (download) - annotate - [select for diffs], Thu Apr 24 15:35:31 2008 UTC (12 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, yamt-nfs-mp-base, hpcarm-cleanup-nbase
Branch point for: yamt-nfs-mp, wrstuden-revivesa
Changes since 1.47: +6 -6 lines
Diff to previous 1.47 (colored)

Network protocol interrupts can now block on locks, so merge the globals
proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock).

- 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.

Revision 1.47 / (download) - annotate - [select for diffs], Mon Feb 26 09:20:54 2007 UTC (13 years, 9 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-pf42-baseX, yamt-pf42-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, yamt-idlelwp-base8, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, vmlocking-base, vmlocking, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, reinoud-bufcleanup, nick-net80211-sync-base, nick-net80211-sync, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, mjf-ufs-trans, mjf-devfs-base, mjf-devfs, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, jmcneill-pm, jmcneill-base, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-socklock-base1, ad-audiomp-base, ad-audiomp
Branch point for: yamt-pf42, mjf-devfs2
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

implement priority inheritance.

Revision 1.46 / (download) - annotate - [select for diffs], Sat Feb 17 22:31:45 2007 UTC (13 years, 9 months ago) by pavel
Branch: MAIN
Changes since 1.45: +6 -6 lines
Diff to previous 1.45 (colored)

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

Restores source compatibility with pre-newlock2 tools like ps or top.

Reviewed by Andrew Doran.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Feb 15 20:22:43 2007 UTC (13 years, 9 months ago) by ad
Branch: MAIN
Branch point for: yamt-idlelwp
Changes since 1.44: +16 -7 lines
Diff to previous 1.44 (colored)

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.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:43 2007 UTC (13 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Changes since 1.43: +9 -10 lines
Diff to previous 1.43 (colored)

Merge newlock2 to head.

Revision 1.43 / (download) - annotate - [select for diffs], Wed Nov 1 10:18:27 2006 UTC (14 years ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RC2, netbsd-4-0-RC1
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (colored)

remove some __unused from function parameters.

Revision 1.42 / (download) - annotate - [select for diffs], Thu Oct 12 20:18:19 2006 UTC (14 years, 1 month ago) by dogcow
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored)

even more __unused.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Sep 15 15:51:13 2006 UTC (14 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base
Branch point for: yamt-splraiseipl
Changes since 1.40: +59 -124 lines
Diff to previous 1.40 (colored)

merge yamt-pdpolicy branch.
	- separate page replacement policy from the rest of kernel
	- implement an alternative replacement policy

Revision 1.40 / (download) - annotate - [select for diffs], Wed Jun 7 22:34:44 2006 UTC (14 years, 5 months ago) by kardel
Branch: MAIN
CVS Tags: yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: newlock2
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 (colored)

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* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
  Timecounter Paper:
  NTP Nanokernel:

Revision 1.39 / (download) - annotate - [select for diffs], Wed Dec 21 12:23:44 2005 UTC (14 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, simonb-timecounters-base, peter-altq-base, peter-altq, elad-kernelauth-base, elad-kernelauth
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, chap-midi
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)

whitespace in SYSCTL_DESCR.

Revision 1.38 / (download) - annotate - [select for diffs], Wed Dec 21 12:19:04 2005 UTC (14 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.37: +45 -2 lines
Diff to previous 1.37 (colored)

make length of inactive queue tunable by sysctl.  (vm.inactivepct)

Revision 1.37 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:29 2005 UTC (14 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

merge ktrace-lwp.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Nov 9 12:47:39 2005 UTC (15 years ago) by simonb
Branch: MAIN
CVS Tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, ktrace-lwp-base
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

Whitespace nit.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Jun 27 02:19:48 2005 UTC (15 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-lazymbuf
Changes since 1.34: +6 -8 lines
Diff to previous 1.34 (colored)

Use ANSI function decls.

Revision 1.34 / (download) - annotate - [select for diffs], Sun May 15 08:01:06 2005 UTC (15 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.33: +2 -5 lines
Diff to previous 1.33 (colored)

remove anon related statistics which are no longer used.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Oct 10 09:57:31 2004 UTC (16 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Changes since 1.32: +8 -2 lines
Diff to previous 1.32 (colored)

expose vm_page_zero_enable as vm.idlezero sysctl.
XXX assuming boolean_t == int.

Revision 1.32 / (download) - annotate - [select for diffs], Tue May 25 04:31:17 2004 UTC (16 years, 6 months ago) by atatat
Branch: MAIN
Changes since 1.31: +42 -15 lines
Diff to previous 1.31 (colored)

Sysctl descriptions under vm subtree

Revision 1.31 / (download) - annotate - [select for diffs], Wed Mar 24 15:34:56 2004 UTC (16 years, 8 months ago) by atatat
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.30: +30 -17 lines
Diff to previous 1.30 (colored)

Tango on sysctl_createv() and flags.  The flags have all been renamed,
and sysctl_createv() now uses more arguments.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Mar 24 07:50:49 2004 UTC (16 years, 8 months ago) by junyoung
Branch: MAIN
Changes since 1.29: +5 -5 lines
Diff to previous 1.29 (colored)

- Nuke __P().
- Drop trailing spaces.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Jan 11 18:42:25 2004 UTC (16 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.28: +4 -4 lines
Diff to previous 1.28 (colored)

sysctl_vm_updateminmax: fix swapped filemin and execmin.
the problem reported by Vesbula on current-users@.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Dec 7 00:40:43 2003 UTC (16 years, 11 months ago) by tsutsui
Branch: MAIN
Changes since 1.27: +8 -8 lines
Diff to previous 1.27 (colored)

Allow sysctl(8) to update vm.{anon,exec,file}{min,max}.

XXX needs sysctl(9) man page to confirm this change..

Revision 1.27 / (download) - annotate - [select for diffs], Thu Dec 4 19:38:25 2003 UTC (16 years, 11 months ago) by atatat
Branch: MAIN
Changes since 1.26: +154 -100 lines
Diff to previous 1.26 (colored)

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

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.

Revision 1.26 / (download) - annotate - [select for diffs], Sun Jun 29 22:32:50 2003 UTC (17 years, 5 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.25 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:30 2003 UTC (17 years, 5 months ago) by darrenr
Branch: MAIN
Changes since 1.24: +4 -4 lines
Diff to previous 1.24 (colored)

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

Revision 1.24 / (download) - annotate - [select for diffs], Sat Jan 18 09:43:00 2003 UTC (17 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.23: +27 -27 lines
Diff to previous 1.23 (colored)

Merge the nathanw_sa branch.

Revision 1.23 / (download) - annotate - [select for diffs], Sun Dec 9 03:07:19 2001 UTC (18 years, 11 months ago) by chs
Branch: MAIN
CVS Tags: newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, ifpoll-base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, gehenna-devsw, fvdl_fs64_base, eeh-devprop-base, eeh-devprop
Changes since 1.22: +53 -41 lines
Diff to previous 1.22 (colored)

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.

Revision 1.22 / (download) - annotate - [select for diffs], Sat Nov 10 07:37:00 2001 UTC (19 years ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.21: +4 -1 lines
Diff to previous 1.21 (colored)

add RCSIDs, and in some cases, slightly cleanup #include order

Revision 1.21 / (download) - annotate - [select for diffs], Sat Jul 14 06:36:03 2001 UTC (19 years, 4 months ago) by matt
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache
Changes since 1.20: +7 -1 lines
Diff to previous 1.20 (colored)

Add support for kern.maxphys, vm.maxslp, vm.uspace (the later two for ps).

Revision 1.20 / (download) - annotate - [select for diffs], Sat Jun 2 18:09:27 2001 UTC (19 years, 5 months ago) by chs
Branch: MAIN
Branch point for: kqueue
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)

replace vm_map{,_entry}_t with struct vm_map{,_entry} *.

Revision 1.19 / (download) - annotate - [select for diffs], Fri May 25 04:06:15 2001 UTC (19 years, 6 months ago) by chs
Branch: MAIN
Changes since 1.18: +5 -5 lines
Diff to previous 1.18 (colored)

remove trailing whitespace.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Apr 29 04:23:21 2001 UTC (19 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.17: +3 -1 lines
Diff to previous 1.17 (colored)

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).

Revision 1.17 / (download) - annotate - [select for diffs], Fri Mar 9 01:02:12 2001 UTC (19 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.16: +41 -1 lines
Diff to previous 1.16 (colored)

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.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Nov 30 11:04:44 2000 UTC (19 years, 11 months ago) by simonb
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.15: +7 -2 lines
Diff to previous 1.15 (colored)

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.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Nov 29 09:52:19 2000 UTC (19 years, 11 months ago) by simonb
Branch: MAIN
Changes since 1.14: +90 -2 lines
Diff to previous 1.14 (colored)

Add a vm.uvmexp2 sysctl that uses a ABI-safe 'struct uvmexp_sysctl'.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Nov 24 18:54:31 2000 UTC (20 years ago) by chs
Branch: MAIN
Changes since 1.13: +6 -5 lines
Diff to previous 1.13 (colored)

use queue.h macros and other misc cleanup.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Jun 27 17:29:27 2000 UTC (20 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

remove include of <vm/vm.h>

Revision 1.12 / (download) - annotate - [select for diffs], Fri May 26 00:36:53 2000 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Changes since 1.11: +3 -1 lines
Diff to previous 1.11 (colored)

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.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Feb 11 19:22:54 2000 UTC (20 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.10: +4 -1 lines
Diff to previous 1.10 (colored)

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.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Jul 25 06:30:36 1999 UTC (21 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: thorpej_scsipi
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

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.

Revision 1.9 / (download) - annotate - [select for diffs], Thu Jul 22 22:58:38 1999 UTC (21 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.8: +5 -1 lines
Diff to previous 1.8 (colored)

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.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Mar 25 18:48:53 1999 UTC (21 years, 8 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Changes since 1.7: +1 -5 lines
Diff to previous 1.7 (colored)

remove now >1 year old pre-release message.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Aug 9 22:36:39 1998 UTC (22 years, 3 months ago) by perry
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

bzero->memset, bcopy->memcpy, bcmp->memcmp

Revision 1.6 / (download) - annotate - [select for diffs], Mon Mar 9 00:58:58 1998 UTC (22 years, 8 months ago) by mrg
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)


Revision 1.5 / (download) - annotate - [select for diffs], Sun Feb 8 22:23:33 1998 UTC (22 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.4: +16 -30 lines
Diff to previous 1.4 (colored)

fill out vmtotals: t_free, t_vm, t_avm, t_rm and t_arm.  leaves shared of same, and t_pw.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Feb 7 12:45:53 1998 UTC (22 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.3: +142 -144 lines
Diff to previous 1.3 (colored)


Revision 1.3 / (download) - annotate - [select for diffs], Sat Feb 7 11:09:08 1998 UTC (22 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.2: +1 -0 lines
Diff to previous 1.2 (colored)

restore rcsids

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 6 22:32:06 1998 UTC (22 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)

RCS ID police.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Feb 5 06:25:09 1998 UTC (22 years, 9 months ago) by mrg
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>