Rewrite the main data structure to be dynamically allocated.
authorAuke Kok <auke-jan.h.kok@intel.com>
Wed, 23 May 2012 06:16:18 +0000 (23:16 -0700)
committerAuke Kok <auke-jan.h.kok@intel.com>
Wed, 23 May 2012 06:16:18 +0000 (23:16 -0700)
commit2b36633d0d3e4d8d9010be4a44af4dfe4b91750f
treea9246ce8556a28f2aed6fa44cb62a81c456509d1
parent872fb107028e377eef3c0c7c8a6e0f7c32b8ebb8
Rewrite the main data structure to be dynamically allocated.

The 'ps' data array used to be a flat, stack allocated array of
65k entries of each 200k each. This makes no sense anymore, and
just puts us at the wrong end of VM tricks.

Instead, we malloc() a per-process struct ps_struct of about
200k whenever needed.

Because we now don't have a linear array anymore, we need to do
pointer juggling to walk the entries as an array (->next_ps), and
as a process tree (->childred, ->next). This makes walking and
maintaining the tree of processes a bit more complex.

All in all however the code cleans up a bit as we're now just
walking linked lists, one way or another.
bootchart.c
bootchart.h
log.c
svg.c