Commit Graph

122931 Commits

Author SHA1 Message Date
thorpej 4aeba6790d Initialize buffer pools with PR_IMMEDRELEASE. Don't use pool_reclaim()
on those pools; it is no longer necessary.
2004-01-09 19:01:01 +00:00
thorpej 7f125220f4 Add a new pool initialization flag, PR_IMMEDRELEASE. This flag causes
idle pool pages to be returned to the system immediately upon becoming
de-fragmented.

Also, in pool_do_put(), don't free back an idle page unless we are over
our minimum page claim.
2004-01-09 19:00:16 +00:00
perry 3682e63056 nuke trailing spaces. 2004-01-09 18:31:25 +00:00
cl c8017c0dc6 - add deadlock check to pthread_rwlock_wrlock and pthread_rwlock_timedwrlock
- return EPERM when unlocking a lock which isn't held
=> prevent the failure in PR 24023, where the citrus code had a deadlocking
   code path

- remove deadlock check in pthread_rwlock_tryrdlock, return EBUSY instead
=> makes pthread_rwlock_tryrdlock standards compliant
2004-01-09 18:08:28 +00:00
fredb d5fb378200 Back out CVS fallout from last commit. Really make this build again. 2004-01-09 17:00:02 +00:00
rtr ac1cc37221 md.x68k xserver list 2004-01-09 16:32:13 +00:00
rtr df7eda3518 Move
dpms.h dpmsstr.h xf86misc.h xf86mscstr.h xf86vmode.h xf86vmstr.h libXxf86misc.a
libXxf86vm.a

to mi since always installed.
2004-01-09 16:30:21 +00:00
rtr 41fa42cdde move xvidtune to xserver/mi since it's installed by all machines
XXX we may want to not install it at all, but this is better than
    having it spread across xbase for some machines and xserver
    for others in various md.<mach> files.
2004-01-09 16:22:12 +00:00
rtr 56f19445ac Remove from set lists, these are i386 specific (from rendition driver)
./usr/X11R6/lib/modules/v10002d.uc
./usr/X11R6/lib/modules/v20002d.uc
2004-01-09 12:34:58 +00:00
chs 3c9eb7a6c4 in ehci_softintr() when looping over the active xfers, save the next pointer
before calling ehci_check_intr(), since that will free the xfer structure
if the xfer is complete.
2004-01-09 09:19:33 +00:00
chs e6d7ceae15 make sure we free the context for the pmap in pmap_destroy().
this usually isn't necessary since we freed it earlier in pmap_remove_all(),
but since uvmspace_free() is now called in the context of the exiting
process, a new context might be allocated if uvm_unmap_detach() decides
to sleep (since cpu_switch() will allocate a new context when it switches
back to the exiting process).
2004-01-09 08:49:42 +00:00
tls e4758a97ae Change BUFCACHE (default hard limit on physmem consumption by metadata
cache) from 30% to 20%.  This seems to significantly smooth the oscillation
between "almost no memory available" and "UVM free target available" caused
by the current sudden, heavy backpressure on the metadata cache.  We should
revisit this again once the backpressure mechanism is better tuned; ideally,
the hard limit should almost never come into play, because the metadata
cache should gradually give back pages as buffers hit the AGE list and as
the page cache demands them, rather than giving back a big slug of pages
all at once when UVM decides it's in a hurry and fires off the page daemon.

Just how well this adjustment works is likely to vary significantly from
machine to machine depending on I/O mix, filesystem frag size, and total
memory.  However, 20% seems to be quite a bit better than 30% on several
systems I've tested and is, coincidentally, more than enough to cache
the entire metadata working set of the AnonCVS server with 100 clients,
which is a useful worst-case stake in the ground...
2004-01-09 06:26:15 +00:00
sekiya d91141de9d Remove paragraph that states that sgimips target media must be formatted first
with IRIX's fx -- this has not been true for quite some time.
2004-01-09 05:26:47 +00:00
sjg 71746b839b Add unit test for ternary modifier 2004-01-09 00:56:44 +00:00
tls 0d6723b09f Bump default size of vnode cache to 1% of physical memory, instead of
0.5%, based on some quick measurements on a number of workstations and
small fileservers (including my home fileserver running simultaneous
builds of the NetBSD source tree and several NetBSD kernels).  This
brings the hit rate on my machines from below 70% to above 90%.  We
should be able to tune this as we run, by tracking the hit rate and
increasing the size of the cache if memory permits.

Some systems will still require significantly larger cache sizes.  Some
ports -- notably the 64-bit ones -- probably should use more than 1% of
physmem as the default due to the larger size of struct vnode.
2004-01-09 00:04:53 +00:00
sjg 1752434408 Fix :?: modifier so that it works again. 2004-01-08 23:55:05 +00:00
tls 28364b01be Add pool_reclaim() on pool to which we just pool_put() a buffer in
buf_mrelease().  Without this, though the pages are returned to the
relevant *pool*, they are never available for any other use in the
system.

Now the backpressure on the physical size of the buffer cache through
the buf_drain() call in the pagedaemon works correctly.  If anything,
it may be a bit more aggressive than intended.  On my 256MB system,
with vm.bufcache set to the default 30% of physmem, a kernel with this
fix can do 5 simultaneous config/makedep/builds of different NetBSD
kernels in 1313 seconds; with the "traditional" buffer cache code it
requires 1320 seconds.  Running "find / -type d -exec ls -l {}" while
the build is going demonstrates that the backpressure is working
correctly: free memory oscillates slowly between close to none and
the UVM target free, and vmstat -m shows a large number of releases
for the buffer pools.

For future work: how is "bufpl" memory returned to the system?  This
is not obvious to me (I must be looking in the wrong place).  Also,
buf_mrelease() is also called from brelse() in some cases.  Would it
be better to add a pool flag causing automatic release of full pages
as they become available (not fragmented)?  Jason Thorpe proposed this
and it seems more elegant than cleaning the _entire_ pool only upon
memory pressure.

Greg Oster did a lot of the work of figuring this out.  Jason proposed
the use of pool_reclaim as a way to fix it.
2004-01-08 23:41:14 +00:00
cube 3bf5e4c13b If ksyms have not been initialized, return ENXIO in ksymsopen instead of
ksymsread, because ksyms client test availability with open() and not
read().
2004-01-08 22:48:26 +00:00
wiz 1cb1c3286e comma-separated with a "-" in between. From Jared Yanovich via jmc@openbsd. 2004-01-08 20:26:46 +00:00
christos 7d6187a689 PR/24023: Min Sik Kim: Don't deadlock while closing mappers. The module
uninit function can call close again, which will try to obtain a held
lock. Unlock the lock before calling the actual close function, since
we already disassociated cm from the rest of the data structures.
2004-01-08 19:23:19 +00:00
christos 5cd9414514 PR/24021: Greg Troxel: cvs(1) doesn't work with mode 770 repositories for
secondary gids.
Implement proper group membership testing as suggested in the PR.
2004-01-08 17:51:33 +00:00
nonaka bf6adc04cc implement bus_space_set_region_[124], bus_space_copy_region_[124]. 2004-01-08 15:29:20 +00:00
rtr 0e551b523b md.macppc x set lists 2004-01-08 14:43:54 +00:00
martin 10e9430c36 Minor cleanup 2004-01-08 13:34:04 +00:00
rtr f853ac1d0c md.sparc64 x set lists 2004-01-08 13:02:29 +00:00
minoura 8f5ee5571c Include compat/hpux/files.hpux.
Untested.
2004-01-08 12:32:03 +00:00
minoura 1b60d5c936 Make symlink X -> X68k. 2004-01-08 12:29:49 +00:00
simonb a5c6a6feac KNF. 2004-01-08 12:16:09 +00:00
rtr b87f955fb5 use prog.mk so we get cleandir. from jmmv@ 2004-01-08 09:49:24 +00:00
lukem 75859304bc xf86dga stuff is present in ./mi 2004-01-08 09:33:34 +00:00
lukem 5405883214 remove stuff present in ./mi 2004-01-08 09:30:29 +00:00
wiz e3ef1b438f Bump date for previous. 2004-01-08 09:24:31 +00:00
wiz 70cfe67d9f There is no sysctl(9) (yet?), comment it out;
fix a typo.
2004-01-08 09:21:35 +00:00
wiz c41ae2dff4 New sentence, new line; fix typo and
grammar.
2004-01-08 09:16:11 +00:00
wiz 24a407cb79 Bump date for previous; break line
so that only relevant parts are marked up.
2004-01-08 09:14:35 +00:00
wiz 6807f73559 Fix some spacing nits, an Xref section, and a long line.
Bump date for previous.
2004-01-08 09:12:57 +00:00
lukem 04be9e71df Implement do-x11, to run "make build" in ./x11/
If MKX11 != no, add "do-x11" to BUILDTARGETS.

Say ``hello'' to Imakeicide.
2004-01-08 07:01:06 +00:00
itojun 71ee6e8bea typo (struct member name - has to be rtm_addrs). from fujitsu 2004-01-08 06:56:25 +00:00
rtr b3dc2a2ea7 sparc x set lists 2004-01-08 06:34:48 +00:00
rtr c6b21d173e x11 set lists mi and md.i386 2004-01-08 05:12:32 +00:00
lukem b2c15cb7bf Fix generation of XF86Config.eg and XF86Config.98. 2004-01-08 05:07:41 +00:00
rtr c5a3389d51 use ${HOST_SH} instead of sh 2004-01-08 04:45:12 +00:00
lukem a4b9f943c1 move xf86PciIds.h from SRCS to DPSRCS, so TRT happens... 2004-01-08 04:39:16 +00:00
lukem f165d2f537 fix previous; the original srcfile is called XF86Config.indy already 2004-01-08 04:25:34 +00:00
rtr 151654f33f install example XF86Config files 2004-01-08 04:22:11 +00:00
lukem ea0dd22e5d Build xf1bpp. (from rtr@, with tweaks by me) 2004-01-08 04:20:27 +00:00
rtr a1d1f64137 XF86Config.indy example 2004-01-08 04:20:00 +00:00
atatat bc0bdd10f7 Used to say "type=", but now says "size=" since that's what it's
supposed to say.
2004-01-08 03:44:48 +00:00
rtr 1b8ba79ff5 X -> XFree86 symlink, if this default is not suitable someone else is
free to provide an alternative.
2004-01-08 03:36:24 +00:00
rtr 32c7613ddb .if ${MACHINE} == "i386" || ${MACHINE} == "amd64" || \
${MACHINE} == "macppc" || ${MACHINE} == "cats"

Build Xvfb
2004-01-08 03:33:55 +00:00