On Mon, Apr 11, 2016 at 05:10:48PM -0400, Nenad Merdanovic wrote:
> Hello Willy,
> 
> On 4/11/2016 11:23 AM, Willy Tarreau wrote:
> > OK so my assumption was right and I could even model a reproducer against
> > this bug :-)
> > 
> > Interestingly it doesn't affect 1.6+ because we added some protections
> > against polling loops in 1.6, so a failed read is properly detected and
> > disabled. Janusz, that explains why 1.6.4 doesn't cause the spikes.
> > 
> > Janusz and Nenad, please apply the following patch to your 1.5 tree.
> > It works for me and does what the code is supposed to do (ie: subtract
> > outgoing data from the reserve as done in channel_full() when deciding
> > to re-enable polling).
> 
> Thanks a lot for the fix! I've upgraded the LB farm and can confirm that
> we no longer see increased CPU usage.

Excellent, thanks very much for confirming! I feel like I'm not completely
obsolete yet if I can still spot such an issue by reading the code then
write the reproducer :-)

Cheers,
Willy


Reply via email to