Guest User

Untitled

a guest
Dec 19th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. #!/usr/bin/env python
  2. from __future__ import print_function
  3. from bcc import BPF
  4.  
  5. b = BPF(text="""
  6. #define EXIT_REASON 10
  7. BPF_HASH(start, u8, u8);
  8.  
  9.  
  10. TRACEPOINT_PROBE(kvm, kvm_exit) {
  11. u8 e = EXIT_REASON;
  12. u8 one = 1;
  13. if (args->exit_reason == EXIT_REASON) {
  14. bpf_trace_printk("KVM_EXIT exit_reason : 0x%x\\n", args->exit_reason);
  15. start.update(&e, &one);
  16. }
  17. return 0;
  18. }
  19.  
  20.  
  21. TRACEPOINT_PROBE(kvm, kvm_entry) {
  22. u8 e = EXIT_REASON;
  23. u8 zero = 0;
  24. u8 *s = start.lookup(&e);
  25. if (s != NULL && *s == 1) {
  26. bpf_trace_printk("KVM_ENTRY vcpu_id : 0x%x\\n", args->vcpu_id);
  27. start.update(&e, &zero);
  28. }
  29. return 0;
  30. }
  31.  
  32.  
  33. TRACEPOINT_PROBE(kvm, kvm_cpuid) {
  34. u8 e = EXIT_REASON;
  35. u8 zero = 0;
  36. u8 *s = start.lookup(&e);
  37. if(s != NULL && *s == 1){
  38. bpf_trace_printk("KVM_CPUID rax : 0x%x, rbx : 0x%x, rcx : 0x%x\\n",args->rax,args->rbx,args->rcx);
  39. }
  40. return 0;
  41. };
  42. """)
  43.  
  44. print("%-18s %-16s %-6s %s" % ("TIME(s)", "COMM", "PID", "EVENT"))
  45.  
  46. while 1:
  47. try:
  48. (task, pid, cpu, flags, ts, msg) = b.trace_fields()
  49. except ValueError:
  50. continue
  51. print("%-18.9f %-16s %-6d %s" % (ts, task, pid, msg))
Add Comment
Please, Sign In to add comment