Dai,

> I think we can achieve the same result with a simpler change
> by removing and re-inserting the entry to the head of the list
> once it was selected. The webrev for that change is here:
> 
> http://cr.opensolaris.org/~dain/6817942/ 
> <http://cr.opensolaris.org/%7Edain/6817942/>

First of all, sorry for the delay which was on my side this time.

Regarding your suggested change:

* Besides clnt_max_conns, there are other static declarations, which need to be 
removed. Your proposed changed does not fix these.

* The change you propose changes the way the last used cm_xprt entry is saved - 
but this does not have anything to do with the root cause of the issue, which 
is 
that using timestamps is inappropriate. I do not like the fact that your change 
exploits an unintentional side effect of the original solution (the fact that 
the last of the entries with equivalent x_time is selected) to implement round 
robin behavior without doing away the the flawed implementation in the first 
place.

On a meta-layer, I think we can come up with hundreds of alternative solutions 
to this issue. I have asked for reviews of my proposed solution and I have not 
received any. What was your motivation to propose a completely different 
approach?

I would also like to point our that I have reduced the complexity for dooming 
entries (will be done in one go trough the list rather than starting all over 
when an entry is doomed), that I hope to have made the function more concise 
and 
that I hope to improve on maintenance by adding comments.

Nils

Reply via email to