Re: WARNING and PANIC in irq_matrix_free

From: Tariq Toukan
Date: Mon May 28 2018 - 07:17:25 EST




On 28/05/2018 1:53 PM, Thomas Gleixner wrote:
On Fri, 25 May 2018, Song Liu wrote:
On Wed, May 23, 2018 at 1:49 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
On Wed, 23 May 2018, Tariq Toukan wrote:
I have your patch merged into my internal branch, it prints the following:

[ 4898.226258] Trying to clear prev_vector: 0
[ 4898.226439] Trying to clear prev_vector: 0

i.e. vector(0) is lower than FIRST_EXTERNAL_VECTOR.

Could you please enable the vector and irq matrix trace points and capture
the trace when this happens?

Does the patch below fix it?

Thanks,

tglx

8<-------------------
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index bb6f7a2148d7..54af3d4884b1 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -148,6 +148,7 @@ static void apic_update_vector(struct irq_data *irqd, unsigned int newvec,
* prev_vector for this and the offlined target case.
*/
apicd->prev_vector = 0;
+ apicd->move_in_progress = false;
if (!apicd->vector || apicd->vector == MANAGED_IRQ_SHUTDOWN_VECTOR)
goto setnew;
/*


I took it into my internal branch. Will let you know.

Tariq