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/

Reply via email to