Ryan Wilson
Ryan Wilson
Per offline discussion with @ajor and @danobi, PR in current form fails to compile bpfsnake due to kernel verifier saying too many jumps >= 8192 due to `select` LLVM IR...
> Let's do the cpuid caching optimization since that will be necessary sooner or later. @danobi Thanks for finding this! Converting unroll(50) -> while ($y < 50) indeed works with...
@ajor you can generally ignore my comment except 1 per @danobi's investigation > Second question due to my lack of knowledge of the verifier: why does caching the CPU ID...
@ajor @danobi I implemented the CPU ID caching in its own PR since IMHO it was non-trivial (story of this whole task lol): https://github.com/bpftrace/bpftrace/pull/3487 Lets follow up there, then once...
Not ready for review yet, code is still quite sloppy, just putting up to make sure tests work across all environments before I start refactoring
Okay after enough iterations locally, the logic is so complex around whether we read/write from scratch buffer for map values/keys in CodegenAnalyser. Its not worth trying to replicate it in...
@ajor @danobi @jordalgo this is ready for review. I managed to get no over-allocation memory according to codegen and bpfsnake tests. The tradeoff is there is a lot of subtle...
Sigh my most recent changes to make memory accounting more accurate didn't work...still failing many tests due to complexity of CodegenLLVM. I think the only option is the blunt approach...
After offline discussion with @danobi, @jordalgo and @ajor, we all agree this is too complex, hard to maintain and brittle (and it even failed tests despite passing on my 6.9...
> Dumb question: why do we even need a write map buffer? Shouldn't the assignment values already be allocated to the stack or global buffer depending on their type and...