Messages in this thread | | | Date | Wed, 30 Dec 2015 23:50:40 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [Bugfix v2 4/5] x86/irq: Fix a race condition between vector assigning and cleanup |
| |
On Wed, 23 Dec 2015, Jiang Liu wrote: > /* > - * Check if the irq migration is in progress. If so, we > - * haven't received the cleanup request yet for this irq. > + * Nothing to cleanup if this cpu is not set > + * in the old_domain mask. > */ > - if (data->move_in_progress) > - goto unlock; > - > - if (vector == data->cfg.vector && > - cpumask_test_cpu(me, data->domain))
Actually we cannot remove this check either. If the vector changed from 100 to 80, then we cleanup vector 80 which is the active vector and the old one remains stale. Not pretty, right?
I'll send out a fine granular series tomorrow when my brain is more awake.
Thanks,
tglx
| |