Page MenuHomeFreeBSD

iflib: Prevent watchdog from resetting idle queues
ClosedPublic

Authored by piotr.pietruszewski_intel.com on Sep 19 2019, 10:15 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 19 2024, 7:32 PM
Unknown Object (File)
Feb 20 2024, 3:22 PM
Unknown Object (File)
Jan 13 2024, 2:00 PM
Unknown Object (File)
Dec 20 2023, 8:28 AM
Unknown Object (File)
Dec 10 2023, 7:59 PM
Unknown Object (File)
Nov 23 2023, 9:36 AM
Unknown Object (File)
Nov 22 2023, 11:52 AM
Unknown Object (File)
Oct 20 2023, 8:22 PM

Details

Summary

While changing link state in iflib_link_state_change(), queues are
marked as IFLIB_QUEUE_IDLE to disable watchdog. Currently, iflib_timer()
watchdog does not check for previous queue status before marking it as
IFLIB_QUEUE_HUNG.

This patch adds check of queue status before marking it as hung.

Signed-off-by: Piotr Pietruszewski <piotr.pietruszewski@intel.com>

Diff Detail

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

Event Timeline

I'm not sure, but I think the only way this can happen is when the link is down. Is that the caee here?

I'm not sure, but I think the only way this can happen is when the link is down. Is that the caee here?

Yes. We discovered that while investigating this PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239240

Would it make sense then to assert that the link is down?

Would it make sense then to assert that the link is down?

Could you clarify on what you mean by that? Did you mean have a check for when the link is down, or an actual kernel assert? I think some of us internally were confused about what you meant.

Yes, I meant adding a KASSERT or at least a comment.

This revision is now accepted and ready to land.Dec 22 2019, 11:09 PM
This revision was automatically updated to reflect the committed changes.