)]}'
{
  "commit": "469535a598f28c13a2a42037e1b778f671af1d16",
  "tree": "907a3434e87bdab3f37f3c965a230af7af9bdb30",
  "parents": [
    "3f6e968ef4e1d8d93d8a8505461b0e50a9e97ad8"
  ],
  "author": {
    "name": "Robert Richter",
    "email": "robert.richter@amd.com",
    "time": "Thu Jul 30 19:19:18 2009 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Thu Aug 06 14:20:25 2009 +0200"
  },
  "message": "ring-buffer: Fix advance of reader in rb_buffer_peek()\n\nWhen calling rb_buffer_peek() from ring_buffer_consume() and a\npadding event is returned, the function rb_advance_reader() is\ncalled twice. This may lead to missing samples or under high\nworkloads to the warning below. This patch fixes this. If a padding\nevent is returned by rb_buffer_peek() it will be consumed by the\ncalling function now.\n\nAlso, I simplified some code in ring_buffer_consume().\n\n------------[ cut here ]------------\nWARNING: at /dev/shm/.source/linux/kernel/trace/ring_buffer.c:2289 rb_advance_reader+0x2e/0xc5()\nHardware name: Anaheim\nModules linked in:\nPid: 29, comm: events/2 Tainted: G        W  2.6.31-rc3-oprofile-x86_64-standard-00059-g5050dc2 #1\nCall Trace:\n[\u003cffffffff8106776f\u003e] ? rb_advance_reader+0x2e/0xc5\n[\u003cffffffff81039ffe\u003e] warn_slowpath_common+0x77/0x8f\n[\u003cffffffff8103a025\u003e] warn_slowpath_null+0xf/0x11\n[\u003cffffffff8106776f\u003e] rb_advance_reader+0x2e/0xc5\n[\u003cffffffff81068bda\u003e] ring_buffer_consume+0xa0/0xd2\n[\u003cffffffff81326933\u003e] op_cpu_buffer_read_entry+0x21/0x9e\n[\u003cffffffff810be3af\u003e] ? __find_get_block+0x4b/0x165\n[\u003cffffffff8132749b\u003e] sync_buffer+0xa5/0x401\n[\u003cffffffff810be3af\u003e] ? __find_get_block+0x4b/0x165\n[\u003cffffffff81326c1b\u003e] ? wq_sync_buffer+0x0/0x78\n[\u003cffffffff81326c76\u003e] wq_sync_buffer+0x5b/0x78\n[\u003cffffffff8104aa30\u003e] worker_thread+0x113/0x1ac\n[\u003cffffffff8104dd95\u003e] ? autoremove_wake_function+0x0/0x38\n[\u003cffffffff8104a91d\u003e] ? worker_thread+0x0/0x1ac\n[\u003cffffffff8104dc9a\u003e] kthread+0x88/0x92\n[\u003cffffffff8100bdba\u003e] child_rip+0xa/0x20\n[\u003cffffffff8104dc12\u003e] ? kthread+0x0/0x92\n[\u003cffffffff8100bdb0\u003e] ? child_rip+0x0/0x20\n---[ end trace f561c0a58fcc89bd ]---\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2606cee433dae247fb6919ecefc31736274d9ac8",
      "old_mode": 33188,
      "old_path": "kernel/trace/ring_buffer.c",
      "new_id": "d4d3580a894a7f39bda320841d6baf70487eec91",
      "new_mode": 33188,
      "new_path": "kernel/trace/ring_buffer.c"
    }
  ]
}
