Instead of populating a Proc's parent during creation, populate it on-demand. This will reduce the number of processes created on a very large system down to those that are needed.
I think I have a working interface set up for this, however the testsuite uses the function isChildOfMine() for the purposes of teardown which requires an existing parent so this would effectively require each proc to have a parent. I think this is a throwback to the requestRefreshXXX code,which is mostly gone but there are still some tests using it.
Created attachment 1498 [details] patch to implement a getProc interface,