tree 8fb4f6815d5dcfbfec60f45ed9fbf371b3d543df
parent 72bb0d565087e26435915ca68c984ea48467a238
author yonghong-song <ys114321@gmail.com> 1537372259 -0700
committer GitHub <noreply@github.com> 1537372259 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJbonBjCRBK7hj4Ov3rIwAAdHIIACQvsfMtI2V8vCNFeF/Zbpff
 KmP1U042RMzXDJ6Pp9qN2Mdppr+TeK9ky7VEGIGWbz/s9SCHLrPyOysWXTZFpPNQ
 JUXiDxAPiX0BXgEyLHwM9AzsTNzVVzSpeyOnHye27L/wDXymMiMgBmog3GnAyj2F
 8QNK+MS0n57i6s+USRztH0Iqy6XHvvIwKkS6OokvtxDaamOI/VxDzW2I1robsq/w
 zBXCEqILyzD0HunhPZy4fgpdqjvlffZt6MMCMjIVoBkdki1o3GJNWou5EYkfBG+e
 oy00t3n+Hnmkj4gAdt9jwfnQTBzF341cBuC/MRzxFcWn823TybO7g3xZsM1gyIo=
 =3+OS
 -----END PGP SIGNATURE-----
 

support "long" and "unsigned long" type in trace.py (#1977)

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: Yonghong Song <yhs@fb.com>