andikleen / mcelog

Linux kernel machine check handling middleware
http://www.mcelog.org
GNU General Public License v2.0
133 stars 63 forks source link

leaky bucket #11

Open ejones71 opened 10 years ago

ejones71 commented 10 years ago

The recent leaky bucket update looks wrong to me. Testing with mce-inject shows that the threshold is exceeded on every event up to the bucket capacity. This is because __bucket_account() changed from >= to < in its comparison.

I have a simple fix, but I'm not clear on the correct repeated threshold behavior if the bucket fills faster than it ages. What is the purpose of "excess"?

andikleen commented 10 years ago

Sorry for the late answer. I would like the fix please.

excess is just too show how many errors exceeded the bucket.

dimaslv commented 10 years ago

Encountered same bug. I have threshold of 100 in 24h, but get messages from every error: corrected Socket memory error count exceeded threshold: 1 in 24h Fallback Socket memory error count 1 exceeded threshold: 2 in 24h corrected Socket memory error count exceeded threshold: 3 in 24h

Errors are printed untill the threshold (100) is really exceeded and then stops.

Any news on fix? Thanks in advance!