Commit Graph

57 Commits

Author SHA1 Message Date
cegger
df7f595ecd Ansify function definitions w/o arguments. Generated with sed. 2009-03-18 10:22:21 +00:00
yamt
c69852d701 vmem_rehash_all: remove a debug printf slipped in with the previous changes. 2009-02-18 13:33:46 +00:00
yamt
f68e4571e5 - fix vmem unittest. rename VMEM_DEBUG so that it won't be abused again.
- reimplement vmem sanity checks with less code duplication.
- reimplement ddb vmem-related commands in a more consistent ways.
  remove automatic whatis.
2009-02-18 13:31:59 +00:00
yamt
f4fa6bbef9 bump VMEM_HASHSIZE_MAX from 8192 to 65536. 2009-01-25 13:08:56 +00:00
pooka
8b32829eeb Change VMEM_HASHSIZE_INIT from 1 to 128. This mainly benefits
quick-running or non-threaded rump jobs, where the rehash algorithm
does not have a chance to run.  For other cases it doesn't make
much difference, since the size will grow or decrease when the
rehash algorithm runs for the first time (t=10*hz currently).
2009-01-23 13:45:06 +00:00
ad
50f32f7a93 Put vm_lock into its own cache line. 2008-12-15 10:26:10 +00:00
christos
15e362cca8 fix endif comment 2008-12-10 18:07:30 +00:00
christos
0bff293dd2 disable VMEM_DEBUG by default. 2008-12-10 17:32:32 +00:00
christos
10fdeaec16 vmem_check_sanity is just too expensive for DEBUG. Enable it only for
VMEM_DEBUG.
2008-12-10 16:59:12 +00:00
cegger
33d827105a vmem_check_sanity: refactor overlapping check for better readability.
Move use of vmem_check_sanity into locked sections. Pointed out by ad@
2008-12-09 07:54:59 +00:00
cegger
4dfe7b7870 ddb: make show vmem print exact span type
vmem_check_sanity: print exact span type
vmem_add1: KASSERT span types
2008-12-07 22:39:01 +00:00
cegger
f132fda3fe vmem_check_sanity: fix check to correctly detect even exactly duplicate spans. 2008-12-07 11:49:51 +00:00
cegger
bb1d17f443 build fix: make i386 build again 2008-12-07 09:40:42 +00:00
cegger
2aa8aa0f8f Spans may never overlap. Overlapping spans mean memory corruption
when used by kmem(9), for example.
Do sanity checks to detect such spans on DEBUG kernels.
2008-12-07 02:21:04 +00:00
cegger
10de0e2b14 ddb: new 'show vmem' and 'show all vmems' commands.
Useful to inspect vmem(9) structures.
2008-12-07 00:51:15 +00:00
yamt
a67bae0b7b - simplify ASSERT_SLEEPABLE.
- move it from proc.h to systm.h.
- add some more checks.
- make it a little more lkm friendly.
2008-03-17 08:27:50 +00:00
ad
fef8681585 Mark some callouts/workqueues/kthreads MPSAFE. 2008-01-24 13:57:52 +00:00
ad
0664a0459b Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.
2008-01-04 21:17:40 +00:00
yamt
d2ade1bf0f vmem_whatis: print "free" btags as well. 2007-12-22 03:27:10 +00:00
yamt
bf162a4cf7 vmem_alloc: round-up size only when necessary. suggested by Andrew Doran. 2007-12-22 01:11:37 +00:00
yamt
0c38201391 add ddb "whatis" command. inspired from solaris ::whatis dcmd. 2007-12-13 02:45:09 +00:00
ad
598ab03ad0 Match the docs: MUTEX_DRIVER/SPIN are now only for porting code written
for Solaris.
2007-12-05 07:06:50 +00:00
ad
d18c6ca4de Merge from vmlocking:
- pool_cache changes.
- Debugger/procfs locking fixes.
- Other minor changes.
2007-11-07 00:23:13 +00:00
ad
d831186d55 Merge scheduler changes from the vmlocking branch. All discussed on
tech-kern:

- Invert priority space so that zero is the lowest priority. Rearrange
  number and type of priority levels into bands. Add new bands like
  'kernel real time'.
- Ignore the priority level passed to tsleep. Compute priority for
  sleep dynamically.
- For SCHED_4BSD, make priority adjustment per-LWP, not per-process.
2007-11-06 00:42:39 +00:00
yamt
1ea0b1c177 vmem_rehash_all: remove no longer unnecessary splvm/splx pairs. 2007-10-23 11:29:06 +00:00
rmind
20bbb87e34 Implementation of per-CPU work-queues support for workqueue(9) interface.
WQ_PERCPU flag for workqueue and additional argument for workqueue_enqueue()
to assign a CPU might be used. Notes:
 - For now, the list is used for workqueue_queue, which is non-optimal,
   and will be changed with array, where index would be CPU ID.
 - The data structures should be changed to be cache-friendly.

Reviewed by: <yamt>, <tech-kern>
2007-07-12 20:39:56 +00:00
ad
88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
yamt
c69798c4e6 periodically resize vmem hash table. 2007-06-17 13:34:42 +00:00
hubertf
3bfc0c42ee Remove duplicate #include's
From: Slava Semushin <php-coder@altlinux.ru>
2007-03-26 22:52:44 +00:00
ad
59d979c5f1 Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.
2007-03-12 18:18:22 +00:00
ad
ba01c7d177 qc_init: don't leave pointers to destroyed pools hanging or we will
allocate from them later.
2007-03-10 15:54:14 +00:00
thorpej
4f3d5a9cc0 TRUE -> true, FALSE -> false 2007-02-22 06:34:42 +00:00
thorpej
712239e366 Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 22:59:35 +00:00
yamt
9ef6d9f3e5 qc_reap, qc_destroy: simplify. 2006-11-18 07:51:54 +00:00
yamt
c683b6561f vmem_destroy: don't forget to clean up qcache_t. 2006-11-18 07:51:34 +00:00
yamt
23213de881 vmem: share qcache_t if itemsperpage is same. 2006-11-18 07:51:06 +00:00
yamt
ec585a4e4d protect bt_poolcache by splvm because it's shared among all arenas
including ones which can be used in interrupt context.
PR/35042 from Manuel Bouyer.
2006-11-12 22:28:17 +00:00
yamt
1de5b4994d vmem_xalloc: plug memory leak on error. 2006-11-09 10:08:53 +00:00
yamt
3aef238dc0 - define some macros and use them.
- fix an off-by-one in testcode.
2006-11-04 13:26:22 +00:00
yamt
e1b6afe136 todo. 2006-11-04 13:25:52 +00:00
yamt
1a7bc55dcc remove some __unused from function parameters. 2006-11-01 10:17:58 +00:00
yamt
17685f3fdc vmem: use correct function names for ASSERT_SLEEPABLE. 2006-10-27 15:05:16 +00:00
yamt
5239dc5a67 qc_init: fix a problem introduced by rev.1.13.
namely, use quantum-size alignment rather than no alignment.
PR/34879 from Peter Postma.
2006-10-23 13:36:33 +00:00
yamt
982b4f66e8 remove a todo which has been done. 2006-10-22 10:19:25 +00:00
yamt
0d14f90ef6 qc_init: when initializing pools, use align==1 (ie. no alignment)
rather than align==0, which is converted to ALIGN(1) by pool_init.
2006-10-22 09:42:30 +00:00
yamt
04d4eff807 vmem_alloc: use __unused rather than a cryptic
"do { if (&strat) {} } while (/* CONSTCOND */ 0);"
2006-10-17 08:54:03 +00:00
dogcow
3e1f2a8ad1 another day, another __unused sprinkle. 2006-10-16 16:05:34 +00:00
yamt
44923ac48a implement vmem_xalloc/xfree.
XXX importing needs some more thoughts.
2006-10-16 13:09:42 +00:00
christos
4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
martin
b87950a9f6 Use %zu for size_t 2006-08-21 09:05:22 +00:00