• yonghong-song's avatar
    support "long" and "unsigned long" type in trace.py (#1977) · f720257c
    yonghong-song authored
    Currently, trace.py does not support "long" and "unsigned long"
    types and it often caught users with a surprise and they are
    not sure what is the problem. For example, for kernel function:
      void blk_mq_delay_kick_requeue_list(struct request_queue *q, unsigned long msecs)
    The following
      $ sudo ./trace.py 'blk_mq_delay_kick_requeue_list(void *notused, unsigned long msecs) "msecs = %lu", msecs'
      list index out of range
    
    With this patch,
      $ sudo ./trace.py 'blk_mq_delay_kick_requeue_list(void *notused, unsigned long msecs) "msecs = %lu", msecs'
      PID     TID     COMM            FUNC             -
      ^C
      $ sudo ./trace.py 'blk_mq_delay_kick_requeue_list(void *notused, unsigned long msecs) "msecs = %ld", msecs'
      PID     TID     COMM            FUNC             -
      ^C
      $ sudo ./trace.py 'blk_mq_delay_kick_requeue_list(void *notused, unsigned long msecs) "msecs = %lx", msecs'
      PID     TID     COMM            FUNC             -
      ^C
      $
    Signed-off-by: default avatarYonghong Song <yhs@fb.com>
    f720257c
trace.py 36.2 KB