Project

General

Profile

Actions

Bug #11577

closed

blown assert in i40e_intr_io_clear_cause()

Added by Robert Mustacchi almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

As reported by sjorge in "illumos-joyent#189"https://github.com/joyent/illumos-joyent/issues/189; the following DEBUG assertion trips on shutdown. Robert Mustacchi and I have encountered this assertion before as well.

#ifdef DEBUG
        /*
         * Verify that the interrupt in question is disabled. This is a
         * prerequisite of modifying the data in question.
         */
        reg = I40E_READ_REG(hw, I40E_PFINT_DYN_CTLN(i));
        VERIFY0(reg & I40E_PFINT_DYN_CTLN_INTENA_MASK);
#endif

~~

I've spent a little bit of time finally looking at this and there are as a starting point a few problems. The first is that when we're iterating on debug bits to clear out the linked lists, we're doing it based on the number of queues. Unfortunately, this is incorrect. We should instead be doing this based on the number of interrupt vectors and properly indexing into them. I've also opted to remove this debug assertion as upon re-reading this, we've already theoretically disabled all the interrupts, so it should be fine here. Also, when we bring the device back up, we reset the PF anyways, so any lingering linked list entries should be fine.

To test this, I've rebooted several systems on debug bits. Systems which used to reliably hit this and trigger this no longer do so. A few other manual start and stops have seemed fine.

Actions #1

Updated by Electric Monk almost 3 years ago

  • Status changed from New to Closed

git commit 093e84535f35ec94776a855ada3dac96daf5d602

commit  093e84535f35ec94776a855ada3dac96daf5d602
Author: Robert Mustacchi <rm@joyent.com>
Date:   2019-08-28T21:11:13.000Z

    11577 blown assert in i40e_intr_io_clear_cause()
    Reviewed by: Dan McDonald <danmcd@joyent.com>
    Reviewed by: Ryan Zezeski <rpz@joyent.com>
    Reviewed by: Randy Fishel <randyf@sibernet.com>
    Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF