CVS log for src/sys/sys/vmem_impl.h
Up to [cvs.NetBSD.org] / src / sys / sys
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.8: download - view: text, markup, annotated - select for diffs
Sun Dec 3 19:34:08 2023 UTC (12 months ago) by thorpej
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630,
perseant-exfatfs-base,
perseant-exfatfs,
HEAD
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +13 -1
lines
Add the notion of "private boundary tags" to vmem. This allows vmem to
be used VERY early in boot; such consumers statically allocate the vmem
arena and boundary tags, and then explicitly add those static, private
boundary tags to the arena tag free list using the new function vmem_add_bts().
Vmem arenas that use private boundary tags will NOT consume the statically
allocated bootstrap tags used by the vmem system itself; the assumption is
that the consumer of such an arena knows what they're doing, and is responsible
for all necessary resource management. A macro, VMEM_EST_BTCOUNT(), is
provided to help such consumers size the static boundary tag store based
on the expected number of spans and early allocations. Once the private
tags are exhausted, the arena will dynamically allocate tags as usual.
Revision 1.7: download - view: text, markup, annotated - select for diffs
Sun Dec 3 15:06:45 2023 UTC (12 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +3 -2
lines
Split the boundary tag "type" field into "type" and "flags" fields.
Initialize the flags field to 0 before inserting into an arena's free
tag list.
NFC, but makes diff for a future enhancement smaller.
Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat Dec 2 19:11:52 2023 UTC (12 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +5 -1
lines
vmem_init() requires the caller to include <sys/vmem_impl.h> in order
to know the storage size of "struct vmem", so put the prototype for
vmem_init() there as well.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Tue Jul 7 03:23:33 2020 UTC (4 years, 4 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej-ifq-base,
thorpej-ifq,
thorpej-i2c-spi-conf2-base,
thorpej-i2c-spi-conf2,
thorpej-i2c-spi-conf-base,
thorpej-i2c-spi-conf,
thorpej-futex2-base,
thorpej-futex2,
thorpej-futex-base,
thorpej-futex,
thorpej-cfargs2-base,
thorpej-cfargs2,
thorpej-cfargs-base,
thorpej-cfargs,
thorpej-altq-separation-base,
thorpej-altq-separation,
netbsd-10-base,
netbsd-10-0-RELEASE,
netbsd-10-0-RC6,
netbsd-10-0-RC5,
netbsd-10-0-RC4,
netbsd-10-0-RC3,
netbsd-10-0-RC2,
netbsd-10-0-RC1,
netbsd-10,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -1
lines
Explicitly include <sys/pool.h> here; don't rely on it being included
by the includer.
Revision 1.3.32.1: download - view: text, markup, annotated - select for diffs
Tue Apr 21 18:42:45 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3: +3 -1
lines
Sync with HEAD
Revision 1.3.42.1: download - view: text, markup, annotated - select for diffs
Mon Apr 20 11:29:13 2020 UTC (4 years, 7 months ago) by bouyer
Branches: bouyer-xenpvh
Diff to: previous 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3: +3 -1
lines
Sync with HEAD
Revision 1.4: download - view: text, markup, annotated - select for diffs
Sun Apr 19 21:11:42 2020 UTC (4 years, 7 months ago) by ad
Branches: MAIN
CVS tags: phil-wifi-20200421,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -1
lines
- Fix uneven performance with "bursty" vmem arenas. Adjust locking so that
the mutex is acquired and released only once in the happy path. Align
tags to cachelines. Size the hash table according to the maximum count of
boundary tags over the interval just gone, not the instantaneous count,
and decay that maximum value by 50%+1 after each rehash. Round up to the
next power of two to eliminate divisions. Do the rehash check unlocked.
- Hash bucket size is sizeof(vmem_hashlist), not size of a pointer to same.
Revision 1.2.4.3: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:04:44 2014 UTC (10 years, 3 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.2.4.2: preferred, colored; branchpoint 1.2: preferred, colored; next MAIN 1.3: preferred, colored
Changes since revision 1.2.4.2: +2 -2
lines
Rebase to HEAD as of a few days ago.
Revision 1.3.4.2: download - view: text, markup, annotated - select for diffs
Thu May 22 11:41:18 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.3.4.1: preferred, colored; branchpoint 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3.4.1: +139 -0
lines
sync with head.
for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
Revision 1.2.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 17:46:21 2014 UTC (10 years, 6 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.2: preferred, colored; next MAIN 1.3: preferred, colored
Changes since revision 1.2: +3 -3
lines
sync with head
Revision 1.3.4.1
Fri Nov 22 21:04:11 2013 UTC (11 years ago) by yamt
Branches: yamt-pagecache
FILE REMOVED
Changes since revision 1.3: +0 -139
lines
file vmem_impl.h was added on branch yamt-pagecache on 2014-05-22 11:41:18 +0000
Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Nov 22 21:04:11 2013 UTC (11 years ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-base9,
tls-maxphys-base-20171202,
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,
prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
phil-wifi-base,
phil-wifi-20200411,
phil-wifi-20200406,
phil-wifi-20191119,
phil-wifi-20190609,
pgoyette-localcount-base,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
pgoyette-localcount,
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,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
nick-nhusb-base-20170825,
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,
nick-nhusb-base,
nick-nhusb,
netbsd-9-base,
netbsd-9-4-RELEASE,
netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
netbsd-9,
netbsd-8-base,
netbsd-8-3-RELEASE,
netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1,
netbsd-8,
netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-base,
netbsd-7-2-RELEASE,
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,
netbsd-7,
matt-nb8-mediatek-base,
matt-nb8-mediatek,
localcount-20160914,
jdolecek-ncq-base,
jdolecek-ncq,
isaki-audio2-base,
isaki-audio2,
is-mlppp-base,
is-mlppp,
bouyer-xenpvh-base,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan,
ad-namecache-base3,
ad-namecache-base2,
ad-namecache-base1,
ad-namecache-base,
ad-namecache
Branch point for: yamt-pagecache,
phil-wifi,
bouyer-xenpvh
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +3 -3
lines
convert vmem, signals, powerhooks from CIRCLEQ -> TAILQ.
Revision 1.2.4.2: download - view: text, markup, annotated - select for diffs
Mon Feb 25 00:30:13 2013 UTC (11 years, 9 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.2.4.1: preferred, colored; branchpoint 1.2: preferred, colored
Changes since revision 1.2.4.1: +139 -0
lines
resync with head
Revision 1.2.4.1
Tue Jan 29 21:26:24 2013 UTC (11 years, 10 months ago) by tls
Branches: tls-maxphys
FILE REMOVED
Changes since revision 1.2: +0 -139
lines
file vmem_impl.h was added on branch tls-maxphys on 2013-02-25 00:30:13 +0000
Revision 1.2: download - view: text, markup, annotated - select for diffs
Tue Jan 29 21:26:24 2013 UTC (11 years, 10 months ago) by para
Branches: MAIN
CVS tags: 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
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -2
lines
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.1: download - view: text, markup, annotated - select for diffs
Sat Jan 26 13:50:33 2013 UTC (11 years, 10 months ago) by para
Branches: MAIN
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.
CVSweb <webmaster@jp.NetBSD.org>