quakeforge/include
Bill Currie af814ff9a8 [util] Add a cache-line aligned memory allocator
This was inspired by
Hoard: A Scalable Memory Allocator
  for Multithreaded Applications

 Emery D. Berger, Kathryn S. McKinley, Robert D. Blumofe, Paul R.
 Wilson,

It's not anywhere near the same implementation, but it did take a few
basic concepts. The idea is twofold:
1) A pool of memory from which blocks can be allocated and then freed
en-mass and is fairly efficient for small (4-16 byte) blocks
2) Tread safety for use with the Vulkan renderer (and any other
multi-threaded tasks).

However, based on the Hoard paper, small allocations are cache-line
aligned. On top of that, larger allocations are page aligned.

I suspect it would help qfvis somewhat if I ever get around to tweaking
qfvis to use cmem.
2020-12-21 14:14:29 +09:00
..
client Fix the ghost entities in demo playback. 2012-07-05 19:06:35 +09:00
QF [util] Add a cache-line aligned memory allocator 2020-12-21 14:14:29 +09:00
qw Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
win32 Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
adivtab.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
alsa_funcs_list.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
anorm_dots.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
anorms.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
asm_draw.h First step for BSP2 support. DOES NOT WORK! 2012-09-07 16:09:24 +09:00
asm_i386.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
block8.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
block16.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
buildnum.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
clview.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
compat.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
context_sdl.h Separate render and presentation initialization 2019-07-09 01:00:47 +09:00
context_x11.h Separate render and presentation initialization 2019-07-09 01:00:47 +09:00
d_iface.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
d_ifacea.h Remove pskindesc from affinetridesc_t. 2012-05-19 09:29:05 +09:00
d_local.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
dga_check.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
exp.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
fbset.h big protototype cleanup. Now, except for a few cases, all non-static 2002-11-05 19:12:51 +00:00
garbage.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
getopt.h make gcc more anal about prototypes, string constants and function 2003-01-06 18:28:13 +00:00
gib_buffer.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
gib_builtin.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_classes.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_execute.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_function.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_handle.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_object.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_parse.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
gib_process.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_regex.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
gib_semantics.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_thread.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_tree.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gib_vars.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
gl_warp_sin.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
in_win.h Fix win32 (mingw) builds. 2012-02-07 20:18:23 +09:00
logos.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
Makemodule.am Merge branch 'master' into vulkan 2020-06-25 14:03:52 +09:00
mod_internal.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
net_dgrm.h Update for doxygen 1.8.16 2020-02-11 15:22:42 +09:00
net_loop.h Update for doxygen 1.8.16 2020-02-11 15:22:42 +09:00
net_udp.h Update for doxygen 1.8.16 2020-02-11 15:22:42 +09:00
net_vcr.h Update for doxygen 1.8.16 2020-02-11 15:22:42 +09:00
net_wins.h Update for doxygen 1.8.16 2020-02-11 15:22:42 +09:00
netchan.h Merge branch 'master' into vulkan 2020-06-25 14:03:52 +09:00
netmain.h Update for doxygen 1.8.16 2020-02-11 15:22:42 +09:00
noisetextures.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
old_keys.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
ops.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
pstdint.h Prefer int over long for (u)int32_t. 2010-12-23 09:47:05 +09:00
qfalloca.h Handle alloca "correctly". 2013-01-22 21:02:50 +09:00
qstring.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
quakeasm.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
r_cvar.h Separate render and presentation initialization 2019-07-09 01:00:47 +09:00
r_dynamic.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
r_internal.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
r_local.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
r_screen.h Clean up vid access a little 2019-07-07 15:38:29 +09:00
r_shared.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
regex.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
rua_internal.h [ruamoko] Create a va_copy for progs 2020-04-01 19:48:05 +09:00
sbar.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
skin_stencil.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
snd_internal.h Update for doxygen 1.8.16 2020-02-11 15:22:42 +09:00
sv_console.h The status bar in the quakeworld server curses console finally does something. Currently only cpu usage, but as a proof-of-concept, it more than does its job. 2007-04-09 00:10:10 +00:00
varrays.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
vgamodes.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
vid_gl.h Separate render and presentation initialization 2019-07-09 01:00:47 +09:00
vid_internal.h Separate render and presentation initialization 2019-07-09 01:00:47 +09:00
vid_sw.h Separate render and presentation initialization 2019-07-09 01:00:47 +09:00
vid_vulkan.h Create and destroy render pass and frame buffers 2020-02-18 17:18:37 +09:00
vregset.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
winquake.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
world.h Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00