Commit Graph

28 Commits

Author SHA1 Message Date
thorpej a180cee23b Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.
2002-03-08 20:48:27 +00:00
lukem adc783d537 add RCSIDs 2001-11-12 15:25:01 +00:00
chs adf5d360a7 add a new VFS op, vfs_reinit, which is called when desiredvnodes is
adjusted via sysctl.  file systems that have hash tables which are
sized based on the value of this variable now resize those hash tables
using the new value.  the max number of FFS softdeps is also recalculated.

convert various file systems to use the <sys/queue.h> macros for
their hash tables.
2001-09-15 16:12:54 +00:00
tsutsui 5fcd0b2c38 Declare prtactive extern. 2001-02-03 12:48:43 +00:00
ad 642267bcc7 Update for hashinit() change. 2000-11-08 14:28:12 +00:00
augustss 1469ed1614 Kill more register declarations. 2000-03-30 12:13:30 +00:00
jdolecek 89015c4648 Add new VFS op routine - vfs_done and call it on filesystem detach
in vfs_detach(). vfs_done may free global filesystem's resources,
typically those allocated in respective filesystem's init function.
Needed so those filesystems which went in via LKM have a chance to
clean after themselves before unloading. This fixes random panics
when LKM for filesystem using pools was loaded and unloaded several
times.

For each leaf filesystem, add appropriate vfs_done routine.
2000-03-16 18:08:17 +00:00
wrstuden 379a26972f Modify file systems to deal with struct lock in struct vnode. All leaf
fs's other than nfs use genfs_lock() for locking.

Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.
1999-07-08 01:05:58 +00:00
thorpej cf6b3d3ec9 Use the pool allocator and the "nointr" pool page allocator for cd9660 nodes. 1998-09-01 03:40:19 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
chs f64abc7b4c add flags arg to hashinit(), to pass to malloc(). 1998-02-07 02:44:44 +00:00
mycroft 1e3c14a909 Eliminate bogus uses of V{READ,WRITE,EXEC}. Use S_I[RWX]{USR,GRP,OTH} where
appropriate.
1997-05-05 07:13:57 +00:00
cgd 9586277088 update for iso.h/cd9660_extern.h header changes 1997-01-24 00:27:29 +00:00
christos 245d8c1eb2 isofs prototypes 1996-02-09 21:31:50 +00:00
jtc e19bfae4f9 Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:18:04 +00:00
cgd 55300e7b13 various cleanups suggested by James Jegers, some then fixed up by me. 1994-12-24 15:30:03 +00:00
mycroft 8c03c53858 Sync with CSRG. 1994-12-13 22:33:10 +00:00
mycroft 3d13acbea0 Make the tstamp functions take `u_char *', not `char *'. 1994-09-22 02:47:31 +00:00
mycroft ef22ebf733 Change timevals to timespecs. 1994-09-22 02:44:35 +00:00
mycroft 8e8b6c5b10 Not that it matters, but don't assume we're two's-complement. 1994-07-19 15:27:40 +00:00
mycroft f8fae0f555 More redux. 1994-07-19 15:07:36 +00:00
mycroft 1656a89476 Clean up a bit:
Implement cd9660_blkatoff() and use it.
Reduce lots of multiplies and divides to shifts.
Make some macros look more like UFS.
Make isodirino() return the inumber rather than poke it into the abyss.
1994-07-19 14:14:08 +00:00
mycroft 0c2e843ee1 Implement cd9660_vget(). Clean up a bit. 1994-07-13 22:30:07 +00:00
mycroft af65c82115 Style nits. 1994-07-03 09:51:58 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
cgd 89e331dcad new standard, minimally intrusive ID format 1994-06-27 19:40:57 +00:00
mycroft 39f627ae40 b_un.b_addr -> b_data 1994-06-14 23:54:44 +00:00
mycroft 76da4f6f36 From 4.4-Lite, with local changes. 1994-06-08 11:22:45 +00:00