On 16 April 2014 00:00, Thomas Gleixner <t...@linutronix.de> wrote: > On Tue, 15 Apr 2014, Viresh Kumar wrote: > >> If 'curdev' passed to tick_check_preferred() is the current >> clock_event_device >> then these two checks look exactly same, because td->mode is set to >> TICKDEV_MODE_ONESHOT only when the event device has ONESHOT feature. >> >> if (curdev && (curdev->features & CLOCK_EVT_FEAT_ONESHOT)) >> return false; >> >> if (tick_oneshot_mode_active()) >> return false; >> >> Now left the case where 'curdev' is not the current clock_event_device. This >> can >> happen from the sequence started from clockevents_replace(). Here we are >> trying >> to find the best possible device that we should choose. And so even in this >> case >> we don't need the above check as we aren't really worried about the current >> device. > > Wrong. If curdev is NULL, you might select a device w/o ONESHOT if the > system is in oneshot mode. Go figure.
Okay, so the logs must have another case where curdev is NULL. But codewise we are already taking care of that here: return !curdev || newdev->rating > curdev->rating || !cpumask_equal(curdev->cpumask, newdev->cpumask); And so this patch wouldn't harm. And this is preserved in the next patch (3/5) as well, which adds checks for other cases as well. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/