ea930f6f9e
Since its introduction, our evolved /proc/stat API has relied on a static buffer of 8192 bytes. This approach is probably Ok for other /proc files but it would only accommodate around 100 processors. If such a threshold were exceeded then this interface could never succeed. Now days 100 processors doesn't seem at all excessive. So this commit trades that static buffer for a dynamic self-tuning one. And since so much former top CPU code was already rolled into this module, we just stole the already proven top dynamic buffer management code too. [ this also meant switching low level unbuffered I/O ] [ calls to standard library buffered I/O calls. that ] [ is exactly what <slabinfo> and <diskstats> employ. ] Reference(s): . 1st gen readstat introduction commit a410e236abb47c7c43194e61d0566686f81513af Signed-off-by: Jim Warner <james.warner@comcast.net>