* Herbert Xu <20041016113006.GA12843@xxxxxxxxxxxxxxxxxxx> 2004-10-16 21:30
> So here is my proposal: if we detect signs of impending congestion
> in netlink_broadcast(), and that we're in a sleepable context, then
> we yield().
> This gives the receivers a chance to pull down the messages without
> having the sender spinning indefinitely. I've tested it on my UP
> machine and it does resolve the problem for ip monitor.
Up to how many receivers does that work? We would still see the
effect if too many receivers are registered, right?
I haven't had the time to read through the previous conversion so
I don't know if this has come up so far but we could request an ACK
from each receiver an congest based on the following strategy:
SS := Last serial sent
SR := Last serial received
LL := Lower congestion limit to ignore short bursts
UL := Upper congestion limit to avoid infinite congestion:
Congestion map for (SS - SR)
The biggest problem is that I don't know of any application
handling ACK requests properly yet.
Just a wild idea anyway, I'm not even sure whether it's worth