Hi Julian,
> I now read the 2.2 patch, it is short enough. One qustion,
> though: what happens if the real server weight is changed (even
> to 0) while the conns are above the threshold? Any problems
> with applying "old" old_weight after autostarting the RS?
This is one point in the TODO :). Yes, I know the problem arises
when changing weight when (curr->weight == 0). It will activate back
the server and set the threshold values back to 0. Another problem
is the one you described. I don't know for the best solution but
I think I need an old-threshold variable :(.
> May be something have to be done when the RS is edited?
Yes. What do you have in mind?
> Once Wensong mentioned about modifying the user space
> structures and separating them. May be such features can
> use their own setsockopt command to modify the kernel
> structures without creating problems for the other libipvs
> users. I.e. we have generic structure for working with the
> real/virtual servers and other extra structures for additional
> stuff which again modifies the kernel ones.
Oh, and how would you disable the feature? I mean it would be
nice to do it with a setsockopt because then the ifdef would
be gone. But then we have the a test like
atomic_read(&dest->inactconns) +
atomic_read(&dest->activeconns)) <=
dest->l_thresh) && (dest->old_weight > 0)
would introduce some additional CPU cycle burns :).
Cheers,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc
|