Yeah, so we could put the parameters back by measuring it in user-space via a nice utility in tools/, and by matching it to relevant hardware signatures (CPU type and cache sizes), plus doing some defaults for when we don't have any signature... possibly based on a fuzzy search to find the 'closest' system in the table of constants.
That would stabilize the boot-to-boot figures while still keeping most of the system specific-ness, in a maintainable fashion.
The downside is that we'd have to continuously maintain a table of all this info, with new entries added when new CPUs are introduced on the market. That's an upside too, btw.
one way out could be to define "buckets" of values this way, and on the machine round the calibration to the nearest bucket
(but in practice caches get flushed a LOT if the system is not 100% busy so not sure if this logic really matters outside of benchmarks)