code wiki / _hdl_build / nx_selfbuild_governed.nx

nx_selfbuild_governed.nx

buildroot/runtime/_hdl_build/nx_selfbuild_governed.nx

6375 B76 linesdepth 3pulls 5 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_selfbuild_governed.nx -- Integrates live host sensing and polite resource governance into an adaptive self-build loop.

dependencies 4 imports · 0 importers

nx_gate_base.nx nx_sysload.nx nx_resource_governor.nx nx_syscalls.nx nx_selfbuild_governed.nx

imports: nx_gate_base.nxnx_sysload.nxnx_resource_governor.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main gw sys_write sl_ncpu sys_mmap nxa_die sys_write ↻ sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_munmap sys_close sl_count_substr sl_loadavg_milli sys_mmap ↻ sys_read_file ↻ sl_freemem_mb sys_mmap ↻ sys_read_file ↻ sl_active_conns_8443 sys_mmap ↻ sys_read_file ↻ sl_count_substr ↻ gn sys_write ↻ sys_mmap ↻

structs

none

consts

18const NX_MAGIC_8000: i64 = 8000
19const NX_MAGIC_16000: i64 = 16000
21const NX_SG_MEM_FLOOR_MB: i64 = 256 // don't start work below this free-mem floor (avoid thrash/OOM) -- named

functions

25func grow(name: *u8, ok: i64) -> i64 { if ok==1 { gw(" PASS " as *u8) } else { gw(" FAIL " as *u8) } gw(name); gw("
calls 1: gw
27func gn(v: i64) -> i64 { if v==0 { sys_write(1,"0" as *u8,1); return 0 } var m: i64=v; if m<0 { sys_write(1,"-" as *u8,1); m=0-m } let t: *u8=sys_mmap(24); var k: i64=0; while m>0 { t[k]=(48+(m%10)) as u8; m=m/10; k=k+1 } let o: *u8=sys_mmap(24); var w: i64=0; var q: i64=k-1; while q>=0 { o[w]=t[q]; w=w+1; q=q-1 } sys_write(1,o,w); return 0 }
28func governed_budget(ncpu: i64, load_milli: i64, free_mb: i64, conns: i64) -> i64
37func main() -> i64