You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are currently three motivations for upgrading LuaJIT from 2.0 to 2.1 in Gatekeeper:
The 1GB memory limit per process. Let $x$ be the amount of memory that a Lua state in an instance of the GT block consumes; this Lua state is responsible for running the Lua policy. A typical Grantor server has 2 instances of the GT Block. During Lua policy reloads, new Lua states are created in parallel to avoid hiccups while making policy decisions. Thus, $4x$ must be less than 1GiB, which implies that $x < 256MiB$; this is not much. Currently, Lua policies consume less than 1MB because most of its resources are allocated outside of Lua. LuaJIT 2.1 introduces the new garbage collector GC64, which lifts this limit to 128TB.
LuaJIT is being assumed to be on rolling releases; that is, it's stable, and updates are being made to branches 2.0 and 2.1. Moreover, LuaJIT 2.1 has been used in production by OpenResty at least since 2014. Therefore, we can upgrade to LuaJIT 2.1 before it gets the official "stable" mark. If something goes wrong, we can workaround disabling the JIT compiler with jit.off().
There are currently three motivations for upgrading LuaJIT from 2.0 to 2.1 in Gatekeeper:
The text was updated successfully, but these errors were encountered: