Hello,On Thu, 9 Jul 2026, Florian Westphal wrote: > Julian Anastasov <[email protected]> wrote: > > After looking again at the code, I think we can > > do it in different way: > > > > - IP_VS_DEST_F_AVAILABLE and IP_VS_DEST_F_OVERLOAD are defined > > in include/uapi/linux/ip_vs.h but we never export them to user > > space. So, we are free to change them. We can move them to > > include/net/ip_vs.h, see below... > > > > - IP_VS_DEST_F_AVAILABLE is changed only under service_mutex, > > so we can keep its usage > > > > - IP_VS_DEST_F_OVERLOAD needs different access methods. > > We can add 'unsigned long flags2;', may be after l_threshold. > > And to switch to such usage (F_OVERLOAD -> FL_OVERLOAD): > > > > - test_bit(IP_VS_DEST_FL_OVERLOAD, &dest->flags2) > > - set_bit(IP_VS_DEST_FL_OVERLOAD, &dest->flags2) > > > > Sometimes if (test_bit()) clear_bit() can avoid > > full memory barrier in ip_vs_dest_update_overload() > > > > - clear_bit(IP_VS_DEST_FL_OVERLOAD, &dest->flags2) > > test_bit() guard can help here too > > > > As there are other races involved, something like > > this can be a starting point for such change. It tries harder > > to update the overload flag on dest edit/add but it does not > > include the proposed bitops: > > > > diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h > > index 49297fec448a..b34631270e24 100644 > > Who is supposed to do what? > > I.e., are you going to submit this officially as replacement > for the v2 of this patch or do you expect the sumbitters of > this patch to rework their v2 along these lines? I can sumbit the ip_vs_dest_update_overload() part as separate patch which can be followed by patch(es) that convert the overload flag to bitops. I'll wait for comments from Yizhou Zhao, he should tell me if he is willing to convert the overload flag as additional patch. Regards -- Julian Anastasov <[email protected]>

