x86: Remove move_cleanup_count from irq_cfg
authorSuresh Siddha <suresh.b.siddha@intel.com>
Mon, 26 Oct 2009 22:24:33 +0000 (14:24 -0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 2 Nov 2009 14:56:35 +0000 (15:56 +0100)
commit23359a88e7eca3c4f402562b102f23014db3c2aa
treeffdaa4390c466aac5f3be08115be68276f4ec23d
parent84e21493a3b28c9fefe99fe827fc0c0c101a813d
x86: Remove move_cleanup_count from irq_cfg

move_cleanup_count for each irq in irq_cfg is keeping track of
the total number of cpus that need to free the corresponding
vectors associated with the irq which has now been migrated to
new destination. As long as this move_cleanup_count is non-zero
(i.e., as long as we have n't freed the vector allocations on
the old destinations) we were preventing the irq's further
migration.

This cleanup count is unnecessary and it is enough to not allow
the irq migration till we send the cleanup vector to the
previous irq destination, for which we already have irq_cfg's
move_in_progress.  All we need to make sure is that we free the
vector at the old desintation but we don't need to wait till
that gets freed.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Acked-by: Gary Hade <garyhade@us.ibm.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
LKML-Reference: <20091026230001.752968906@sbs-t61.sc.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/hw_irq.h
arch/x86/kernel/apic/io_apic.c