Page MenuHomeFreeBSD

Pat the watchdog less while producing a coredump
ClosedPublic

Authored by jtl on Apr 6 2018, 3:03 PM.
Tags
None
Referenced Files
Unknown Object (File)
Oct 13 2024, 9:12 AM
Unknown Object (File)
Oct 13 2024, 9:12 AM
Unknown Object (File)
Oct 13 2024, 9:12 AM
Unknown Object (File)
Oct 13 2024, 9:05 AM
Unknown Object (File)
Oct 4 2024, 10:07 PM
Unknown Object (File)
Oct 4 2024, 1:51 PM
Unknown Object (File)
Oct 2 2024, 8:34 AM
Unknown Object (File)
Oct 2 2024, 3:38 AM
Subscribers

Details

Summary

Prior to this change, we patted the watchdog approximately once per 4KB page of memory. After this change, we pat the watchdog approximately once per 128MB of memory. On a sample machine, this translated to patting the watchdog approximately every 5.4 seconds, which "seems reasonable". We can choose a different value in the future, if warranted.

This has extensive field experience. It is a performance improvement, and has not caused any known problems.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

How much of a difference does this make in write speed for the dumps? Do we have numbers on it?

In D14988#315317, @imp wrote:

How much of a difference does this make in write speed for the dumps? Do we have numbers on it?

No, we don't have numbers. However, @gallatin said it was a "measurable speedup" when he applied it.

OK. so at least 10% faster :)

I've looked at the code, and apart from some wonky inverted logic that wasn't clear (but was correct), it looks good to me. It's a shame we can't use the 'counter' stuff to do the touching since that would make the code simpler, but is every 16MB.

This revision is now accepted and ready to land.Apr 6 2018, 4:38 PM
This revision was automatically updated to reflect the committed changes.