)]}'
{
  "commit": "1f8a6a10fb9437eac3f516ea4324a19087872f30",
  "tree": "944f73519ef205c3baccd130d93ed70f7e7bc790",
  "parents": [
    "918143e8b7d6153d7a83a3f854323407939f4a7e"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "peterz@infradead.org",
    "time": "Mon Jun 08 18:18:39 2009 +0200"
  },
  "committer": {
    "name": "Steven Rostedt",
    "email": "rostedt@goodmis.org",
    "time": "Mon Jun 08 18:50:20 2009 -0400"
  },
  "message": "ring-buffer: pass in lockdep class key for reader_lock\n\nOn Sun, 7 Jun 2009, Ingo Molnar wrote:\n\u003e Testing tracer sched_switch: \u003c6\u003eStarting ring buffer hammer\n\u003e PASSED\n\u003e Testing tracer sysprof: PASSED\n\u003e Testing tracer function: PASSED\n\u003e Testing tracer irqsoff:\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e PASSED\n\u003e Testing tracer preemptoff: PASSED\n\u003e Testing tracer preemptirqsoff: [ INFO: possible recursive locking detected ]\n\u003e PASSED\n\u003e Testing tracer branch: 2.6.30-rc8-tip-01972-ge5b9078-dirty #5760\n\u003e ---------------------------------------------\n\u003e rb_consumer/431 is trying to acquire lock:\n\u003e  (\u0026cpu_buffer-\u003ereader_lock){......}, at: [\u003cc109eef7\u003e] ring_buffer_reset_cpu+0x37/0x70\n\u003e\n\u003e but task is already holding lock:\n\u003e  (\u0026cpu_buffer-\u003ereader_lock){......}, at: [\u003cc10a019e\u003e] ring_buffer_consume+0x7e/0xc0\n\u003e\n\u003e other info that might help us debug this:\n\u003e 1 lock held by rb_consumer/431:\n\u003e  #0:  (\u0026cpu_buffer-\u003ereader_lock){......}, at: [\u003cc10a019e\u003e] ring_buffer_consume+0x7e/0xc0\n\nThe ring buffer is a generic structure, and can be used outside of\nftrace. If ftrace traces within the use of the ring buffer, it can produce\nfalse positives with lockdep.\n\nThis patch passes in a static lock key into the allocation of the ring\nbuffer, so that different ring buffers will have their own lock class.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1244477919.13761.9042.camel@twins\u003e\n\n[ store key in ring buffer descriptor ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f1345828c7c58dd58d8b2199eda934013b0e803b",
      "old_mode": 33188,
      "old_path": "include/linux/ring_buffer.h",
      "new_id": "8670f1575fe19abe7793b700aa70d525080c83bf",
      "new_mode": 33188,
      "new_path": "include/linux/ring_buffer.h"
    },
    {
      "type": "modify",
      "old_id": "7102d7a2fadb31ca9696559d0f9ec125a6a1752e",
      "old_mode": 33188,
      "old_path": "kernel/trace/ring_buffer.c",
      "new_id": "22878b0d370cf8671f32e088063d3d75290260dd",
      "new_mode": 33188,
      "new_path": "kernel/trace/ring_buffer.c"
    }
  ]
}
