tick issue: tick_setup_device()

From: chao xie
Date: Fri Jul 01 2011 - 22:13:28 EST


hi
I am very strange about this function.
In this function, it has
/*
        * When the device is not per cpu, pin the interrupt to the
        * current cpu:
        */
       if (!cpumask_equal(newdev->cpumask, cpumask))
               irq_set_affinity(newdev->irq, cpumask);

When the clock event device has cpu_mask set to be cpumask_of(1), it
means that the device is bound to cpu1. So above code has covered it,
but why we have "!cpumask_equal(newdev->cpumask, cpumask)"?
if the "newdev->cpumask" equals "cpumask", cpumask_equal will return
1, and at this situation we will set the irq affinity because the
device is bound to the dedicated cpu.

Is there a bug, or i understand wrong about cpumask of clock_event_device?
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/