Wow. Even if you could compact that much memory, it would take quite a
bit of time.
Let's say a trace entry occupies 40 bytes and a TLB miss costs 200
cycles on average. So we have 100 entries per page costing 200 cycles;
amortized each entry costs 2 cycles.
There's an additional cost caused by the need to re-fill the TLB later,
but you incur that anyway if the scheduler caused a context switch.
Of course, my assumptions may be completely off (likely larger entries
but smaller miss costs). Has a vmalloc based implementation been
tested? It seems so much easier than the other alternatives.
error compiling committee.c: too many arguments to function