The NetBSD Project

CVS log for src/sys/kern/subr_vmem.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / kern

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.99 / (download) - annotate - [select for diffs], Wed Oct 16 18:29:49 2019 UTC (4 weeks, 6 days ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-20191119, HEAD
Changes since 1.98: +4 -4 lines
Diff to previous 1.98 (colored)

Add and use __FPTRCAST, requested by uwe@

Revision 1.98 / (download) - annotate - [select for diffs], Wed Oct 16 15:27:38 2019 UTC (4 weeks, 6 days ago) by christos
Branch: MAIN
Changes since 1.97: +5 -5 lines
Diff to previous 1.97 (colored)

Add void * function pointer casts. There are different ways to "fix" those
warnings:
    1. this one: add a void * cast (which I think is the least intrusive)
    2. add pragmas to elide the warning
    3. add intermediate inline conversion functions
    4. change the called function prototypes, adding unused arguments and
       converting some of the pointer arguments to void *.
    5. make the functions varyadic (which defeats the purpose of checking)
    6. pass command line flags to elide the warning
I did try 3 and 4 and I was not pleased with the result (sys_ptrace_common.c)
(3) added too much code and defines, and (4) made the regular use clumsy.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Feb 8 09:05:20 2018 UTC (21 months, 1 week ago) by dholland
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20190609, phil-wifi, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, 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, pgoyette-compat, netbsd-9-base, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.96: +3 -3 lines
Diff to previous 1.96 (colored)

Typos.

Revision 1.96 / (download) - annotate - [select for diffs], Wed May 31 23:53:30 2017 UTC (2 years, 5 months ago) by chs
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.95: +9 -4 lines
Diff to previous 1.95 (colored)

assert that vmem_alloc() with VM_SLEEP does not fail.

Revision 1.95 / (download) - annotate - [select for diffs], Thu Jul 7 06:55:43 2016 UTC (3 years, 4 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, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.94: +3 -3 lines
Diff to previous 1.94 (colored)

KNF. Remove extra spaces. No functional change.

Revision 1.94 / (download) - annotate - [select for diffs], Mon Feb 29 00:34:17 2016 UTC (3 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319
Changes since 1.93: +35 -20 lines
Diff to previous 1.93 (colored)

fix vmem_alloc() to never return an error for VM_SLEEP requests,
thus fixing kmem_alloc() to never return NULL for KM_SLEEP requests.
instead these operations will retry forever, which was the intent.

Revision 1.93 / (download) - annotate - [select for diffs], Mon Aug 24 22:50:32 2015 UTC (4 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226, nick-nhusb-base-20150921
Changes since 1.92: +4 -4 lines
Diff to previous 1.92 (colored)

to garnish, dust with _KERNEL_OPT

Revision 1.92 / (download) - annotate - [select for diffs], Wed Apr 2 18:09:10 2014 UTC (5 years, 7 months ago) by para
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Branch point for: nick-nhusb, netbsd-7
Changes since 1.91: +3 -3 lines
Diff to previous 1.91 (colored)

make condition for ENOMEM consistent with allocation requirement

Revision 1.91 / (download) - annotate - [select for diffs], Wed Apr 2 16:14:50 2014 UTC (5 years, 7 months ago) by para
Branch: MAIN
Changes since 1.90: +8 -7 lines
Diff to previous 1.90 (colored)

bt_refill is and must be called with VM_NOSLEEP set, assert this
fix error path if pool_get returns NULL

Revision 1.90 / (download) - annotate - [select for diffs], Thu Mar 20 06:48:22 2014 UTC (5 years, 8 months ago) by mlelstv
Branch: MAIN
CVS Tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Changes since 1.89: +3 -3 lines
Diff to previous 1.89 (colored)

Incorrect use of pointer arithmetic.

CID 1193195:  Extra sizeof expression

Revision 1.89 / (download) - annotate - [select for diffs], Tue Mar 11 20:32:05 2014 UTC (5 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.88: +3 -3 lines
Diff to previous 1.88 (colored)

kill undesirable #ifndef _RUMPKERNEL

Revision 1.88 / (download) - annotate - [select for diffs], Mon Feb 17 20:40:06 2014 UTC (5 years, 9 months ago) by para
Branch: MAIN
Changes since 1.87: +111 -87 lines
Diff to previous 1.87 (colored)

replace vmem(9) custom boundary tag allocation with a pool(9)

Revision 1.87 / (download) - annotate - [select for diffs], Fri Nov 22 21:04:11 2013 UTC (5 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.86: +16 -16 lines
Diff to previous 1.86 (colored)

convert vmem, signals, powerhooks from CIRCLEQ -> TAILQ.

Revision 1.86 / (download) - annotate - [select for diffs], Fri Oct 25 11:35:55 2013 UTC (6 years ago) by martin
Branch: MAIN
Changes since 1.85: +3 -3 lines
Diff to previous 1.85 (colored)

Turn a few __unused into __diagused

Revision 1.85 / (download) - annotate - [select for diffs], Mon Jul 22 19:43:54 2013 UTC (6 years, 3 months ago) by alnsn
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1
Changes since 1.84: +2 -3 lines
Diff to previous 1.84 (colored)

Revert the previous commit.

Revision 1.84 / (download) - annotate - [select for diffs], Thu Jul 18 19:39:49 2013 UTC (6 years, 4 months ago) by alnsn
Branch: MAIN
Changes since 1.83: +3 -2 lines
Diff to previous 1.83 (colored)

Always terminate qc_name with NUL because pool_init(9) uses
strcmp(3) to compare wchans.

Revision 1.83 / (download) - annotate - [select for diffs], Wed Mar 6 11:20:10 2013 UTC (6 years, 8 months ago) by yamt
Branch: MAIN
CVS Tags: riastradh-drm2-base, khorben-n900, agc-symver-base, agc-symver
Branch point for: rmind-smpnet, riastradh-drm2
Changes since 1.82: +4 -10 lines
Diff to previous 1.82 (colored)

update comments

Revision 1.82 / (download) - annotate - [select for diffs], Sat Feb 9 00:31:21 2013 UTC (6 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.81: +5 -4 lines
Diff to previous 1.81 (colored)

printflike maintenance.

Revision 1.81 / (download) - annotate - [select for diffs], Fri Feb 8 09:30:01 2013 UTC (6 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.80: +3 -5 lines
Diff to previous 1.80 (colored)

Fix release of vmem_btag_lock (don't release twice in error path)

Revision 1.80 / (download) - annotate - [select for diffs], Tue Jan 29 21:26:24 2013 UTC (6 years, 9 months ago) by para
Branch: MAIN
Changes since 1.79: +63 -178 lines
Diff to previous 1.79 (colored)

make vmem(9) ready to be used early during bootstrap to replace extent(9)
pass memory for vmem structs into the initialization function and
do away with the static pool of vmem structs.
remove special bootstrapping of the quantum cache pools of the kmem_va_arena
as memory for pool_caches is allocated via pool_allocator_meta which is
fully operational at this point.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Jan 26 15:18:00 2013 UTC (6 years, 9 months ago) by para
Branch: MAIN
Changes since 1.78: +174 -58 lines
Diff to previous 1.78 (colored)

revert previous commit not yet fully functional, sorry

Revision 1.78 / (download) - annotate - [select for diffs], Sat Jan 26 13:50:33 2013 UTC (6 years, 9 months ago) by para
Branch: MAIN
Changes since 1.77: +60 -176 lines
Diff to previous 1.77 (colored)

make vmem(9) ready to be used early during bootstrap to replace extent(9).
pass memory for vmem structs into the initialization functions and
do away with the static pools for this.
factor out the vmem internal structures into a private header.
remove special bootstrapping of the kmem_va_arena as all necessary memory
comes from pool_allocator_meta wich is fully operational at this point.

Revision 1.77 / (download) - annotate - [select for diffs], Fri Jan 4 08:28:38 2013 UTC (6 years, 10 months ago) by para
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.76: +22 -6 lines
Diff to previous 1.76 (colored)

fix a lock order reversal during global boundary tag refill.
thanks to chuq@
xxx: request pullup

Revision 1.76 / (download) - annotate - [select for diffs], Thu Sep 13 21:44:50 2012 UTC (7 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Changes since 1.75: +3 -3 lines
Diff to previous 1.75 (colored)

Don't use const foo const as type, one const is enough.

Revision 1.75 / (download) - annotate - [select for diffs], Sat Sep 1 12:28:58 2012 UTC (7 years, 2 months ago) by para
Branch: MAIN
Branch point for: tls-maxphys
Changes since 1.74: +20 -10 lines
Diff to previous 1.74 (colored)

rework boundary-tag reserve calculation, make it more precise.
add comment about the rational behind the sizing of certain vars
used by allocation and bootstrap.
as requested by yamt@

Revision 1.74 / (download) - annotate - [select for diffs], Mon Jul 30 17:49:24 2012 UTC (7 years, 3 months ago) by njoly
Branch: MAIN
Changes since 1.73: +3 -3 lines
Diff to previous 1.73 (colored)

Remove final ';' from CONDVAR_DECL macro. The caller already adds its
own.

Revision 1.73 / (download) - annotate - [select for diffs], Sun Mar 4 14:28:49 2012 UTC (7 years, 8 months ago) by para
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base10
Changes since 1.72: +6 -6 lines
Diff to previous 1.72 (colored)

make accounting for vm_inuse sane
while here don't statically allocated for more caches then required

Revision 1.72 / (download) - annotate - [select for diffs], Fri Feb 10 17:35:47 2012 UTC (7 years, 9 months ago) by para
Branch: MAIN
CVS Tags: netbsd-6-base, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Branch point for: netbsd-6
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

proper sizing of kmem_arena on different ports

PR port-i386/45946: Kernel locks up in VMEM system

Revision 1.71 / (download) - annotate - [select for diffs], Wed Feb 1 23:43:49 2012 UTC (7 years, 9 months ago) by para
Branch: MAIN
Changes since 1.70: +7 -2 lines
Diff to previous 1.70 (colored)

allocate uareas and buffers from kernel_map again
add code to drain pools if kmem_arena runs out of space

Revision 1.70 / (download) - annotate - [select for diffs], Mon Jan 30 17:35:18 2012 UTC (7 years, 9 months ago) by para
Branch: MAIN
Changes since 1.69: +3 -2 lines
Diff to previous 1.69 (colored)

do the bookkeeping right

Revision 1.69 / (download) - annotate - [select for diffs], Sun Jan 29 17:27:37 2012 UTC (7 years, 9 months ago) by rmind
Branch: MAIN
Changes since 1.68: +7 -15 lines
Diff to previous 1.68 (colored)

- vmem_xalloc: remove call to uvm_kick_pdaemon() as it is not right.
- Reduce some #ifdefs.  Misc.

Revision 1.68 / (download) - annotate - [select for diffs], Sun Jan 29 13:38:15 2012 UTC (7 years, 9 months ago) by para
Branch: MAIN
Changes since 1.67: +15 -6 lines
Diff to previous 1.67 (colored)

move condvar calls under interlock protection
call uvm_kick_pdaemon in case we can sleep and no space in arena

Revision 1.67 / (download) - annotate - [select for diffs], Sat Jan 28 23:05:48 2012 UTC (7 years, 9 months ago) by rmind
Branch: MAIN
Changes since 1.66: +12 -46 lines
Diff to previous 1.66 (colored)

- Make subr_vmem.c compile as standalone again.
- Reduce some #ifdefs.

Revision 1.66 / (download) - annotate - [select for diffs], Fri Jan 27 19:48:40 2012 UTC (7 years, 9 months ago) by para
Branch: MAIN
Changes since 1.65: +403 -101 lines
Diff to previous 1.65 (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.65 / (download) - annotate - [select for diffs], Thu Oct 20 03:05:14 2011 UTC (8 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.64: +2 -4 lines
Diff to previous 1.64 (colored)

revert a debug printf slipped in with subr_vmem.c rev.1.64.
pointed out by Nicolas Joly.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Oct 19 11:12:37 2011 UTC (8 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.63: +9 -4 lines
Diff to previous 1.63 (colored)

vmem_create: copy the 'name' string rather than just keeping a reference to it.
i think it's what solaris does as at least dtrace relies on this behaviour.

Revision 1.63 / (download) - annotate - [select for diffs], Sat Oct 15 19:02:27 2011 UTC (8 years, 1 month ago) by rmind
Branch: MAIN
Changes since 1.62: +5 -4 lines
Diff to previous 1.62 (colored)

Avoid return with expression in void functions.

Revision 1.62 / (download) - annotate - [select for diffs], Sun Oct 2 21:32:48 2011 UTC (8 years, 1 month ago) by rmind
Branch: MAIN
Changes since 1.61: +25 -62 lines
Diff to previous 1.61 (colored)

- Replace calc_order() with ilog2(), wrap into SIZE2ORDER().
- Inline some functions, reduce some #ifdefs.

Revision 1.61 / (download) - annotate - [select for diffs], Fri Sep 2 22:25:08 2011 UTC (8 years, 2 months ago) by dyoung
Branch: MAIN
Changes since 1.60: +105 -81 lines
Diff to previous 1.60 (colored)

Report vmem(9) errors out-of-band so that we can use vmem(9) to manage
ranges that include the least and the greatest vmem_addr_t.  Update
vmem(9) uses throughout the kernel.  Slightly expand on the tests in
subr_vmem.c, which still pass.  I've been running a kernel with this
patch without any trouble.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Aug 23 22:00:57 2011 UTC (8 years, 2 months ago) by dyoung
Branch: MAIN
Changes since 1.59: +72 -39 lines
Diff to previous 1.59 (colored)

Introduce a couple of new constants, VMEM_ADDR_MIN (the least possible
address in a vmem(9) arena, 0) and VMEM_ADDR_MAX (the maximum possible
address, currently 0xFFFFFFFF).  Modify several boundary conditions so
that a vmem(9) arena can allocate ranges including VMEM_ADDR_MAX.
Update documentation and tests.

These changes pass the tests in sys/kern/subr_vmem.c.  To compile the
and run the test program, run "cd sys/kern/ && gcc -DVMEM_SANITY -o
subr_vmem ./subr_vmem.c && ./subr_vmem".

Revision 1.59 / (download) - annotate - [select for diffs], Tue Jul 26 13:09:11 2011 UTC (8 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.58: +47 -3 lines
Diff to previous 1.58 (colored)

comments.  related to PR/44969

Revision 1.58 / (download) - annotate - [select for diffs], Fri Dec 17 22:24:11 2010 UTC (8 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.57: +4 -3 lines
Diff to previous 1.57 (colored)

wrap a long line.

Revision 1.57 / (download) - annotate - [select for diffs], Wed Mar 18 10:22:42 2009 UTC (10 years, 8 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Branch point for: rmind-uvmplock
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

Ansify function definitions w/o arguments. Generated with sed.

Revision 1.56 / (download) - annotate - [select for diffs], Wed Feb 18 13:33:46 2009 UTC (10 years, 9 months ago) by yamt
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.55: +2 -4 lines
Diff to previous 1.55 (colored)

vmem_rehash_all: remove a debug printf slipped in with the previous changes.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Feb 18 13:31:59 2009 UTC (10 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.54: +123 -224 lines
Diff to previous 1.54 (colored)

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

Revision 1.54 / (download) - annotate - [select for diffs], Sun Jan 25 13:08:56 2009 UTC (10 years, 9 months ago) by yamt
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.53: +3 -3 lines
Diff to previous 1.53 (colored)

bump VMEM_HASHSIZE_MAX from 8192 to 65536.

Revision 1.53 / (download) - annotate - [select for diffs], Fri Jan 23 13:45:06 2009 UTC (10 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored)

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

Revision 1.52 / (download) - annotate - [select for diffs], Mon Dec 15 10:26:10 2008 UTC (10 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: mjf-devfs2-base
Changes since 1.51: +4 -3 lines
Diff to previous 1.51 (colored)

Put vm_lock into its own cache line.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Dec 10 18:07:30 2008 UTC (10 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base
Changes since 1.50: +3 -3 lines
Diff to previous 1.50 (colored)

fix endif comment

Revision 1.50 / (download) - annotate - [select for diffs], Wed Dec 10 17:32:32 2008 UTC (10 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.49: +2 -3 lines
Diff to previous 1.49 (colored)

disable VMEM_DEBUG by default.

Revision 1.49 / (download) - annotate - [select for diffs], Wed Dec 10 16:59:12 2008 UTC (10 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.48: +3 -3 lines
Diff to previous 1.48 (colored)

vmem_check_sanity is just too expensive for DEBUG. Enable it only for
VMEM_DEBUG.

Revision 1.48 / (download) - annotate - [select for diffs], Tue Dec 9 07:54:59 2008 UTC (10 years, 11 months ago) by cegger
Branch: MAIN
Changes since 1.47: +82 -57 lines
Diff to previous 1.47 (colored)

vmem_check_sanity: refactor overlapping check for better readability.
Move use of vmem_check_sanity into locked sections. Pointed out by ad@

Revision 1.47 / (download) - annotate - [select for diffs], Sun Dec 7 22:39:01 2008 UTC (10 years, 11 months ago) by cegger
Branch: MAIN
Changes since 1.46: +43 -13 lines
Diff to previous 1.46 (colored)

ddb: make show vmem print exact span type
vmem_check_sanity: print exact span type
vmem_add1: KASSERT span types

Revision 1.46 / (download) - annotate - [select for diffs], Sun Dec 7 11:49:51 2008 UTC (10 years, 11 months ago) by cegger
Branch: MAIN
Changes since 1.45: +3 -6 lines
Diff to previous 1.45 (colored)

vmem_check_sanity: fix check to correctly detect even exactly duplicate spans.

Revision 1.45 / (download) - annotate - [select for diffs], Sun Dec 7 09:40:42 2008 UTC (10 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: ad-audiomp2-base, ad-audiomp2
Changes since 1.44: +13 -8 lines
Diff to previous 1.44 (colored)

build fix: make i386 build again

Revision 1.44 / (download) - annotate - [select for diffs], Sun Dec 7 02:21:04 2008 UTC (10 years, 11 months ago) by cegger
Branch: MAIN
Changes since 1.43: +86 -2 lines
Diff to previous 1.43 (colored)

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.

Revision 1.43 / (download) - annotate - [select for diffs], Sun Dec 7 00:51:15 2008 UTC (10 years, 11 months ago) by cegger
Branch: MAIN
Changes since 1.42: +54 -2 lines
Diff to previous 1.42 (colored)

ddb: new 'show vmem' and 'show all vmems' commands.
Useful to inspect vmem(9) structures.

Revision 1.42 / (download) - annotate - [select for diffs], Mon Mar 17 08:27:50 2008 UTC (11 years, 8 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, netbsd-5-0-RC1, matt-mips64-base2, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, hpcarm-cleanup-nbase, haad-dm-base1, ad-socklock-base1
Branch point for: yamt-nfs-mp, nick-hppapmap, netbsd-5, haad-dm
Changes since 1.41: +5 -6 lines
Diff to previous 1.41 (colored)

- simplify ASSERT_SLEEPABLE.
- move it from proc.h to systm.h.
- add some more checks.
- make it a little more lkm friendly.

Revision 1.41 / (download) - annotate - [select for diffs], Thu Jan 24 13:57:52 2008 UTC (11 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, hpcarm-cleanup-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.40: +4 -4 lines
Diff to previous 1.40 (colored)

Mark some callouts/workqueues/kthreads MPSAFE.

Revision 1.40 / (download) - annotate - [select for diffs], Fri Jan 4 21:18:14 2008 UTC (11 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.39: +2 -3 lines
Diff to previous 1.39 (colored)

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.

Revision 1.39 / (download) - annotate - [select for diffs], Sat Dec 22 03:27:10 2007 UTC (11 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: vmlocking2-base3
Changes since 1.38: +10 -10 lines
Diff to previous 1.38 (colored)

vmem_whatis: print "free" btags as well.

Revision 1.38 / (download) - annotate - [select for diffs], Sat Dec 22 01:11:37 2007 UTC (11 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.37: +5 -7 lines
Diff to previous 1.37 (colored)

vmem_alloc: round-up size only when necessary.  suggested by Andrew Doran.

Revision 1.37 / (download) - annotate - [select for diffs], Thu Dec 13 02:45:10 2007 UTC (11 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-kmem-base3
Changes since 1.36: +41 -2 lines
Diff to previous 1.36 (colored)

add ddb "whatis" command.  inspired from solaris ::whatis dcmd.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Dec 5 07:06:54 2007 UTC (11 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base2, yamt-kmem-base, vmlocking2-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: yamt-kmem, bouyer-xeni386
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

Match the docs: MUTEX_DRIVER/SPIN are now only for porting code written
for Solaris.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Nov 7 00:23:23 2007 UTC (12 years ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base1, vmlocking-nbase, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2
Changes since 1.34: +22 -36 lines
Diff to previous 1.34 (colored)

Merge from vmlocking:

- pool_cache changes.
- Debugger/procfs locking fixes.
- Other minor changes.

Revision 1.34 / (download) - annotate - [select for diffs], Tue Nov 6 00:42:44 2007 UTC (12 years ago) by ad
Branch: MAIN
CVS Tags: jmcneill-base
Changes since 1.33: +3 -3 lines
Diff to previous 1.33 (colored)

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.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Oct 23 11:29:06 2007 UTC (12 years, 1 month ago) by yamt
Branch: MAIN
Branch point for: mjf-devfs
Changes since 1.32: +2 -8 lines
Diff to previous 1.32 (colored)

vmem_rehash_all: remove no longer unnecessary splvm/splx pairs.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Jul 12 20:39:56 2007 UTC (12 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: matt-armv6, jmcneill-pm, bouyer-xenamd64
Changes since 1.31: +3 -3 lines
Diff to previous 1.31 (colored)

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>

Revision 1.31 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:55 2007 UTC (12 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: mjf-ufs-trans-base
Changes since 1.30: +29 -35 lines
Diff to previous 1.30 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.30 / (download) - annotate - [select for diffs], Sun Jun 17 13:34:43 2007 UTC (12 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.29: +133 -25 lines
Diff to previous 1.29 (colored)

periodically resize vmem hash table.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Mar 26 22:52:44 2007 UTC (12 years, 7 months ago) by hubertf
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic
Changes since 1.28: +2 -4 lines
Diff to previous 1.28 (colored)

Remove duplicate #include's
From: Slava Semushin <php-coder@altlinux.ru>

Revision 1.28 / (download) - annotate - [select for diffs], Mon Mar 12 18:18:34 2007 UTC (12 years, 8 months ago) by ad
Branch: MAIN
Branch point for: reinoud-bufcleanup, mjf-ufs-trans
Changes since 1.27: +5 -4 lines
Diff to previous 1.27 (colored)

Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Mar 10 15:54:14 2007 UTC (12 years, 8 months ago) by ad
Branch: MAIN
Branch point for: vmlocking
Changes since 1.26: +3 -2 lines
Diff to previous 1.26 (colored)

qc_init: don't leave pointers to destroyed pools hanging or we will
allocate from them later.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Feb 22 06:34:45 2007 UTC (12 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.25: +8 -8 lines
Diff to previous 1.25 (colored)

TRUE -> true, FALSE -> false

Revision 1.25 / (download) - annotate - [select for diffs], Wed Feb 21 23:00:05 2007 UTC (12 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.24: +8 -8 lines
Diff to previous 1.24 (colored)

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.

Revision 1.24 / (download) - annotate - [select for diffs], Sat Nov 18 07:51:54 2006 UTC (13 years ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, post-newlock2-merge, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Branch point for: yamt-lazymbuf, yamt-idlelwp
Changes since 1.23: +6 -6 lines
Diff to previous 1.23 (colored)

qc_reap, qc_destroy: simplify.

Revision 1.23 / (download) - annotate - [select for diffs], Sat Nov 18 07:51:34 2006 UTC (13 years ago) by yamt
Branch: MAIN
Changes since 1.22: +26 -2 lines
Diff to previous 1.22 (colored)

vmem_destroy: don't forget to clean up qcache_t.

Revision 1.22 / (download) - annotate - [select for diffs], Sat Nov 18 07:51:06 2006 UTC (13 years ago) by yamt
Branch: MAIN
Changes since 1.21: +25 -8 lines
Diff to previous 1.21 (colored)

vmem: share qcache_t if itemsperpage is same.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Nov 12 22:28:17 2006 UTC (13 years ago) by yamt
Branch: MAIN
Changes since 1.20: +10 -2 lines
Diff to previous 1.20 (colored)

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.

Revision 1.20 / (download) - annotate - [select for diffs], Thu Nov 9 10:08:53 2006 UTC (13 years ago) by yamt
Branch: MAIN
Changes since 1.19: +6 -3 lines
Diff to previous 1.19 (colored)

vmem_xalloc: plug memory leak on error.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Nov 4 13:26:22 2006 UTC (13 years ago) by yamt
Branch: MAIN
Changes since 1.18: +13 -6 lines
Diff to previous 1.18 (colored)

- define some macros and use them.
- fix an off-by-one in testcode.

Revision 1.18 / (download) - annotate - [select for diffs], Sat Nov 4 13:25:52 2006 UTC (13 years ago) by yamt
Branch: MAIN
Changes since 1.17: +4 -0 lines
Diff to previous 1.17 (colored)

todo.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Nov 1 10:17:59 2006 UTC (13 years ago) by yamt
Branch: MAIN
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored)

remove some __unused from function parameters.

Revision 1.16 / (download) - annotate - [select for diffs], Fri Oct 27 15:05:16 2006 UTC (13 years ago) by yamt
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

vmem: use correct function names for ASSERT_SLEEPABLE.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Oct 23 13:36:33 2006 UTC (13 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

qc_init: fix a problem introduced by rev.1.13.
namely, use quantum-size alignment rather than no alignment.
PR/34879 from Peter Postma.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Oct 22 10:19:25 2006 UTC (13 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.13: +0 -3 lines
Diff to previous 1.13 (colored)

remove a todo which has been done.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Oct 22 09:42:30 2006 UTC (13 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.12: +1 -1 lines
Diff to previous 1.12 (colored)

qc_init: when initializing pools, use align==1 (ie. no alignment)
rather than align==0, which is converted to ALIGN(1) by pool_init.

Revision 1.12 / (download) - annotate - [select for diffs], Tue Oct 17 08:54:03 2006 UTC (13 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.11: +4 -5 lines
Diff to previous 1.11 (colored)

vmem_alloc: use __unused rather than a cryptic
"do { if (&strat) {} } while (/* CONSTCOND */ 0);"

Revision 1.11 / (download) - annotate - [select for diffs], Mon Oct 16 16:05:34 2006 UTC (13 years, 1 month ago) by dogcow
Branch: MAIN
Changes since 1.10: +4 -3 lines
Diff to previous 1.10 (colored)

another day, another __unused sprinkle.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Oct 16 13:09:42 2006 UTC (13 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.9: +194 -18 lines
Diff to previous 1.9 (colored)

implement vmem_xalloc/xfree.
XXX importing needs some more thoughts.

Revision 1.9 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:18 2006 UTC (13 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.8: +5 -5 lines
Diff to previous 1.8 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.8 / (download) - annotate - [select for diffs], Mon Aug 21 09:05:22 2006 UTC (13 years, 3 months ago) by martin
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl, rpaulo-netinet-merge-pcb, newlock2
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

Use %zu for size_t

Revision 1.7 / (download) - annotate - [select for diffs], Sun Aug 20 13:14:03 2006 UTC (13 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.6: +2 -11 lines
Diff to previous 1.6 (colored)

vmf_to_prf: tweak code to avoid a "may be used uninitialized" warning.
pointed by Kurt Schreiner.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Aug 20 09:45:59 2006 UTC (13 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.5: +38 -0 lines
Diff to previous 1.5 (colored)

implement kva reclamation for kmem_alloc quantum cache.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Aug 20 09:43:08 2006 UTC (13 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.4: +147 -4 lines
Diff to previous 1.4 (colored)

implement vmem quantum cache.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Aug 16 13:19:03 2006 UTC (13 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.3: +10 -6 lines
Diff to previous 1.3 (colored)

- fix integer overflows.
- bump VMEM_MAXORDER.

should fix "idx < VMEM_MAXORDER" assertion failure reported by
Martijn van Buul on current-users@.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Jul 21 10:08:41 2006 UTC (13 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base7, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.2: +5 -0 lines
Diff to previous 1.2 (colored)

use ASSERT_SLEEPABLE where appropriate.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jun 26 10:23:20 2006 UTC (13 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6
Branch point for: yamt-pdpolicy, gdamore-uart
Changes since 1.1: +24 -16 lines
Diff to previous 1.1 (colored)

fix VM_BESTFIT.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Jun 25 08:00:01 2006 UTC (13 years, 4 months ago) by yamt
Branch: MAIN

1. implement solaris-like vmem.  (still primitive, though)
2. implement solaris-like kmem_alloc/free api, using #1.
   (note: this implementation is backed by kernel_map, thus can't be
   used from interrupt context.)

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 <webmaster@jp.NetBSD.org>