Messages in this thread | | | Date | Wed, 17 Jun 2015 13:52:39 +0200 | From | Joerg Roedeljoro <> | Subject | Re: Panic when cpu hot-remove |
| |
On Wed, Jun 17, 2015 at 10:42:49AM +0000, 范冬冬 wrote: > Hi maintainer, > > We found a problem that a panic happen when cpu was hot-removed. We also trace the problem according to the calltrace information. > An endless loop happen because value head is not equal to value tail forever in the function qi_check_fault( ). > The location code is as follows: > > > do { > if (qi->desc_status[head] == QI_IN_USE) > qi->desc_status[head] = QI_ABORT; > head = (head - 2 + QI_LENGTH) % QI_LENGTH; > } while (head != tail);
Hmm, this code interates only over every second QI descriptor, and tail probably points to a descriptor that is not iterated over.
Jiang, can you please have a look?
Joerg
| |