From 7583a4e24cfebf9bd08883a8efd3d2852568799f Mon Sep 17 00:00:00 2001 From: Alexei Starovoitov Date: Wed, 3 Feb 2016 21:25:43 -0800 Subject: [PATCH] use __builtin_memcpy() instead of unrolled loop also remove tab and unused import Signed-off-by: Alexei Starovoitov --- tools/offwaketime.py | 37 ++++--------------------------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/tools/offwaketime.py b/tools/offwaketime.py index 745d5b4..13c8c98 100755 --- a/tools/offwaketime.py +++ b/tools/offwaketime.py @@ -17,11 +17,11 @@ # Copyright 2016 Netflix, Inc. # Licensed under the Apache License, Version 2.0 (the "License") # -# 20-Jan-2016 Brendan Gregg Created this. +# 20-Jan-2016 Brendan Gregg Created this. from __future__ import print_function from bcc import BPF -from time import sleep, strftime +from time import sleep import argparse import signal @@ -184,37 +184,8 @@ int oncpu(struct pt_regs *ctx, struct task_struct *p) { out: woke = wokeby.lookup(&pid); if (woke) { - // unrolled loop (MAXWDEPTH): - depth = 0; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; depth++; - key.wret[depth] = woke->ret[depth]; - - // unrolled loop (TASK_COMM_LEN): - depth = 0; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; depth++; - key.waker[depth] = woke->name[depth]; + __builtin_memcpy(&key.wret, woke->ret, sizeof(key.wret)); + __builtin_memcpy(&key.waker, woke->name, TASK_COMM_LEN); wokeby.delete(&pid); } -- 2.7.4