MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / ggml_critical_section_start

Function ggml_critical_section_start

ggml.c:1838–1847  ·  view source on GitHub ↗

barrier via spin lock

Source from the content-addressed store, hash-verified

1836
1837// barrier via spin lock
1838inline static void ggml_critical_section_start(void) {
1839 int processing = atomic_fetch_add(&g_state_barrier, 1);
1840
1841 while (processing > 0) {
1842 // wait for other threads to finish
1843 atomic_fetch_sub(&g_state_barrier, 1);
1844 sched_yield(); // TODO: reconsider this
1845 processing = atomic_fetch_add(&g_state_barrier, 1);
1846 }
1847}
1848
1849// TODO: make this somehow automatically executed
1850// some sort of "sentry" mechanism

Callers 2

ggml_initFunction · 0.70
ggml_freeFunction · 0.70

Calls 2

sched_yieldFunction · 0.70
atomic_fetch_addFunction · 0.50

Tested by

no test coverage detected