Skip to content

Commit

Permalink
powerpc: cell: Use ktime_get_ns()
Browse files Browse the repository at this point in the history
Replace the ever recurring:
	ts = ktime_get_ts();
	ns = timespec_to_ns(&ts);
with
	ns = ktime_get_ns();

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
  • Loading branch information
Thomas Gleixner authored and John Stultz committed Jul 23, 2014
1 parent 68f6783 commit f2dec1e
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 17 deletions.
11 changes: 3 additions & 8 deletions arch/powerpc/platforms/cell/spu_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -611,7 +611,6 @@ static int __init create_spu(void *data)
int ret;
static int number;
unsigned long flags;
struct timespec ts;

ret = -ENOMEM;
spu = kzalloc(sizeof (*spu), GFP_KERNEL);
Expand Down Expand Up @@ -652,8 +651,7 @@ static int __init create_spu(void *data)
mutex_unlock(&spu_full_list_mutex);

spu->stats.util_state = SPU_UTIL_IDLE_LOADED;
ktime_get_ts(&ts);
spu->stats.tstamp = timespec_to_ns(&ts);
spu->stats.tstamp = ktime_get_ns();

INIT_LIST_HEAD(&spu->aff_list);

Expand All @@ -676,18 +674,15 @@ static const char *spu_state_names[] = {
static unsigned long long spu_acct_time(struct spu *spu,
enum spu_utilization_state state)
{
struct timespec ts;
unsigned long long time = spu->stats.times[state];

/*
* If the spu is idle or the context is stopped, utilization
* statistics are not updated. Apply the time delta from the
* last recorded state of the spu.
*/
if (spu->stats.util_state == state) {
ktime_get_ts(&ts);
time += timespec_to_ns(&ts) - spu->stats.tstamp;
}
if (spu->stats.util_state == state)
time += ktime_get_ns() - spu->stats.tstamp;

return time / NSEC_PER_MSEC;
}
Expand Down
4 changes: 1 addition & 3 deletions arch/powerpc/platforms/cell/spufs/context.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ atomic_t nr_spu_contexts = ATOMIC_INIT(0);
struct spu_context *alloc_spu_context(struct spu_gang *gang)
{
struct spu_context *ctx;
struct timespec ts;

ctx = kzalloc(sizeof *ctx, GFP_KERNEL);
if (!ctx)
Expand Down Expand Up @@ -67,8 +66,7 @@ struct spu_context *alloc_spu_context(struct spu_gang *gang)
__spu_update_sched_info(ctx);
spu_set_timeslice(ctx);
ctx->stats.util_state = SPU_UTIL_IDLE_LOADED;
ktime_get_ts(&ts);
ctx->stats.tstamp = timespec_to_ns(&ts);
ctx->stats.tstamp = ktime_get_ns();

atomic_inc(&nr_spu_contexts);
goto out;
Expand Down
4 changes: 1 addition & 3 deletions arch/powerpc/platforms/cell/spufs/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -2338,7 +2338,6 @@ static const char *ctx_state_names[] = {
static unsigned long long spufs_acct_time(struct spu_context *ctx,
enum spu_utilization_state state)
{
struct timespec ts;
unsigned long long time = ctx->stats.times[state];

/*
Expand All @@ -2351,8 +2350,7 @@ static unsigned long long spufs_acct_time(struct spu_context *ctx,
* of the spu context.
*/
if (ctx->spu && ctx->stats.util_state == state) {
ktime_get_ts(&ts);
time += timespec_to_ns(&ts) - ctx->stats.tstamp;
time += ktime_get_ns() - ctx->stats.tstamp;
}

return time / NSEC_PER_MSEC;
Expand Down
4 changes: 1 addition & 3 deletions arch/powerpc/platforms/cell/spufs/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -1039,13 +1039,11 @@ void spuctx_switch_state(struct spu_context *ctx,
{
unsigned long long curtime;
signed long long delta;
struct timespec ts;
struct spu *spu;
enum spu_utilization_state old_state;
int node;

ktime_get_ts(&ts);
curtime = timespec_to_ns(&ts);
curtime = ktime_get_ns();
delta = curtime - ctx->stats.tstamp;

WARN_ON(!mutex_is_locked(&ctx->state_mutex));
Expand Down

0 comments on commit f2dec1e

Please sign in to comment.