I think that this discussion is about trying to solve an almost impossible problem.
When the link is in overload, and this is the case, there is nothing one can do with flow queuing or AQM.
It is just too late to make something useful.
Overload means that the number of active backlogged flows is just too large and the fair-share is too low for application in the first place and for the transport too.
Jonathan tries to make TCP work in a desperate situation.
In real life what would happen is that applications would just stop and so the number of flows would dicrease to normal numbers.
For those apps that don’t stop the best approach would be to just kill in a selective manner, best if driven by a policy that is set by the user.
This is why I think that any fix that tries to solve this problem in the queueing system should be avoided. It does not solve the real problem (overload) and introduces latency.
My2c
Luca