Re: [PATCH v5 2/5] tick: Add freeze timer events
From: dbasehore .
Date: Mon Jul 10 2017 - 17:11:34 EST
On Sat, Jul 8, 2017 at 9:05 AM, Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
> On Sat, Jul 8, 2017 at 3:03 AM, Derek Basehore <dbasehore@xxxxxxxxxxxx> wrote:
>> Adds a new feature to tick to schedule wakeups on a CPU during freeze.
>> This won't fully wake up the system (devices are not resumed), but
>> allow simple platform functionality to be run during freeze with
>> little power impact.
>>
>> This implementation allows an idle driver to setup a timer event with
>> the clock event device when entering freeze by calling
>> tick_set_freeze_event. Only one caller should exist for the function.
>>
>> tick_freeze_event_expired is used to check if the timer went off when
>> the CPU wakes.
>>
>> The event is cleared by tick_clear_freeze_event.
>
>> +int tick_set_freeze_event(int cpu, ktime_t delta)
>> +{
>
>> + printk_deferred(KERN_WARNING
>> + "[%s] unsupported by clock event device\n",
>
> Can it be one line?
Sure. It seems that some of these lines were at 80 characters on one
line anyways. Putting some of these on one line breaks the 80
character limit and doesn't help with grepping through code, though.
>
>> + printk_deferred(KERN_WARNING
>> + "[%s] clock event device in use\n",
>
> Ditto.
>
>> + printk_deferred(KERN_WARNING
>> + "[%s] %lluns outside range: [%lluns, %lluns]\n",
>
> Ditto.
>
>> + printk_deferred(KERN_WARNING
>> + "Failed to program freeze event\n");
>
> Ditto.
>
>> +int tick_freeze_event_expired(int cpu)
>> +{
>> + struct clock_event_device *dev = per_cpu(tick_cpu_device, cpu).evtdev;
>> +
>> + if (!(dev && dev->event_expired))
>
> Usually we use a pattern (!x || !x->y). At least for me it looks
> slightly better to read.
Will do.
>
>> + return 0;
>> +
>> + return dev->event_expired(dev);
>> +}
>
> --
> With Best Regards,
> Andy Shevchenko