Re: [PATCH 2/3] irq: Track the interrupt timings

From: Daniel Lezcano
Date: Thu Jun 22 2017 - 10:55:55 EST



Hi Thomas,

thanks for the review.

On 22/06/2017 16:47, Thomas Gleixner wrote:
> On Tue, 20 Jun 2017, Daniel Lezcano wrote:
>> +
>> +struct irq_timings {
>> + u64 values[IRQ_TIMINGS_SIZE]; /* our circular buffer */
>> + unsigned int count; /* Number of interruptions since last inspection */
>
> Groan. These tail comments are horrible.
>
> Please make the struct member names tabular aligned and add proper kernel
> doc comments if you want to add useful documentations for the fields.

[ ... ]

Ok.

>> + * The interrupt number and the timestamp are encoded into a single
>> + * u64 variable to optimize the size.
>> + * 48 bit time stamp and 16 bit IRQ number is way sufficient.
>> + * Who cares an IRQ after 78 hours of idle time?
>> + */
>> +static inline u64 irq_timing_encode(u64 timestamp, int irq)
>> +{
>> + return (timestamp << 16) | irq;
>> +}
>> +
>> +static inline void irq_timing_decode(u64 value, u64 *timestamp, int *irq)
>
> What's wrong with using a return value instead of void?

Nothing wrong, as we are expecting two values I don't like the idea to
have one returned and the other one passed as a pointer. It is a matter
of taste. I can return the irq if you prefer.




--
<http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog