)]}'
{
  "commit": "0406ca6d8e849d9dd027c8cb6791448e81411aef",
  "tree": "3de38f9c75f41ec28b5b15b211f4e6df7ea7f437",
  "parents": [
    "5da50258584469ddfee6545feb4eb2252a8d7e7b"
  ],
  "author": {
    "name": "Frederic Weisbecker",
    "email": "fweisbec@gmail.com",
    "time": "Wed Jul 01 21:02:09 2009 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Wed Jul 01 22:37:23 2009 +0200"
  },
  "message": "perf_counter: Ignore the nmi call frames in the x86-64 backtraces\n\nAbout every callchains recorded with perf record are filled up\nincluding the internal perfcounter nmi frame:\n\n perf_callchain\n perf_counter_overflow\n intel_pmu_handle_irq\n perf_counter_nmi_handler\n notifier_call_chain\n atomic_notifier_call_chain\n notify_die\n do_nmi\n nmi\n\nWe want ignore this frame as it\u0027s not interesting for\ninstrumentation. To solve this, we simply ignore every frames\nfrom nmi context.\n\nNew example of \"perf report -s sym -c\" after this patch:\n\n9.59%  [k] search_by_key\n             4.88%\n                search_by_key\n                reiserfs_read_locked_inode\n                reiserfs_iget\n                reiserfs_lookup\n                do_lookup\n                __link_path_walk\n                path_walk\n                do_path_lookup\n                user_path_at\n                vfs_fstatat\n                vfs_lstat\n                sys_newlstat\n                system_call_fastpath\n                __lxstat\n                0x406fb1\n\n             3.19%\n                search_by_key\n                search_by_entry_key\n                reiserfs_find_entry\n                reiserfs_lookup\n                do_lookup\n                __link_path_walk\n                path_walk\n                do_path_lookup\n                user_path_at\n                vfs_fstatat\n                vfs_lstat\n                sys_newlstat\n                system_call_fastpath\n                __lxstat\n                0x406fb1\n[...]\n\nFor now this patch only solves the problem in x86-64.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246474930-6088-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f517944b2b176618f51d9791adb9fed4f08864ae",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/stacktrace.h",
      "new_id": "cf86a5e73815dde6fb2e0fa997b8628555584063",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/stacktrace.h"
    },
    {
      "type": "modify",
      "old_id": "d4cf4ce19aac5f5965a94f115fef1acae7510ab9",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/cpu/perf_counter.c",
      "new_id": "36c3dc7b8991d4a5b7ea8709c9003b161c058d6f",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/cpu/perf_counter.c"
    },
    {
      "type": "modify",
      "old_id": "d593cd1f58dcca22925f10e2b3669435a4a25557",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/dumpstack_32.c",
      "new_id": "bca5fba91c9ea3d62eed95643cacdb90e2a32770",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/dumpstack_32.c"
    },
    {
      "type": "modify",
      "old_id": "d35db5993fd68e3a740ee36ade60edf78d14fae8",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/dumpstack_64.c",
      "new_id": "54b0a3276766c3ac5180d7d6c11469a2c5f00979",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/dumpstack_64.c"
    }
  ]
}
