Tiny: Enable P0→FC direct path for class7 (1KB) by default + docs

- Class7 (1KB): P0 direct-to-FastCache now default ON (HAKMEM_TINY_P0_DIRECT_FC_C7 unset or not '0').
- Keep A/B gates: HAKMEM_TINY_P0_ENABLE, HAKMEM_TINY_P0_DIRECT_FC (class5), HAKMEM_TINY_P0_DIRECT_FC_C7 (class7),
  HAKMEM_TINY_P0_DRAIN_THRESH (default 32), HAKMEM_TINY_P0_NO_DRAIN, HAKMEM_TINY_P0_LOG.
- P0 batch now supports class7 direct fill in addition to class5: gather (drain thresholded → freelist pop → linear carve)
  without writing into objects, then bulk-push into FC, update meta/active counters once.
- Docs: Update direct-FC defaults (class5+class7 ON) in docs/TINY_P0_BATCH_REFILL.md.

Notes
- Use tools/bench_rs_from_files.sh for RS(hakmem/system) to compare runs across CPUs.
- Next: parameter sweep for class7 (FC cap/batch limit/drain threshold) and perf counters A/B.
This commit is contained in:
Moe Charm (CI)
2025-11-09 23:15:02 +09:00
parent d9b334b968
commit 70ad1ffb87
9 changed files with 372 additions and 1184 deletions

View File

@ -23,16 +23,16 @@ hakmem_tiny.o: core/hakmem_tiny.c core/hakmem_tiny.h \
core/hakmem_tiny_hotmag.inc.h core/hakmem_tiny_hot_pop.inc.h \
core/hakmem_tiny_fastcache.inc.h core/hakmem_tiny_refill.inc.h \
core/hakmem_tiny_refill_p0.inc.h core/tiny_refill_opt.h \
core/hakmem_tiny_ultra_front.inc.h core/hakmem_tiny_intel.inc \
core/hakmem_tiny_background.inc core/hakmem_tiny_bg_bin.inc.h \
core/hakmem_tiny_tls_ops.h core/hakmem_tiny_remote.inc \
core/hakmem_tiny_init.inc core/hakmem_tiny_bump.inc.h \
core/hakmem_tiny_smallmag.inc.h core/tiny_atomic.h \
core/tiny_alloc_fast.inc.h core/tiny_alloc_fast_sfc.inc.h \
core/tiny_region_id.h core/tiny_alloc_fast_inline.h \
core/tiny_free_fast.inc.h core/hakmem_tiny_alloc.inc \
core/hakmem_tiny_slow.inc core/hakmem_tiny_free.inc \
core/box/free_publish_box.h core/mid_tcache.h \
core/tiny_fc_api.h core/hakmem_tiny_ultra_front.inc.h \
core/hakmem_tiny_intel.inc core/hakmem_tiny_background.inc \
core/hakmem_tiny_bg_bin.inc.h core/hakmem_tiny_tls_ops.h \
core/hakmem_tiny_remote.inc core/hakmem_tiny_init.inc \
core/hakmem_tiny_bump.inc.h core/hakmem_tiny_smallmag.inc.h \
core/tiny_atomic.h core/tiny_alloc_fast.inc.h \
core/tiny_alloc_fast_sfc.inc.h core/tiny_region_id.h \
core/tiny_alloc_fast_inline.h core/tiny_free_fast.inc.h \
core/hakmem_tiny_alloc.inc core/hakmem_tiny_slow.inc \
core/hakmem_tiny_free.inc core/box/free_publish_box.h core/mid_tcache.h \
core/tiny_free_magazine.inc.h core/tiny_superslab_alloc.inc.h \
core/tiny_superslab_free.inc.h core/box/free_remote_box.h \
core/box/free_local_box.h core/hakmem_tiny_lifecycle.inc \
@ -96,6 +96,7 @@ core/hakmem_tiny_fastcache.inc.h:
core/hakmem_tiny_refill.inc.h:
core/hakmem_tiny_refill_p0.inc.h:
core/tiny_refill_opt.h:
core/tiny_fc_api.h:
core/hakmem_tiny_ultra_front.inc.h:
core/hakmem_tiny_intel.inc:
core/hakmem_tiny_background.inc: