lkml.org 
[lkml]   [2014]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [patch V2 40/64] hwmon: ibmaem: Use ktime_get_ns()
    From
    Date
    Hi Thomas,

    Le Wednesday 16 July 2014 à 21:04 +0000, Thomas Gleixner a écrit :
    > Using the wall clock time for delta time calculations is wrong to
    > begin with because wall clock time can be set from userspace and NTP.
    > Such data wants to be based on clock monotonic.
    >
    > The calcuations also are done on a nanosecond basis. Use the

    Typo: calculations

    > nanoseconds based interface right away.
    >
    > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    > Cc: Jean Delvare <jdelvare@suse.de>
    > ---
    > drivers/hwmon/ibmaem.c | 6 ++----
    > 1 file changed, 2 insertions(+), 4 deletions(-)
    >
    > Index: tip/drivers/hwmon/ibmaem.c
    > ===================================================================
    > --- tip.orig/drivers/hwmon/ibmaem.c
    > +++ tip/drivers/hwmon/ibmaem.c
    > @@ -842,11 +842,10 @@ static ssize_t aem_show_power(struct dev
    > struct aem_data *data = dev_get_drvdata(dev);
    > u64 before, after, delta, time;
    > signed long leftover;
    > - struct timespec b, a;
    >
    > mutex_lock(&data->lock);
    > update_aem_energy_one(data, attr->index);
    > - getnstimeofday(&b);
    > + time = ktime_get_ns();
    > before = data->energy[attr->index];
    >
    > leftover = schedule_timeout_interruptible(
    > @@ -858,11 +857,10 @@ static ssize_t aem_show_power(struct dev
    > }
    >
    > update_aem_energy_one(data, attr->index);
    > - getnstimeofday(&a);
    > + time = ktime_get_ns() - time;
    > after = data->energy[attr->index];
    > mutex_unlock(&data->lock);
    >
    > - time = timespec_to_ns(&a) - timespec_to_ns(&b);
    > delta = (after - before) * UJ_PER_MJ;
    >
    > return sprintf(buf, "%llu\n",

    I'm not familiar with the driver and I can't test it, and I'm not
    familiar with kernel timekeeping either. All I can say is that the
    changes look reasonable and good.

    Acked-by: Jean Delvare <jdelvare@suse.de>

    Darrick, maybe you want to comment or test?

    --
    Jean Delvare
    SUSE L3 Support

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2014-07-21 11:21    [W:4.272 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site