Hi Gophers!
The comment for the systemstack function states that it "runs fn on a system stack." My understanding is that fn is executed on the thread's g0 stack. However, g0 is allocated via the malg function, just like a regular goroutine's stack. That suggests the g0 stack is not implicitly created by the kernel (e.g., via a traditional thread stack), but explicitly by the Go runtime.
Given that, I'm wondering: if the g0 stack is runtime-allocated and not a kernel-managed stack, is the term “system” in systemstack still meaningful?