)]}'
{
  "log": [
    {
      "commit": "8302294f43250dc337108c51882a6007f2b1e2e0",
      "tree": "85acd4440799c46a372df9cad170fa0c21e59096",
      "parents": [
        "4fe70410d9a219dabb47328effccae7e7f2a6e26",
        "2e572895bf3203e881356a4039ab0fa428ed2639"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 01 21:54:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 02 00:49:02 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core-v2\u0027 into tracing-for-linus\n\nConflicts:\n\tinclude/linux/slub_def.h\n\tlib/Kconfig.debug\n\tmm/slob.c\n\tmm/slub.c\n"
    },
    {
      "commit": "2f8501815256af8498904e68bd0984b1afffd6f8",
      "tree": "ffc9b4d8d80906fc2743b34dcdc93fdd2294f2c6",
      "parents": [
        "19cefdffbfe0f7e280f21e80875937e8700e99e2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Mar 20 11:13:20 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 30 23:19:24 2009 +0200"
      },
      "message": "lockdep: fix deadlock in lockdep_trace_alloc\n\nHeiko reported that we grab the graph lock with irqs enabled.\n\nFix this by providng the same wrapper as all other lockdep entry\nfunctions have.\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nLKML-Reference: \u003c1237544000.24626.52.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "480c93df5b99699390f93a7024c9f60d09da0e96",
      "tree": "b93b6c8c71c5f2e716dd05b126e01ef4e20ff0af",
      "parents": [
        "aecfcde920da8d32949f6cbbc1fc051b4ef9e7be",
        "d820ac4c2fa881079e6b689d2098adce337558ae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 01:33:21 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 01:33:21 2009 +0100"
      },
      "message": "Merge branch \u0027core/locking\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "03d78913f01e8f6599823f00357ed17b32747d3d",
      "tree": "753cd98bdc3b670bfea014fa28ba2a7430716cb5",
      "parents": [
        "a140feab42d1cfd811930ab76104559c19dfc4b0"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Mar 05 02:29:05 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 11:46:00 2009 +0100"
      },
      "message": "lockdep: remove duplicate CONFIG_DEBUG_LOCKDEP definitions\n\nImpact: cleanup\n\nThe atomic debug modifiers are already defined in\nkernel/lockdep_internals.h.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003calpine.DEB.2.00.0903050222160.30401@chino.kir.corp.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efed792d6738964f399a508ef9e831cd60fa4657",
      "tree": "b4b5e472bafb3d5d0d8ea26680e1d8cc87365c30",
      "parents": [
        "28b1bd1cbc33cae95a309691d814399a69cf3070"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Mar 04 12:32:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:49:58 2009 +0100"
      },
      "message": "tracing: add lockdep tracepoints for lock acquire/release\n\nAugment the traces with lock names when lockdep is available:\n\n 1)               |  down_read_trylock() {\n 1)               |    _spin_lock_irqsave() {\n 1)               |      /* lock_acquire: \u0026sem-\u003ewait_lock */\n 1)   4.201 us    |    }\n 1)               |    _spin_unlock_irqrestore() {\n 1)               |      /* lock_release: \u0026sem-\u003ewait_lock */\n 1)   3.523 us    |    }\n 1)               |  /* lock_acquire: try read \u0026mm-\u003emmap_sem */\n 1) + 13.386 us   |  }\n 1)   1.635 us    |  find_vma();\n 1)               |  handle_mm_fault() {\n 1)               |    __do_fault() {\n 1)               |      filemap_fault() {\n 1)               |        find_lock_page() {\n 1)               |          find_get_page() {\n 1)               |            /* lock_acquire: read rcu_read_lock */\n 1)               |            /* lock_release: rcu_read_lock */\n 1)   5.697 us    |          }\n 1)   8.158 us    |        }\n 1) + 11.079 us   |      }\n 1)               |      _spin_lock() {\n 1)               |        /* lock_acquire: __pte_lockptr(page) */\n 1)   3.949 us    |      }\n 1)   1.460 us    |      page_add_file_rmap();\n 1)               |      _spin_unlock() {\n 1)               |        /* lock_release: __pte_lockptr(page) */\n 1)   3.115 us    |      }\n 1)               |      unlock_page() {\n 1)   1.421 us    |        page_waitqueue();\n 1)   1.220 us    |        __wake_up_bit();\n 1)   6.519 us    |      }\n 1) + 34.328 us   |    }\n 1) + 37.452 us   |  }\n 1)               |  up_read() {\n 1)               |  /* lock_release: \u0026mm-\u003emmap_sem */\n 1)               |    _spin_lock_irqsave() {\n 1)               |      /* lock_acquire: \u0026sem-\u003ewait_lock */\n 1)   3.865 us    |    }\n 1)               |    _spin_unlock_irqrestore() {\n 1)               |      /* lock_release: \u0026sem-\u003ewait_lock */\n 1)   8.562 us    |    }\n 1) + 17.370 us   |  }\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003d?ISO-8859-1?Q?T\u003dF6r\u003dF6k?\u003d Edwin \u003cedwintorok@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1236166375.5330.7209.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26575e28df5eb2050c02369843faba38cecb4d8c",
      "tree": "048d715d8653c0fa88a8c2dd3fb5153537d4e581",
      "parents": [
        "1c21f14ec48a2256fb03682b24dddd23eacdc96f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 04 14:53:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:38:34 2009 +0100"
      },
      "message": "lockdep: remove extra \"irq\" string\n\nImpact: clarify lockdep printk text\n\nprint_irq_inversion_bug() gets handed state strings of the form\n\n  \"HARDIRQ\", \"SOFTIRQ\", \"RECLAIM_FS\"\n\nand appends \"-irq-{un,}safe\" to them, which is either redudant for *IRQ or\nconfusing in the RECLAIM_FS case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1236175192.5330.7585.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c21f14ec48a2256fb03682b24dddd23eacdc96f",
      "tree": "03b6ecf8d87074d1f154ff8ac794e9084e00d7cd",
      "parents": [
        "6700ec65c207068a81a535e9dca616fefac21671"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 04 13:51:13 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 18:38:33 2009 +0100"
      },
      "message": "lockdep: fix incorrect state name\n\nIn the recent mark_lock_irq() rework a bug snuck in that would report the\nstate of write locks causing irq inversion under a read lock as a read\nlock.\n\nFix this by masking the read bit of the state when validating write\ndependencies.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1236172646.5330.7450.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "868a23a8043f2a3042dae60105c89bd4680187ba",
      "tree": "2dfc742bfe6d4dc544a3c43f74c9aa72eea66d57",
      "parents": [
        "9833f8cb952b9aa3f98a71e7bef8820cee3261a0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Feb 15 00:25:21 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 00:30:26 2009 +0100"
      },
      "message": "lockdep: build fix for !PROVE_LOCKING\n\nThe __GFP_FS annotations fail to build with CONFIG_LOCKDEP\u003dy,\nCONFIG_PROVE_LOCKING\u003dn, ammend that.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b4b136f44b3b7adb9265fd5566d0ea9b99b1cd5f",
      "tree": "5d4b96e8d93903908828fab9850805e172bb7259",
      "parents": [
        "4f367d8adca947bed4385740a13d1efb1a06fba1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 29 14:50:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:26 2009 +0100"
      },
      "message": "lockdep: use stringify.h\n\nArnd pointed out we have the stringify macro magic already in-kernel.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f367d8adca947bed4385740a13d1efb1a06fba1",
      "tree": "08b758021277b5a237d731e3198e82f204ee1fb3",
      "parents": [
        "f510b233cfc7bfd57b6007071c52aa42e3d16b06"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 18:10:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:24 2009 +0100"
      },
      "message": "lockdep: simplify check_prev_add_irq()\n\nRemove the manual state iteration thingy.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f510b233cfc7bfd57b6007071c52aa42e3d16b06",
      "tree": "d7e91f4d82ee3bed078f5813377b73a1eb7e382f",
      "parents": [
        "3ff176ca47911630d1555f150d36daa2d0819ea9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 17:53:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:22 2009 +0100"
      },
      "message": "lockdep: get_user_chars() redo\n\nGeneric, states independent, get_user_chars().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ff176ca47911630d1555f150d36daa2d0819ea9",
      "tree": "cd93a5e61c16127f5ed75efb37b469d28e4504e7",
      "parents": [
        "38aa2714382d886f77f2565277fce293122808b0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 17:40:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:21 2009 +0100"
      },
      "message": "lockdep: simplify get_user_chars()\n\nthere\u0027s too much repetition of code..\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "38aa2714382d886f77f2565277fce293122808b0",
      "tree": "3a6511ff0629b785f5685de987a319047c780781",
      "parents": [
        "cf2ad4d13c4ac6366c730fcf6c6be00db12fb75f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jan 27 14:53:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:19 2009 +0100"
      },
      "message": "lockdep: add comments to mark_lock_irq()\n\nre-add some of the comments that got lost in the refactoring.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf2ad4d13c4ac6366c730fcf6c6be00db12fb75f",
      "tree": "869cc14ff8790e1e3d90750cacbe24aeb0c372d9",
      "parents": [
        "9d3651a23dc1f7ed7d207f9118459d3a73d485a7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jan 27 13:58:08 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:17 2009 +0100"
      },
      "message": "lockdep: remove macro usage from mark_held_locks()\n\nNow that we have nice numerical relations for the states, remove the macro\nmagics.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9d3651a23dc1f7ed7d207f9118459d3a73d485a7",
      "tree": "4088a54bf913de18e49d7b2b090b53e12ef06b8a",
      "parents": [
        "42c50d544e009cd9b1a8e74d7c5ce8d03ca917ad"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 17:18:32 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:15 2009 +0100"
      },
      "message": "lockdep: fully reduce mark_lock_irq()\n\nNow what its only two functions, they again look rather similar.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "42c50d544e009cd9b1a8e74d7c5ce8d03ca917ad",
      "tree": "42011c9b6033fad1171b26ca84e97ebf0847c2ab",
      "parents": [
        "780e820b2dfefdfead9243724c2d2b73f379fda6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 16:58:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:13 2009 +0100"
      },
      "message": "lockdep: merge the !_READ mark_lock_irq() helpers\n\nThese two are also remakably similar\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "780e820b2dfefdfead9243724c2d2b73f379fda6",
      "tree": "7eb55c3e4535d8404ddaf28a279637c922382952",
      "parents": [
        "cd95302d255264c5e6ebe1063320d80517bf2f83"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 16:51:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:12 2009 +0100"
      },
      "message": "lockdep: merge the _READ mark_lock_irq() helpers\n\nThe _READ helpers show remarkable similarity, merge them.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd95302d255264c5e6ebe1063320d80517bf2f83",
      "tree": "8d1d3a8bb6fc0d0d95eb05e066bdb540542e272a",
      "parents": [
        "f989209e2f604730888a6daa3b3ff30ed0c9d7c0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 16:38:21 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:10 2009 +0100"
      },
      "message": "lockdep: simplify mark_lock_irq() helpers #3\n\nKill another argument\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f989209e2f604730888a6daa3b3ff30ed0c9d7c0",
      "tree": "80316a7feadef8e13d8c8edb154db1c04736b399",
      "parents": [
        "604de3b5b63ebc33a762c44d9c742f235b010346"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 16:09:59 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:08 2009 +0100"
      },
      "message": "lockdep: further simplify mark_lock_irq() helpers\n\ntake away another parameter\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "604de3b5b63ebc33a762c44d9c742f235b010346",
      "tree": "3ba8e39b125103413e9cf278cb832319cc0f8f8e",
      "parents": [
        "6a6904d3475cc5e4a506b5c3c3684444e22c4cc4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 16:24:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:06 2009 +0100"
      },
      "message": "lockdep: simplify the mark_lock_irq() helpers\n\nIn order to unify them, take some arguments away\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a6904d3475cc5e4a506b5c3c3684444e22c4cc4",
      "tree": "6bf546577ee9441399161a67188c03151ff63f6a",
      "parents": [
        "fabe9c42c6328de314d811887b4752eb3d202291"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 16:07:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:04 2009 +0100"
      },
      "message": "lockdep: split up mark_lock_irq()\n\nsplit mark_lock_irq() into 4 simple helper functions\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fabe9c42c6328de314d811887b4752eb3d202291",
      "tree": "7479a55d1f2b66f1a6ca4df5c09acefd3d99b2c8",
      "parents": [
        "d7b1b02134272840f4b655136e00c461e1cf1d53"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 14:51:01 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:28:02 2009 +0100"
      },
      "message": "lockdep: generate usage strings\n\ngenerate the usage strings\n\nXXX capital invasion :-(\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5346417e17daf5a7712e4cf030b45414e46607cf",
      "tree": "92376f1942a66884685344b587f194a45aca2cb0",
      "parents": [
        "36bfb9bb03db2002a8574600c6aeb4cdd1ba01a6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 14:15:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:27:57 2009 +0100"
      },
      "message": "lockdep: simplify mark_lock()\n\nremove the state iteration\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "36bfb9bb03db2002a8574600c6aeb4cdd1ba01a6",
      "tree": "6e824e262cb857eba106aecb449bdb3c5fc9cbdc",
      "parents": [
        "9fe51abf7a1c787f918f66fa3cef9cd0cedb3791"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 14:12:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:27:56 2009 +0100"
      },
      "message": "lockdep: simplify mark_held_locks\n\nremove the explicit state iteration\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a652d7081bc96b3094e85ca30e47f50185d2f717",
      "tree": "859a784cf389f2835cd0f91cf625f16ed36198c8",
      "parents": [
        "4fc95e867f1e75351b89db3c68212dfcce7ea563"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 13:13:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:27:52 2009 +0100"
      },
      "message": "lockdep: sanitize reclaim bit names\n\ns/HELD_OVER/ENABLED/g\n\nso that its similar to the hard and soft-irq names.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4fc95e867f1e75351b89db3c68212dfcce7ea563",
      "tree": "618b2ed01d87a871f8423dd230bdb3609aa7c7f0",
      "parents": [
        "cf40bd16fdad42c053040bcd3988f5fdedbb6c57"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 22 13:10:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:27:51 2009 +0100"
      },
      "message": "lockdep: sanitize bit names\n\ns/\\(LOCKF\\?_ENABLED_[^ ]*\\)S\\(_READ\\)\\?\\\u003e/\\1\\2/g\n\nSo that the USED_IN and ENABLED have the same names.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf40bd16fdad42c053040bcd3988f5fdedbb6c57",
      "tree": "d97ab25726981712be806d77650b7f65167cfc88",
      "parents": [
        "6f2b9b9a9d750a9175dc79c74bfed5add840983c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 21 08:12:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 23:27:49 2009 +0100"
      },
      "message": "lockdep: annotate reclaim context (__GFP_NOFS)\n\nHere is another version, with the incremental patch rolled up, and\nadded reclaim context annotation to kswapd, and allocation tracing\nto slab allocators (which may only ever reach the page allocator\nin rare cases, so it is good to put annotations here too).\n\nHaven\u0027t tested this version as such, but it should be getting closer\nto merge worthy ;)\n\n--\nAfter noticing some code in mm/filemap.c accidentally perform a __GFP_FS\nallocation when it should not have been, I thought it might be a good idea to\ntry to catch this kind of thing with lockdep.\n\nI coded up a little idea that seems to work. Unfortunately the system has to\nactually be in __GFP_FS page reclaim, then take the lock, before it will mark\nit. But at least that might still be some orders of magnitude more common\n(and more debuggable) than an actual deadlock condition, so we have some\nimprovement I hope (the concept is no less complete than discovery of a lock\u0027s\ninterrupt contexts).\n\nI guess we could even do the same thing with __GFP_IO (normal reclaim), and\neven GFP_NOIO locks too... but filesystems will have the most locks and fiddly\ncode paths, so let\u0027s start there and see how it goes.\n\nIt *seems* to work. I did a quick test.\n\n\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[ INFO: inconsistent lock state ]\n2.6.28-rc6-00007-ged31348-dirty #26\n---------------------------------\ninconsistent {in-reclaim-W} -\u003e {ov-reclaim-W} usage.\nmodprobe/8526 [HC0[0]:SC0[0]:HE1:SE1] takes:\n (testlock){--..}, at: [\u003cffffffffa0020055\u003e] brd_init+0x55/0x216 [brd]\n{in-reclaim-W} state was registered at:\n  [\u003cffffffff80267bdb\u003e] __lock_acquire+0x75b/0x1a60\n  [\u003cffffffff80268f71\u003e] lock_acquire+0x91/0xc0\n  [\u003cffffffff8070f0e1\u003e] mutex_lock_nested+0xb1/0x310\n  [\u003cffffffffa002002b\u003e] brd_init+0x2b/0x216 [brd]\n  [\u003cffffffff8020903b\u003e] _stext+0x3b/0x170\n  [\u003cffffffff80272ebf\u003e] sys_init_module+0xaf/0x1e0\n  [\u003cffffffff8020c3fb\u003e] system_call_fastpath+0x16/0x1b\n  [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\nirq event stamp: 3929\nhardirqs last  enabled at (3929): [\u003cffffffff8070f2b5\u003e] mutex_lock_nested+0x285/0x310\nhardirqs last disabled at (3928): [\u003cffffffff8070f089\u003e] mutex_lock_nested+0x59/0x310\nsoftirqs last  enabled at (3732): [\u003cffffffff8061f623\u003e] sk_filter+0x83/0xe0\nsoftirqs last disabled at (3730): [\u003cffffffff8061f5b6\u003e] sk_filter+0x16/0xe0\n\nother info that might help us debug this:\n1 lock held by modprobe/8526:\n #0:  (testlock){--..}, at: [\u003cffffffffa0020055\u003e] brd_init+0x55/0x216 [brd]\n\nstack backtrace:\nPid: 8526, comm: modprobe Not tainted 2.6.28-rc6-00007-ged31348-dirty #26\nCall Trace:\n [\u003cffffffff80265483\u003e] print_usage_bug+0x193/0x1d0\n [\u003cffffffff80266530\u003e] mark_lock+0xaf0/0xca0\n [\u003cffffffff80266735\u003e] mark_held_locks+0x55/0xc0\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffff802667ca\u003e] trace_reclaim_fs+0x2a/0x60\n [\u003cffffffff80285005\u003e] __alloc_pages_internal+0x475/0x580\n [\u003cffffffff8070f29e\u003e] ? mutex_lock_nested+0x26e/0x310\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffffa002006a\u003e] brd_init+0x6a/0x216 [brd]\n [\u003cffffffffa0020000\u003e] ? brd_init+0x0/0x216 [brd]\n [\u003cffffffff8020903b\u003e] _stext+0x3b/0x170\n [\u003cffffffff8070f8b9\u003e] ? mutex_unlock+0x9/0x10\n [\u003cffffffff8070f83d\u003e] ? __mutex_unlock_slowpath+0x10d/0x180\n [\u003cffffffff802669ec\u003e] ? trace_hardirqs_on_caller+0x12c/0x190\n [\u003cffffffff80272ebf\u003e] sys_init_module+0xaf/0x1e0\n [\u003cffffffff8020c3fb\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
      "tree": "85b21c8bb0e53005bd970d648ca093acfd0584a3",
      "parents": [
        "eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3",
        "6638101c1124c19c8a65b1645e4ecd09e0572f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "message": "Merge branch \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  stacktrace: provide save_stack_trace_tsk() weak alias\n  rcu: provide RCU options on non-preempt architectures too\n  printk: fix discarding message when recursion_bug\n  futex: clean up futex_(un)lock_pi fault handling\n  \"Tree RCU\": scalable classic RCU implementation\n  futex: rename field in futex_q to clarify single waiter semantics\n  x86/swiotlb: add default swiotlb_arch_range_needs_mapping\n  x86/swiotlb: add default phys\u003c-\u003ebus conversion\n  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit\n  x86: add swiotlb allocation functions\n  swiotlb: consolidate swiotlb info message printing\n  swiotlb: support bouncing of HighMem pages\n  swiotlb: factor out copy to/from device\n  swiotlb: add arch hook to force mapping\n  swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n  rcu: fix rcutorture behavior during reboot\n  resources: skip sanity check of busy resources\n  swiotlb: move some definitions to header\n  swiotlb: allow architectures to override swiotlb pool allocation\n  ...\n\nFix up trivial conflicts in\n  arch/x86/kernel/Makefile\n  arch/x86/mm/init_32.c\n  include/linux/hardirq.h\nas per Ingo\u0027s suggestions.\n"
    },
    {
      "commit": "00ef9f7348dfd2fc223ec42aceb30836e86b367f",
      "tree": "14c33d878bec717179a6916232e118dbfbf7d65f",
      "parents": [
        "cb9c34e6d090d376b77becaa5d29a65dec7f4272"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 04 09:00:17 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 10:08:18 2008 +0100"
      },
      "message": "lockdep: change a held lock\u0027s class\n\nImpact: introduce new lockdep API\n\nAllow to change a held lock\u0027s class. Basically the same as the existing\ncode to change a subclass therefore reuse all that.\n\nThe XFS code will be able to use this to annotate their inode locking.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb9c34e6d090d376b77becaa5d29a65dec7f4272",
      "tree": "3678abce20d6825aebe3fec218057d4131e13fd6",
      "parents": [
        "470c66239ef0336429b35345f3f615d47341e13b",
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 08:52:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 08:52:14 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc7\u0027 into core/locking\n"
    },
    {
      "commit": "a5e25883a445dce94a087ca479b21a5959cd5c18",
      "tree": "9453b1116b9784b91d63fd6a1110af0d62fd02b7",
      "parents": [
        "dfdc5437bd62dd6a26961e27f26b671374749875"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Dec 02 15:34:05 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 03 08:56:19 2008 +0100"
      },
      "message": "ftrace: replace raw_local_irq_save with local_irq_save\n\nImpact: fix for lockdep and ftrace\n\nThe raw_local_irq_save/restore confuses lockdep. This patch\nconverts them to the local_irq_save/restore variants.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7807fafa52b990abb321f1212416c71e64523ecb",
      "tree": "8110bb5b8f34f70e532e25a42b596d119ea6193e",
      "parents": [
        "7918baa555140989eeee1270f48533987d48fdba"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 08:44:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 09:07:03 2008 +0100"
      },
      "message": "lockdep: fix unused function warning in kernel/lockdep.c\n\nImpact: fix build warning\n\nthis warning:\n\n  kernel/lockdep.c:584: warning: ‘print_lock_dependencies’ defined but not used\n\ntriggers because print_lock_dependencies() is only used if both\nCONFIG_TRACE_IRQFLAGS and CONFIG_PROVE_LOCKING are enabled.\n\nBut adding #ifdefs is not an option here - it would spread out to 4-5\nother helper functions and uglify the file. So mark this function\nas __used - it\u0027s static and the compiler can eliminate it just fine.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0788caf7af773b6c2374590dabd3a205f0918a8",
      "tree": "d98fec3093b87aa72b3484c994f90956da6e5905",
      "parents": [
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Nov 21 15:57:32 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 21 08:59:40 2008 +0100"
      },
      "message": "lockdep: consistent alignement for lockdep info\n\nImpact: prettify /proc/lockdep_info\n\nJust feel odd that not all lines of lockdep info are aligned.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "708b8eae0fd532af73ea8350e6dcc10255ff7376",
      "tree": "f336436934fd79bc91aff7112a9beb10bc4e839f",
      "parents": [
        "d98d38f2014ab79f28c126ff175d034891f7aefc",
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 12:39:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 12:39:21 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into core/locking\n"
    },
    {
      "commit": "6afe40b4dace385d7ba2faf24b352f066f3b71bf",
      "tree": "017e672e83a1257b084036c2e79adef95a81b9c3",
      "parents": [
        "46fec7ac40e452a2ea5e63648d98b6bb2b5898f9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Oct 28 11:14:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 11:19:07 2008 +0100"
      },
      "message": "lockdep: fix irqs on/off ip tracing\n\nImpact: fix lockdep lock-api-caller output when irqsoff tracing is enabled\n\n81d68a96 \"ftrace: trace irq disabled critical timings\" added wrappers around\ntrace_hardirqs_on/off_caller. However these functions use\n__builtin_return_address(0) to figure out which function actually disabled\nor enabled irqs. The result is that we save the ips of trace_hardirqs_on/off\ninstead of the real caller. Not very helpful.\n\nHowever since the patch from Steven the ip already gets passed. So use that\nand get rid of __builtin_return_address(0) in these two functions.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "46fec7ac40e452a2ea5e63648d98b6bb2b5898f9",
      "tree": "acde64c08983ff2421c33144c0ce1215218fde9f",
      "parents": [
        "03967c5267b0e7312d1d55dc814d94cf190ca573"
      ],
      "author": {
        "name": "qinghuang feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Tue Oct 28 17:24:28 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 10:30:04 2008 +0100"
      },
      "message": "lockdep: minor fix for debug_show_all_locks()\n\nWhen we failed to get tasklist_lock eventually (count equals 0),\nwe should only print \" ignoring it.\\n\", and not print\n\" locked it.\\n\" needlessly.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7e78cff6b7518212247fb20b1dc6411540dc9af",
      "tree": "4152afb3e00df125303c4c603e01addc19059ac7",
      "parents": [
        "7317d7b87edb41a9135e30be1ec3f7ef817c53dd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 16 23:17:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 15:43:10 2008 +0200"
      },
      "message": "lockstat: contend with points\n\nWe currently only provide points that have to wait on contention, also\nlists the points we have to wait for.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74870172824a78640ec4f03058d9bd35dfa08618",
      "tree": "7e65428c4aa8603c7b7090628ea07af2badc1b6c",
      "parents": [
        "04148b73b89d49fe0fe201bcee395e51f7d637ce"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Wed Aug 27 14:33:00 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 27 08:40:36 2008 +0200"
      },
      "message": "lockdep: fix invalid list_del_rcu in zap_class\n\nThe problem is found during iwlagn driver testing on\nv2.6.27-rc4-176-gb8e6c91 kernel, but it turns out to be a lockdep bug.\nIn our testing, we frequently load and unload the iwlagn driver\n(\u003e50 times). Then the MAX_STACK_TRACE_ENTRIES is reached (expected\nbehaviour?). The error message with the call trace is as below.\n\nBUG: MAX_STACK_TRACE_ENTRIES too low!\nturning off the locking correctness validator.\nPid: 4895, comm: iwlagn Not tainted 2.6.27-rc4 #13\n\nCall Trace:\n [\u003cffffffff81014aa1\u003e] save_stack_trace+0x22/0x3e\n [\u003cffffffff8105390a\u003e] save_trace+0x8b/0x91\n [\u003cffffffff81054e60\u003e] mark_lock+0x1b0/0x8fa\n [\u003cffffffff81056f71\u003e] __lock_acquire+0x5b9/0x716\n [\u003cffffffffa00d818a\u003e] ieee80211_sta_work+0x0/0x6ea [mac80211]\n [\u003cffffffff81057120\u003e] lock_acquire+0x52/0x6b\n [\u003cffffffff81045f0e\u003e] run_workqueue+0x97/0x1ed\n [\u003cffffffff81045f5e\u003e] run_workqueue+0xe7/0x1ed\n [\u003cffffffff81045f0e\u003e] run_workqueue+0x97/0x1ed\n [\u003cffffffff81046ae4\u003e] worker_thread+0xd8/0xe3\n [\u003cffffffff81049503\u003e] autoremove_wake_function+0x0/0x2e\n [\u003cffffffff81046a0c\u003e] worker_thread+0x0/0xe3\n [\u003cffffffff810493ec\u003e] kthread+0x47/0x73\n [\u003cffffffff8128e3ab\u003e] trace_hardirqs_on_thunk+0x3a/0x3f\n [\u003cffffffff8100cea9\u003e] child_rip+0xa/0x11\n [\u003cffffffff8100c4df\u003e] restore_args+0x0/0x30\n [\u003cffffffff810316e1\u003e] finish_task_switch+0x0/0xcc\n [\u003cffffffff810493a5\u003e] kthread+0x0/0x73\n [\u003cffffffff8100ce9f\u003e] child_rip+0x0/0x11\n\nAlthough the above is harmless, when the ilwagn module is removed\nlater lockdep will trigger a kernel oops as below.\n\nBUG: unable to handle kernel NULL pointer dereference at\n0000000000000008\nIP: [\u003cffffffff810531e1\u003e] zap_class+0x24/0x82\nPGD 73128067 PUD 7448c067 PMD 0\nOops: 0002 [1] SMP\nCPU 0\nModules linked in: rfcomm l2cap bluetooth autofs4 sunrpc\nnf_conntrack_ipv6 xt_state nf_conntrack xt_tcpudp ip6t_ipv6header\nip6t_REJECT ip6table_filter ip6_tables x_tables ipv6 cpufreq_ondemand\nacpi_cpufreq dm_mirror dm_log dm_multipath dm_mod snd_hda_intel sr_mod\nsnd_seq_dummy snd_seq_oss snd_seq_midi_event battery snd_seq\nsnd_seq_device cdrom button snd_pcm_oss snd_mixer_oss snd_pcm\nsnd_timer snd_page_alloc e1000e snd_hwdep sg iTCO_wdt\niTCO_vendor_support ac pcspkr i2c_i801 i2c_core snd soundcore video\noutput ata_piix ata_generic libata sd_mod scsi_mod ext3 jbd mbcache\nuhci_hcd ohci_hcd ehci_hcd [last unloaded: mac80211]\nPid: 4941, comm: modprobe Not tainted 2.6.27-rc4 #10\nRIP: 0010:[\u003cffffffff810531e1\u003e]  [\u003cffffffff810531e1\u003e]\nzap_class+0x24/0x82\nRSP: 0000:ffff88007bcb3eb0  EFLAGS: 00010046\nRAX: 0000000000068ee8 RBX: ffffffff8192a0a0 RCX: 0000000000000000\nRDX: 0000000000000000 RSI: 0000000000001dfb RDI: ffffffff816e70b0\nRBP: ffffffffa00cd000 R08: ffffffff816818f8 R09: ffff88007c923558\nR10: ffffe20002ad2408 R11: ffffffff811028ec R12: ffffffff8192a0a0\nR13: 000000000002bd90 R14: 0000000000000000 R15: 0000000000000296\nFS:  00007f9d1cee56f0(0000) GS:ffffffff814a58c0(0000)\nknlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000000008 CR3: 0000000073047000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess modprobe (pid: 4941, threadinfo ffff88007bcb2000, task\nffff8800758d1fc0)\nStack:  ffffffff81057376 0000000000000000 ffffffffa00f7b00\n0000000000000000\n 0000000000000080 0000000000618278 00007fff24f16720 0000000000000000\n ffffffff8105d37a ffffffffa00f7b00 ffffffff8105d591 313132303863616d\nCall Trace:\n [\u003cffffffff81057376\u003e] ? lockdep_free_key_range+0x61/0xf5\n [\u003cffffffff8105d37a\u003e] ? free_module+0xd4/0xe4\n [\u003cffffffff8105d591\u003e] ? sys_delete_module+0x1de/0x1f9\n [\u003cffffffff8106dbfa\u003e] ? audit_syscall_entry+0x12d/0x160\n [\u003cffffffff8100be2b\u003e] ? system_call_fastpath+0x16/0x1b\n\nCode: b2 00 01 00 00 00 c3 31 f6 49 c7 c0 10 8a 61 81 eb 32 49 39 38\n75 26 48 98 48 6b c0 38 48 8b 90 08 8a 61 81 48 8b 88 00 8a 61 81 \u003c48\u003e\n89 51 08 48 89 0a 48 c7 80 08 8a 61 81 00 02 20 00 48 ff c6\nRIP  [\u003cffffffff810531e1\u003e] zap_class+0x24/0x82\n RSP \u003cffff88007bcb3eb0\u003e\nCR2: 0000000000000008\n---[ end trace a1297e0c4abb0f2e ]---\n\nThe root cause for this oops is in add_lock_to_list() when\nsave_trace() fails due to MAX_STACK_TRACE_ENTRIES is reached,\nentry-\u003eclass is assigned but entry is never added into any lock list.\nThis makes the list_del_rcu() in zap_class() oops later when the\nmodule is unloaded. This patch fixes the problem by assigning\nentry-\u003eclass after save_trace() returns success.\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04148b73b89d49fe0fe201bcee395e51f7d637ce",
      "tree": "ba55c40dcd5ef2c5e42914a48acf45d1625d670b",
      "parents": [
        "2189459d25a47401c69a17794c9d390c890351f9"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Mon Aug 25 17:16:23 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 26 10:37:47 2008 +0200"
      },
      "message": "lockstat: repair erronous contention statistics\n\nFix bad contention counting in /proc/lock_stat.\n\n/proc/lockstat tries to gather per-ip contention\nstatistics per-lock.  This was failing due to\na garbage per-ip index selector being used.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6951b12a0fe7fc64789f2c4d62d2a304e93836a8",
      "tree": "85588afbb9fce0ab0f6aac7c9a5d885562f2c51f",
      "parents": [
        "b09c3e3f1710b554348c98e78fbf4a661918779a"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Aug 18 04:26:37 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 18 09:42:31 2008 +0200"
      },
      "message": "lockdep: fix spurious \u0027inconsistent lock state\u0027 warning\n\nSince f82b217e3513fe3af342c0f3ee1494e86250c21c lockdep can output spurious\nwarnings related to hwirqs due to hardirq_off shrinkage from int to bit-sized\nflag. Guard it with double negation to fix the warning.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2df8b1d656021e180ab93c8a4b2c9c2923d30b82",
      "tree": "fb787ef06f15d81ff650bf1dff9cb617c854d438",
      "parents": [
        "c72f4573a5e05e35a31474977f500cbe21dcbb11"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jul 30 12:43:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 19:06:46 2008 +0200"
      },
      "message": "lockdep: use WARN() in kernel/lockdep.c\n\nUse WARN() instead of a printk+WARN_ON() pair; this way the message\nbecomes part of the warning section for better reporting/collection.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f2bc27be27ca1dcc66b96131e44bf7648b959c6",
      "tree": "22ea7b9a28878851f445a5420ff80b64ee1cfdd1",
      "parents": [
        "e5f363e358cf16e4ad13a6826e15088c5495efe9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 22:45:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 22:45:51 2008 +0200"
      },
      "message": "lockdep: fix debug_lock_alloc\n\nWhen we enable DEBUG_LOCK_ALLOC but do not enable PROVE_LOCKING and or\nLOCK_STAT, lock_alloc() and lock_release() turn into nops, even though\nwe should be doing hlock checking (check\u003d1).\n\nThis causes a false warning and a lockdep self-disable.\n\nRectify this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bfe0298f7a04952d19f4a2cf510d7a6311eeed0",
      "tree": "f90c216c26c0d73128a713d5142ccaefa2dce353",
      "parents": [
        "7cd5a02f54f4c9d16cf7fdffa2122bc73bb09b43"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Mon Aug 11 09:30:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:26 2008 +0200"
      },
      "message": "lockdep: handle chains involving classes defined in modules\n\nSolve this by marking the classes as unused and not printing information\nabout the unused classes.\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nAcked-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7531e2f34d1d551b096143f19111139f0dd84c8b",
      "tree": "0a29d6703e28dc6752b9b4085594cca238595aac",
      "parents": [
        "4f3e7524b2e703d9f8b02ac338153a53dd7ede66"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "message": "lockdep: lock protection locks\n\nOn Fri, 2008-08-01 at 16:26 -0700, Linus Torvalds wrote:\n\n\u003e On Fri, 1 Aug 2008, David Miller wrote:\n\u003e \u003e\n\u003e \u003e Taking more than a few locks of the same class at once is bad\n\u003e \u003e news and it\u0027s better to find an alternative method.\n\u003e\n\u003e It\u0027s not always wrong.\n\u003e\n\u003e If you can guarantee that anybody that takes more than one lock of a\n\u003e particular class will always take a single top-level lock _first_, then\n\u003e that\u0027s all good. You can obviously screw up and take the same lock _twice_\n\u003e (which will deadlock), but at least you cannot get into ABBA situations.\n\u003e\n\u003e So maybe the right thing to do is to just teach lockdep about \"lock\n\u003e protection locks\". That would have solved the multi-queue issues for\n\u003e networking too - all the actual network drivers would still have taken\n\u003e just their single queue lock, but the one case that needs to take all of\n\u003e them would have taken a separate top-level lock first.\n\u003e\n\u003e Never mind that the multi-queue locks were always taken in the same order:\n\u003e it\u0027s never wrong to just have some top-level serialization, and anybody\n\u003e who needs to take \u003cn\u003e locks might as well do \u003cn+1\u003e, because they sure as\n\u003e hell aren\u0027t going to be on _any_ fastpaths.\n\u003e\n\u003e So the simplest solution really sounds like just teaching lockdep about\n\u003e that one special case. It\u0027s not \"nesting\" exactly, although it\u0027s obviously\n\u003e related to it.\n\nDo as Linus suggested. The lock protection lock is called nest_lock.\n\nNote that we still have the MAX_LOCK_DEPTH (48) limit to consider, so anything\nthat spills that it still up shit creek.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f82b217e3513fe3af342c0f3ee1494e86250c21c",
      "tree": "144b724c9e0c491c0983087627000080b25b9852",
      "parents": [
        "1b12bbc747560ea68bcc132c3d05699e52271da0"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "message": "lockdep: shrink held_lock structure\n\nstruct held_lock {\n        u64                        prev_chain_key;       /*     0     8 */\n        struct lock_class *        class;                /*     8     8 */\n        long unsigned int          acquire_ip;           /*    16     8 */\n        struct lockdep_map *       instance;             /*    24     8 */\n        int                        irq_context;          /*    32     4 */\n        int                        trylock;              /*    36     4 */\n        int                        read;                 /*    40     4 */\n        int                        check;                /*    44     4 */\n        int                        hardirqs_off;         /*    48     4 */\n\n        /* size: 56, cachelines: 1 */\n        /* padding: 4 */\n        /* last cacheline: 56 bytes */\n};\n\nstruct held_lock {\n        u64                        prev_chain_key;       /*     0     8 */\n        long unsigned int          acquire_ip;           /*     8     8 */\n        struct lockdep_map *       instance;             /*    16     8 */\n        unsigned int               class_idx:11;         /*    24:21  4 */\n        unsigned int               irq_context:2;        /*    24:19  4 */\n        unsigned int               trylock:1;            /*    24:18  4 */\n        unsigned int               read:2;               /*    24:16  4 */\n        unsigned int               check:2;              /*    24:14  4 */\n        unsigned int               hardirqs_off:1;       /*    24:13  4 */\n\n        /* size: 32, cachelines: 1 */\n        /* padding: 4 */\n        /* bit_padding: 13 bits */\n        /* last cacheline: 32 bytes */\n};\n\n[mingo@elte.hu: shrunk hlock-\u003eclass too]\n[peterz@infradead.org: fixup bit sizes]\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "64aa348edc617dea17bbd01ddee4e47886d5ec8c",
      "tree": "002b5fa796aff225d0cb9d0c32bb3ba96da6eaaf",
      "parents": [
        "5e710e37bde120bb069f691bee68e69ef4393173"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:21 2008 +0200"
      },
      "message": "lockdep: lock_set_subclass - reset a held lock\u0027s subclass\n\nthis can be used to reset a held lock\u0027s subclass, for arbitrary-depth\niterated data structures such as trees or lists which have per-node\nlocks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "419ca3f13532793b81aff09f80c60af3eacbb43d",
      "tree": "eb2d82e52917ebccff269a51e90868ce229336b2",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 21:45:03 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 18:38:28 2008 +0200"
      },
      "message": "lockdep: fix combinatorial explosion in lock subgraph traversal\n\nWhen we traverse the graph, either forwards or backwards, we\nare interested in whether a certain property exists somewhere\nin a node reachable in the graph.\n\nTherefore it is never necessary to traverse through a node more\nthan once to get a correct answer to the given query.\n\nTake advantage of this property using a global ID counter so that we\nneed not clear all the markers in all the lock_class entries before\ndoing a traversal.  A new ID is choosen when we start to traverse, and\nwe continue through a lock_class only if it\u0027s ID hasn\u0027t been marked\nwith the new value yet.\n\nThis short-circuiting is essential especially for high CPU count\nsystems.  The scheduler has a runqueue per cpu, and needs to take\ntwo runqueue locks at a time, which leads to long chains of\nbackwards and forwards subgraphs from these runqueue lock nodes.\nWithout the short-circuit implemented here, a graph traversal on\na runqueue lock can take up to (1 \u003c\u003c (N - 1)) checks on a system\nwith N cpus.\n\nFor anything more than 16 cpus or so, lockdep will eventually bring\nthe machine to a complete standstill.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "40e7babbb52b4b57721b9175aed7a14d93bf242f",
      "tree": "e16bc0a698c891922ca4c0166e0e08ac194718ed",
      "parents": [
        "948769a5ba304ed3329a2f42ee3561f04a0b5692",
        "d12c1a37925a8ec386994169605fe99217295199"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 14:55:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 14:55:13 2008 -0700"
      },
      "message": "Merge branch \u0027core/locking\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/locking\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: fix kernel/fork.c warning\n  lockdep: fix ftrace irq tracing false positive\n  lockdep: remove duplicate definition of STATIC_LOCKDEP_MAP_INIT\n  lockdep: add lock_class information to lock_chain and output it\n  lockdep: add lock_class information to lock_chain and output it\n  lockdep: output lock_class key instead of address for forward dependency output\n  __mutex_lock_common: use signal_pending_state()\n  mutex-debug: check mutex magic before owner\n\nFixed up conflict in kernel/fork.c manually\n"
    },
    {
      "commit": "992860e991f2015fb8c8df65aa32afa0dcbb4430",
      "tree": "f8e9015b00e3f14be77af640de9e3d60c8fa470b",
      "parents": [
        "b4ba0ba24b57ec975482f4ba2d350fbee7557240"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 10:28:38 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 10:32:14 2008 +0200"
      },
      "message": "lockdep: fix ftrace irq tracing false positive\n\nfix this false positive:\n\n[    0.020000] ------------[ cut here ]------------\n[    0.020000] WARNING: at kernel/lockdep.c:2718 check_flags+0x14a/0x170()\n[    0.020000] Modules linked in:\n[    0.020000] Pid: 0, comm: swapper Not tainted 2.6.26-tip-00343-gd7e5521-dirty #14486\n[    0.020000]  [\u003cc01312e4\u003e] warn_on_slowpath+0x54/0x80\n[    0.020000]  [\u003cc067e451\u003e] ? _spin_unlock_irqrestore+0x61/0x70\n[    0.020000]  [\u003cc0131bb1\u003e] ? release_console_sem+0x201/0x210\n[    0.020000]  [\u003cc0143d65\u003e] ? __kernel_text_address+0x35/0x40\n[    0.020000]  [\u003cc010562e\u003e] ? dump_trace+0x5e/0x140\n[    0.020000]  [\u003cc01518b5\u003e] ? __lock_acquire+0x245/0x820\n[    0.020000]  [\u003cc015063a\u003e] check_flags+0x14a/0x170\n[    0.020000]  [\u003cc0151ed8\u003e] ? lock_acquire+0x48/0xc0\n[    0.020000]  [\u003cc0151ee1\u003e] lock_acquire+0x51/0xc0\n[    0.020000]  [\u003cc014a16c\u003e] ? down+0x2c/0x40\n[    0.020000]  [\u003cc010a609\u003e] ? sched_clock+0x9/0x10\n[    0.020000]  [\u003cc067e7b2\u003e] _write_lock+0x32/0x60\n[    0.020000]  [\u003cc013797f\u003e] ? request_resource+0x1f/0xb0\n[    0.020000]  [\u003cc013797f\u003e] request_resource+0x1f/0xb0\n[    0.020000]  [\u003cc02f89ad\u003e] vgacon_startup+0x2bd/0x3e0\n[    0.020000]  [\u003cc094d62a\u003e] con_init+0x19/0x22f\n[    0.020000]  [\u003cc0330c7c\u003e] ? tty_register_ldisc+0x5c/0x70\n[    0.020000]  [\u003cc094cf49\u003e] console_init+0x20/0x2e\n[    0.020000]  [\u003cc092a969\u003e] start_kernel+0x20c/0x379\n[    0.020000]  [\u003cc092a516\u003e] ? unknown_bootoption+0x0/0x1f6\n[    0.020000]  [\u003cc092a099\u003e] __init_begin+0x99/0xa1\n[    0.020000]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[    0.020000] ---[ end trace 4eaa2a86a8e2da22 ]---\n[    0.020000] possible reason: unannotated irqs-on.\n[    0.020000] irq event stamp: 0\n\nwhich occurs if CONFIG_TRACE_IRQFLAGS\u003dy, CONFIG_DEBUG_LOCKDEP\u003dy,\nbut CONFIG_PROVE_LOCKING is disabled.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd1a28e8457e6ebf72c48d84d4e736307e86436e",
      "tree": "09371914495f7e3803016516ba887b593ea64a9b",
      "parents": [
        "443cd507ce7f78c6f8742b72736585c031d5a921"
      ],
      "author": {
        "name": "Huang, Ying",
        "email": "ying.huang@intel.com",
        "time": "Mon Jun 23 11:20:54 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 24 01:28:20 2008 +0200"
      },
      "message": "lockdep: add lock_class information to lock_chain and output it\n\nIt is based on x86/master branch of git-x86 tree, and has been tested\non x86_64 platform.\n\nChangeLog:\n\nv2:\n\n- Enclosing proc file system related code into CONFIG_PROVE_LOCKING.\n\n- Fix nr_chain_hlocks update code.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "443cd507ce7f78c6f8742b72736585c031d5a921",
      "tree": "256182911b08287661beca1f90455b14cd0b9151",
      "parents": [
        "2429e4ee78e2fa40f82a4572dd21d4f3b4de9325"
      ],
      "author": {
        "name": "Huang, Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Jun 20 16:39:21 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 12:21:33 2008 +0200"
      },
      "message": "lockdep: add lock_class information to lock_chain and output it\n\nThis patch records array of lock_class into lock_chain, and export\nlock_chain information via /proc/lockdep_chains.\n\nIt is based on x86/master branch of git-x86 tree, and has been tested\non x86_64 platform.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb065afb8ebd07a03155502dba29ebf0f6fe67e8",
      "tree": "aa32a9461cd38f336797cfba4d07c58789a6f1be",
      "parents": [
        "a98a3c3fde3ae7614f19758a043691b6f59dac53"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 12 21:21:00 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 21:50:21 2008 +0200"
      },
      "message": "lockdep: update lockdep_recursion on graph_lock\n\nWith the introduction of ftrace, it is possible to recurse into\nthe lockdep functions via the mcount call. To prevent possible\nlockups, updating the lockdep_recursion counter on grabbing the internal\nlockdep_lock should prevent deadlocks.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1d09daa55d2e9bab7e7d30f0d05e5a7bc60b2a4a",
      "tree": "81b138d50b84e052d49f7710ce03250cde1b3606",
      "parents": [
        "9d0a420b737f72d84fabebf29634d800cbf54538"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 12 21:20:55 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 21:15:14 2008 +0200"
      },
      "message": "ftrace: use Makefile to remove tracing from lockdep\n\nThis patch removes the \"notrace\" annotation from lockdep and adds the debugging\nfiles in the kernel director to those that should not be compiled with\n\"-pg\" mcount tracing.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0764d23cf066c52de42b653144605b481d3fbdbc",
      "tree": "940c6fb3f1fd674bdabbebc21a15b48a48e2ec24",
      "parents": [
        "361943ad0ba3f16e66859e30a408915e008ba91e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:44 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:39:40 2008 +0200"
      },
      "message": "ftrace: lockdep notrace annotations\n\nAdd notrace annotations to lockdep to keep ftrace from causing\nrecursive problems with lock tracing and debugging.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "81d68a96a39844853b37f20cc8282d9b65b78ef3",
      "tree": "bbc05f415930c15fb5a1004620bd77585fcec43a",
      "parents": [
        "352ad25aa4a189c667cb2af333948d34692a2d27"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:32:46 2008 +0200"
      },
      "message": "ftrace: trace irq disabled critical timings\n\nThis patch adds latency tracing for critical timings\n(how long interrupts are disabled for).\n\n \"irqsoff\" is added to /debugfs/tracing/available_tracers\n\nNote:\n  tracing_max_latency\n    also holds the max latency for irqsoff (in usecs).\n   (default to large number so one must start latency tracing)\n\n  tracing_thresh\n    threshold (in usecs) to always print out if irqs off\n    is detected to be longer than stated here.\n    If irq_thresh is non-zero, then max_irq_latency\n    is ignored.\n\nHere\u0027s an example of a trace with ftrace_enabled \u003d 0\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------\n latency: 100 us, #3/3, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1d.s3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1d.s3  100us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1d.s3  100us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAnd this is a trace with ftrace_enabled \u003d\u003d 1\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\n--------------------------------------------------------------------\n latency: 102 us, #12/12, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1dNs3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_read_phy_reg+0x16/0x225 [e1000] (e1000_update_stats+0x5e2/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_swfw_sync_acquire+0x10/0x99 [e1000] (e1000_read_phy_reg+0x49/0x225 [e1000])\n swapper-0     1dNs3   46us : e1000_get_hw_eeprom_semaphore+0x12/0xa6 [e1000] (e1000_swfw_sync_acquire+0x36/0x99 [e1000])\n swapper-0     1dNs3   47us : __const_udelay+0x9/0x47 (e1000_read_phy_reg+0x116/0x225 [e1000])\n swapper-0     1dNs3   47us+: __delay+0x9/0x50 (__const_udelay+0x45/0x47)\n swapper-0     1dNs3   97us : preempt_schedule+0xc/0x84 (__delay+0x4e/0x50)\n swapper-0     1dNs3   98us : e1000_swfw_sync_release+0xc/0x55 [e1000] (e1000_read_phy_reg+0x211/0x225 [e1000])\n swapper-0     1dNs3   99us+: e1000_put_hw_eeprom_semaphore+0x9/0x35 [e1000] (e1000_swfw_sync_release+0x50/0x55 [e1000])\n swapper-0     1dNs3  101us : _spin_unlock_irqrestore+0xe/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1481197b50114d7212d659d41cb97f31a8934883",
      "tree": "c3ad3133cef46f64d3a6dbb9773591bcf29b87f9",
      "parents": [
        "bdb9441e9c325d50b5ae17f7d3205d65b8ed2e5f"
      ],
      "author": {
        "name": "Dale Farnsworth",
        "email": "dale@farnsworth.org",
        "time": "Mon Feb 25 23:03:02 2008 +0100"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 25 23:03:02 2008 +0100"
      },
      "message": "Subject: lockdep: include all lock classes in all_lock_classes\nAdd each lock class to the all_lock_classes list when it is\nfirst registered.\n\nPreviously, lock classes were added to all_lock_classes when\nthe lock class was first used.  Since one of the uses of the\nlist is to find unused locks, this didn\u0027t work well.\n\nSigned-off-by: Dale Farnsworth \u003cdale@farnsworth.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82a1fcb90287052aabfa235e7ffc693ea003fe69",
      "tree": "826b464a248bebe259fe787f7b8d17d5626cf2c5",
      "parents": [
        "d0d23b5432fe61229dd3641c5e94d4130bc4e61b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks\n\nthis patch extends the soft-lockup detector to automatically\ndetect hung TASK_UNINTERRUPTIBLE tasks. Such hung tasks are\nprinted the following way:\n\n ------------------\u003e\n INFO: task prctl:3042 blocked for more than 120 seconds.\n \"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message\n prctl         D fd5e3793     0  3042   2997\n        f6050f38 00000046 00000001 fd5e3793 00000009 c06d8264 c06dae80 00000286\n        f6050f40 f6050f00 f7d34d90 f7d34fc8 c1e1be80 00000001 f6050000 00000000\n        f7e92d00 00000286 f6050f18 c0489d1a f6050f40 00006605 00000000 c0133a5b\n Call Trace:\n  [\u003cc04883a5\u003e] schedule_timeout+0x6d/0x8b\n  [\u003cc04883d8\u003e] schedule_timeout_uninterruptible+0x15/0x17\n  [\u003cc0133a76\u003e] msleep+0x10/0x16\n  [\u003cc0138974\u003e] sys_prctl+0x30/0x1e2\n  [\u003cc0104c52\u003e] sysenter_past_esp+0x5f/0xa5\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n 2 locks held by prctl/3042:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#5){--..}, at: [\u003cc0197d11\u003e] do_fsync+0x38/0x7a\n #1:  (jbd_handle){--..}, at: [\u003cc01ca3d2\u003e] journal_start+0xc7/0xe9\n \u003c------------------\n\nthe current default timeout is 120 seconds. Such messages are printed\nup to 10 times per bootup. If the system has crashed already then the\nmessages are not printed.\n\nif lockdep is enabled then all held locks are printed as well.\n\nthis feature is a natural extension to the softlockup-detector (kernel\nlocked up without scheduling) and to the NMI watchdog (kernel locked up\nwith IRQs disabled).\n\n[ Gautham R Shenoy \u003cego@in.ibm.com\u003e: CPU hotplug fixes. ]\n[ Andrew Morton \u003cakpm@linux-foundation.org\u003e: build warning fix. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "fabe874a48de45b137f99b4ed3641e0413f465ce",
      "tree": "815204d845875bd14f5623766b2ec5bc6f1fe00c",
      "parents": [
        "4784b11c4f49eb88f2dd74df6afc5170f193cedc"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu Jan 24 07:00:45 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jan 24 08:01:09 2008 -0800"
      },
      "message": "lockdep: fix kernel crash on module unload\n\nMichael Wu noticed in his lkml post at\n\n    http://marc.info/?l\u003dlinux-kernel\u0026m\u003d119396182726091\u0026w\u003d2\n\nthat certain wireless drivers ended up having their name in module\nmemory, which would then crash the kernel on module unload.\n\nThe patch he proposed was a bit clumsy in that it increased the size of\na lockdep entry significantly; the patch below tries another approach,\nit checks, on module teardown, if the name of a class is in module space\nand then zaps the class.  This is very similar to what we already do\nwith keys that are in module space.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a26db5bd25cf4bf32ae9fa9f6136b6b6d5b45c5",
      "tree": "e6c3c26bb9b45644aea3adb02f1747a336987e64",
      "parents": [
        "cbd9c883696da72b2b1f03f909dbacc04bbf8b58"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 16 09:51:58 2008 +0100"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 16 09:51:58 2008 +0100"
      },
      "message": "lockdep: fix internal double unlock during self-test\nLockdep, during self-test (when it was simulating double unlocks) was\nsometimes unconditionally unlocking a spinlock when it had not been\nlocked. This won\u0027t work for ticket locks.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "5f9fa8a62d6a98f5cb2ee2e00b85bfe95e45888d",
      "tree": "cb1a27380131465adc0ba372ec9f4869beb520e7",
      "parents": [
        "f194d132e4971111f85c18c96067acffb13cee6d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 07 19:02:47 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 07 19:02:47 2007 +0100"
      },
      "message": "lockdep: make cli/sti annotation warnings clearer\n\nmake cli/sti annotation warnings easier to interpret.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "54561783ee99d73a086f3abbda3e44f87f6bf65b",
      "tree": "73f836a158f9c05ece41cae6cdb80888d9d6ba07",
      "parents": [
        "856848737bd944c1db3ce0a66bbf67e56bd6f77d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "message": "lockdep: in_range() fix\n\nTorsten Kaiser wrote:\n\n| static inline int in_range(const void *start, const void *addr, const void *end)\n| {\n|         return addr \u003e\u003d start \u0026\u0026 addr \u003c\u003d end;\n| }\n| This  will return true, if addr is in the range of start (including)\n| to end (including).\n|\n| But debug_check_no_locks_freed() seems does:\n| const void *mem_to \u003d mem_from + mem_len\n| -\u003e mem_to is the last byte of the freed range, that fits in_range\n| lock_from \u003d (void *)hlock-\u003einstance;\n| -\u003e first byte of the lock\n| lock_to \u003d (void *)(hlock-\u003einstance + 1);\n| -\u003e first byte of the next lock, not last byte of the lock that is being checked!\n|\n| The test is:\n| if (!in_range(mem_from, lock_from, mem_to) \u0026\u0026\n|                                         !in_range(mem_from, lock_to, mem_to))\n|                         continue;\n| So it tests, if the first byte of the lock is in the range that is freed -\u003eOK\n| And if the first byte of the *next* lock is in the range that is freed\n| -\u003e Not OK.\n\nWe can also simplify in_range checks, we need only 2 comparisons, not 4.\nIf the lock is not in memory range, it should be either at the left of range\nor at the right.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "856848737bd944c1db3ce0a66bbf67e56bd6f77d",
      "tree": "4fce302f29225f7d1d558559e40e73dadc40e60e",
      "parents": [
        "41a2d6cfa3f77ec469e7e5f06b4d7ffd031f9c0e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "message": "lockdep: fix debug_show_all_locks()\n\nfix the oops that can be seen in:\n\n   http://bugzilla.kernel.org/attachment.cgi?id\u003d13828\u0026action\u003dview\n\nit is not safe to print the locks of running tasks.\n\n(even with this fix we have a small race - but this is a debug\n function after all.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "17aacfb9cdf9a8329a6ece9c437551a29c93e47b",
      "tree": "cdcccacf1d192ceb4b7cd0c9908f974533cf8ee7",
      "parents": [
        "ab63a633cf072c719f885e46fa4814624312f672"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Sun Oct 28 20:47:01 2007 +0100"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Oct 28 20:47:01 2007 +0100"
      },
      "message": "lockdep: fix a typo in the __lock_acquire comment\nFix a typo in the __lock_acquire comment.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e6045f134784f4b158b3c0f7a282b04bd816887",
      "tree": "3304628f666c8524accd10f40da48cfba8b08608",
      "parents": [
        "cf7b708c8d1d7a27736771bcf4c457b332b0f818"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 18 23:39:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "workqueue: debug flushing deadlocks with lockdep\n\nIn the following scenario:\n\ncode path 1:\n  my_function() -\u003e lock(L1); ...; flush_workqueue(); ...\n\ncode path 2:\n  run_workqueue() -\u003e my_work() -\u003e ...; lock(L1); ...\n\nyou can get a deadlock when my_work() is queued or running\nbut my_function() has acquired L1 already.\n\nThis patch adds a pseudo-lock to each workqueue to make lockdep\nwarn about this scenario.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b351d164e860d1ffffdc501c32f55dd1446c385b",
      "tree": "6fcef2c4ece9ff2772306a3b65e9c7e2fcc4d39a",
      "parents": [
        "e4564f79d4b6923da7360df4b24a48cc2d4160de"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 11 22:11:12 2007 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 11 22:11:12 2007 +0200"
      },
      "message": "lockdep: syscall exit check\n\nProvide a check to validate that we do not hold any locks when switching\nback to user-space.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3aa416b07f0adf01c090baab26fb70c35ec17623",
      "tree": "a2c2c2f7bd8445b138b293ba6661833f970954ee",
      "parents": [
        "94c61c0aeffe64452e742087cf803d0347ef8418"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Thu Oct 11 22:11:11 2007 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 11 22:11:11 2007 +0200"
      },
      "message": "lockdep: fix mismatched lockdep_depth/curr_chain_hash\nIt is possible for the current-\u003ecurr_chain_key to become inconsistent with the\ncurrent index if the chain fails to validate.  The end result is that future\nlock_acquire() operations may inadvertently fail to find a hit in the cache\nresulting in a new node being added to the graph for every acquire.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c71063c9c9dc232d0d51f936f237f7dc5681e8e3",
      "tree": "3f56b9e12c86b2afe9e613e868001654240aabb7",
      "parents": [
        "d38e1d5aaee384698fcef9455d6e2df1d062a1d0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 19 01:49:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockdep debugging: give stacktrace for init_error\n\nWhen I started adding support for lockdep to 64-bit powerpc, I got a\nlockdep_init_error and with this patch was able to pinpoint why and where\nto put lockdep_init().  Let\u0027s support this generally for others adding\nlockdep support to their architecture.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96645678cd726e87ce42a0664de71e047e32bca4",
      "tree": "116f568a090414777b481e8e5d9db55f420e4335",
      "parents": [
        "443aef0eddfa44c158d1b94ebb431a70638fcab4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:49:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: measure lock bouncing\n\n    __acquire\n        |\n       lock _____\n        |        \\\n        |    __contended\n        |         |\n        |        wait\n        | _______/\n        |/\n        |\n   __acquired\n        |\n   __release\n        |\n     unlock\n\nWe measure acquisition and contention bouncing.\n\nThis is done by recording a cpu stamp in each lock instance.\n\nContention bouncing requires the cpu stamp to be set on acquisition. Hence we\nmove __acquired into the generic path.\n\n__acquired is then used to measure acquisition bouncing by comparing the\ncurrent cpu with the old stamp before replacing it.\n\n__contended is used to measure contention bouncing (only useful for preemptable\nlocks)\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b32d0a4e9ec07808a5c406a416c6576c986b047",
      "tree": "9157e27e485723b6806fbab8926e9e5fcd5397e6",
      "parents": [
        "4fe87745a6722d42ff27a60768c77958fa1fc498"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockdep: various fixes\n\n - update the copyright notices\n - use the default hash function\n - fix a thinko in a BUILD_BUG_ON\n - add a WARN_ON to spot inconsitent naming\n - fix a termination issue in /proc/lock_stat\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c46261de0d98372112d8edf16f74ce418a268d46",
      "tree": "b502a5872f3d4bd11254755defac0720ef072faf",
      "parents": [
        "f20786ff4da51e56b1956acf30be2552be266746"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: human readability tweaks\n\nPresent all this fancy new lock statistics information:\n\n*warning, _wide_ output ahead*\n\n(output edited for purpose of brevity)\n\n # cat /proc/lock_stat\nlock_stat version 0.1\n-----------------------------------------------------------------------------------------------------------------------------------------------------------------\n                              class name    contentions   waittime-min   waittime-max waittime-total   acquisitions   holdtime-min   holdtime-max holdtime-total\n-----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n                         \u0026inode-\u003ei_mutex:         14458           6.57      398832.75     2469412.23        6768876           0.34    11398383.65   339410830.89\n                         ---------------\n                         \u0026inode-\u003ei_mutex           4486          [\u003cffffffff802a08f9\u003e] pipe_wait+0x86/0x8d\n                         \u0026inode-\u003ei_mutex              0          [\u003cffffffff802a01e8\u003e] pipe_write_fasync+0x29/0x5d\n                         \u0026inode-\u003ei_mutex              0          [\u003cffffffff802a0e18\u003e] pipe_read+0x74/0x3a5\n                         \u0026inode-\u003ei_mutex              0          [\u003cffffffff802a1a6a\u003e] do_lookup+0x81/0x1ae\n\n.................................................................................................................................................................\n\n              \u0026inode-\u003ei_data.tree_lock-W:           491           0.27          62.47         493.89        2477833           0.39         468.89     1146584.25\n              \u0026inode-\u003ei_data.tree_lock-R:            65           0.44           4.27          48.78       26288792           0.36         184.62    10197458.24\n              --------------------------\n                \u0026inode-\u003ei_data.tree_lock             46          [\u003cffffffff80277095\u003e] __do_page_cache_readahead+0x69/0x24f\n                \u0026inode-\u003ei_data.tree_lock             31          [\u003cffffffff8026f9fb\u003e] add_to_page_cache+0x31/0xba\n                \u0026inode-\u003ei_data.tree_lock              0          [\u003cffffffff802770ee\u003e] __do_page_cache_readahead+0xc2/0x24f\n                \u0026inode-\u003ei_data.tree_lock              0          [\u003cffffffff8026f6e4\u003e] find_get_page+0x1a/0x58\n\n.................................................................................................................................................................\n\n                      proc_inum_idr.lock:             0           0.00           0.00           0.00             36           0.00          65.60         148.26\n                        proc_subdir_lock:             0           0.00           0.00           0.00        3049859           0.00         106.81     1563212.42\n                        shrinker_rwsem-W:             0           0.00           0.00           0.00              5           0.00           1.73           3.68\n                        shrinker_rwsem-R:             0           0.00           0.00           0.00            633           2.57         246.57       10909.76\n\n\u0027contentions\u0027 and \u0027acquisitions\u0027 are the number of such events measured (since\nthe last reset). The waittime- and holdtime- (min, max, total) numbers are\npresented in microseconds.\n\nIf there are any contention points, the lock class is presented in the block\nformat (as i_mutex and tree_lock above), otherwise a single line of output is\npresented.\n\nThe output is sorted on absolute number of contentions (read + write), this\nshould get the worst offenders presented first, so that:\n\n # grep : /proc/lock_stat | head\n\nwill quickly show who\u0027s bad.\n\nThe stats can be reset using:\n\n # echo 0 \u003e /proc/lock_stat\n\n[bunk@stusta.de: make 2 functions static]\n[akpm@linux-foundation.org: fix printk warning]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f20786ff4da51e56b1956acf30be2552be266746",
      "tree": "f6d0a9ed84ca476ca19fe7131d842699881756c4",
      "parents": [
        "8e18257d29238311e82085152741f0c3aa18b74d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: core infrastructure\n\nIntroduce the core lock statistics code.\n\nLock statistics provides lock wait-time and hold-time (as well as the count\nof corresponding contention and acquisitions events). Also, the first few\ncall-sites that encounter contention are tracked.\n\nLock wait-time is the time spent waiting on the lock. This provides insight\ninto the locking scheme, that is, a heavily contended lock is indicative of\na too coarse locking scheme.\n\nLock hold-time is the duration the lock was held, this provides a reference for\nthe wait-time numbers, so they can be put into perspective.\n\n  1)\n    lock\n  2)\n    ... do stuff ..\n    unlock\n  3)\n\nThe time between 1 and 2 is the wait-time. The time between 2 and 3 is the\nhold-time.\n\nThe lockdep held-lock tracking code is reused, because it already collects locks\ninto meaningful groups (classes), and because it is an existing infrastructure\nfor lock instrumentation.\n\nCurrently lockdep tracks lock acquisition with two hooks:\n\n  lock()\n    lock_acquire()\n    _lock()\n\n ... code protected by lock ...\n\n  unlock()\n    lock_release()\n    _unlock()\n\nWe need to extend this with two more hooks, in order to measure contention.\n\n  lock_contended() - used to measure contention events\n  lock_acquired()  - completion of the contention\n\nThese are then placed the following way:\n\n  lock()\n    lock_acquire()\n    if (!_try_lock())\n      lock_contended()\n      _lock()\n      lock_acquired()\n\n ... do locked stuff ...\n\n  unlock()\n    lock_release()\n    _unlock()\n\n(Note: the try_lock() \u0027trick\u0027 is used to avoid instrumenting all platform\n       dependent lock primitive implementations.)\n\nIt is also possible to toggle the two lockdep features at runtime using:\n\n  /proc/sys/kernel/prove_locking\n  /proc/sys/kernel/lock_stat\n\n(esp. turning off the O(n^2) prove_locking functionaliy can help)\n\n[akpm@linux-foundation.org: build fixes]\n[akpm@linux-foundation.org: nuke unneeded ifdefs]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e18257d29238311e82085152741f0c3aa18b74d",
      "tree": "4c3e43b3b001763b4280a4b6d754387a52fb4d73",
      "parents": [
        "ca58abcb4a6d52ee2db1b1130cea3ca2a76677b9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockdep: reduce the ifdeffery\n\nMove code around to get fewer but larger #ifdef sections.  Break some\nin-function #ifdefs out into their own functions.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca58abcb4a6d52ee2db1b1130cea3ca2a76677b9",
      "tree": "ad35a81d318a39cb33f28fe09c4374ec90b118ed",
      "parents": [
        "21f8ca3bf6198bd21e3c4cc820af2ccf753a6ec8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockdep: sanitise CONFIG_PROVE_LOCKING\n\nEnsure that all of the lock dependency tracking code is under\nCONFIG_PROVE_LOCKING.  This allows us to use the held lock tracking code for\nother purposes.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9281acea6a3687ff0f262e0be31eac34895b95d7",
      "tree": "f060d6e4f6a5da1c82bc789104683d39377a2e9a",
      "parents": [
        "b45d52797432bd6b5d9786dbda940eb8d0b9ed06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jul 17 04:03:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "kallsyms: make KSYM_NAME_LEN include space for trailing \u0027\\0\u0027\n\nKSYM_NAME_LEN is peculiar in that it does not include the space for the\ntrailing \u0027\\0\u0027, forcing all users to use KSYM_NAME_LEN + 1 when allocating\nbuffer.  This is nonsense and error-prone.  Moreover, when the caller\nforgets that it\u0027s very likely to subtly bite back by corrupting the stack\nbecause the last position of the buffer is always cleared to zero.\n\nThis patch increments KSYM_NAME_LEN by one and updates code accordingly.\n\n* off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro\n  is fixed.\n\n* Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together,\n  MODULE_NAME_LEN was treated as if it didn\u0027t include space for the\n  trailing \u0027\\0\u0027.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ff773bbde87f7f7dddc0f579ad53e077a6587b9",
      "tree": "701116c151d6a78764034462d9fcfb45ba311a7a",
      "parents": [
        "0bb5e19d63cc1b09aed8aef3a20926ac435bb8e7"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Tue May 08 00:31:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:13 2007 -0700"
      },
      "message": "lockdep: removed unused ip argument in mark_lock \u0026 mark_held_locks\n\nIt looks like a remainder from designing...\n\nSigned-off-by: Jarek Poplawski \u003cjarkao@o2.pl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e860d000a90cfc9ca270ddb6e99b177e6aa91cd",
      "tree": "9a7ab3e8c007f01cf9603a71a3842d68e4cbf41d",
      "parents": [
        "076fa0fa2d53046d32f5157022d683b8027f05ed"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Tue May 08 00:30:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:11 2007 -0700"
      },
      "message": "lockdep: lookup_chain_cache comment errata\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffb45122766db220d0bf3d01848d575fbbcb6430",
      "tree": "a8fedf0518407ad12578a7c03aa2c3344f11ff3c",
      "parents": [
        "ea07890a680273b25127129fb555aac0d9324bea"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Simplify kallsyms_lookup()\n\nSeveral kallsyms_lookup() pass dummy arguments but only need, say, module\u0027s\nname.  Make kallsyms_lookup() accept NULLs where possible.\n\nAlso, makes picture clearer about what interfaces are needed for all symbol\nresolving business.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab1b6f03a10ba1f5638188ab06bf46e33ac3a160",
      "tree": "2dc7ce01df5d51d81e250dd9cee1b7b04627466e",
      "parents": [
        "7e4c3690b07f04b1942c39db358a5c8a72831daa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:23:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "simplify the stacktrace code\n\nSimplify the stacktrace code:\n\n - remove the unused task argument to save_stack_trace, it\u0027s always\n   current\n - remove the all_contexts flag, it\u0027s alwasy 0\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c35dd7f8bda1849dcb430be99325504221048df",
      "tree": "0c1d8eef5af9e21bf9c552f13646710f57b97f23",
      "parents": [
        "b43376927ab0f7b64c4fb304568ecfaea10446e2"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Thu Mar 22 00:11:28 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 22 19:39:06 2007 -0700"
      },
      "message": "[PATCH] lockdep: debug_show_all_locks \u0026 debug_show_held_locks vs. debug_locks\n\nlockdep\u0027s data shouldn\u0027t be used when debug_locks \u003d\u003d 0 because it\u0027s not\nupdated after this, so it\u0027s more misleading than helpful.\n\nPS: probably lockdep\u0027s current-\u003e fields should be reset after it turns\ndebug_locks off: so, after printing a bug report, but before return from\nexported functions, but there are really a lot of these possibilities (e.g.\n after DEBUG_LOCKS_WARN_ON), so, something could be missed.  (Of course\ndirect use of this fields isn\u0027t recommended either.)\n\nReported-by: Folkert van Heusden \u003cfolkert@vanheusden.com\u003e\nInspired-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1499993cc7bfd568f471bd697499cff394e46822",
      "tree": "56279ec6ab9962cedc220a86bd42a3eba35bcd0c",
      "parents": [
        "5409bae07a63630ba5a40f3f00b7f3e6d7eceedd"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Feb 28 20:12:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:37 2007 -0800"
      },
      "message": "[PATCH] fix section mismatch warning in lockdep\n\nlockdep_init() is marked __init but used in several places\noutside __init code. This causes following warnings:\n$ scripts/mod/modpost kernel/lockdep.o\nWARNING: kernel/built-in.o - Section mismatch: reference to .init.text:lockdep_init from .text.lockdep_init_map after \u0027lockdep_init_map\u0027 (at offset 0x105)\nWARNING: kernel/built-in.o - Section mismatch: reference to .init.text:lockdep_init from .text.lockdep_reset_lock after \u0027lockdep_reset_lock\u0027 (at offset 0x35)\nWARNING: kernel/built-in.o - Section mismatch: reference to .init.text:lockdep_init from .text.__lock_acquire after \u0027__lock_acquire\u0027 (at offset 0xb2)\n\nThe warnings are less obviously due to heavy inlining by gcc - this is not\naltered.\n\nFix the section mismatch warnings by removing the __init marking, which\nseems obviously wrong.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60e114d1134555d1813e20a8cd86304331da05c7",
      "tree": "2cd482be7f82b8c2f6bf1fde7bcf288471e4cd6b",
      "parents": [
        "34173a4aad7a641e72b70f9927ca797746fbce69"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Tue Feb 20 13:58:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:14 2007 -0800"
      },
      "message": "[PATCH] lockdep: debug_locks check after check_chain_key\n\nIn __lock_acquire check_chain_key can turn off debug_locks, so check is\nneeded to assure proper return code.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068135e63518314d4efd711142f674ad0841599e",
      "tree": "dbf8193b0e8f3b6c0e735b48c1f8201a6df207ac",
      "parents": [
        "381a229209aa6f7f72375797b7bcfcfe2ae6fcbb"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Sat Feb 10 01:44:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:26 2007 -0800"
      },
      "message": "[PATCH] lockdep: add graph depth information to /proc/lockdep\n\nGenerate locking graph information into /proc/lockdep, for lock hierarchy\ndocumentation and visualization purposes.\n\nsample output:\n\n c089fd5c OPS:     138 FD:   14 BD:    1 --..: \u0026tty-\u003etermios_mutex\n  -\u003e [c07a3430] tty_ldisc_lock\n  -\u003e [c07a37f0] \u0026port_lock_key\n  -\u003e [c07afdc0] \u0026rq-\u003erq_lock_key#2\n\nThe lock classes listed are all the first-hop lock dependencies that\nlockdep has seen so far.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "381a229209aa6f7f72375797b7bcfcfe2ae6fcbb",
      "tree": "bbd92afe1437ac77084c6ba3485f7f5a988dd673",
      "parents": [
        "898552c9d807fe59f3ecaf9c300c109358375c12"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Sat Feb 10 01:44:58 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:26 2007 -0800"
      },
      "message": "[PATCH] lockdep: more unlock-on-error fixes\n\n- returns after DEBUG_LOCKS_WARN_ON added in 3 places\n\n- debug_locks checking after lookup_chain_cache() added in\n  __lock_acquire()\n\n- locking for testing and changing global variable max_lockdep_depth\n  added in __lock_acquire()\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nMy __acquire_lock() cleanup introduced a locking bug: on SMP systems we\u0027d\nrelease a non-owned graph lock.  Fix this by moving the graph unlock back,\nand by leaving the max_lockdep_depth variable update possibly racy.  (we\ndont care, it\u0027s just statistics)\n\nAlso add some minimal debugging code to graph_unlock()/graph_lock(),\nwhich caught this locking bug.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "755cd90029b61b96816b8ac0ab6a33a197f842d0",
      "tree": "3f9dcc5727e78422330d64d22444d9ff9ea9bb0b",
      "parents": [
        "e2a5d2f9b3e6011093a7587e0e18d653fb050a36"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Dec 29 16:49:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 30 10:56:43 2006 -0800"
      },
      "message": "[PATCH] lockdep: printk warning fix\n\nkernel/lockdep.c: In function `lookup_chain_cache\u0027:\nkernel/lockdep.c:1339: warning: long long unsigned int format, u64 arg (arg 2)\nkernel/lockdep.c:1344: warning: long long unsigned int format, u64 arg (arg 2)\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74c383f1400f559562aa517d6d62f77245bddf52",
      "tree": "031f6524f0fba31c980bd3d00cc1e6b433d3d2c5",
      "parents": [
        "3117df0453828bd045c16244e6f50e5714667a8a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 13 00:34:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] lockdep: fix possible races while disabling lock-debugging\n\nJarek Poplawski noticed that lockdep global state could be accessed in a\nracy way if one CPU did a lockdep assert (shutting lockdep down), while the\nother CPU would try to do something that changes its global state.\n\nThis patch fixes those races and cleans up lockdep\u0027s internal locking by\nadding a graph_lock()/graph_unlock()/debug_locks_off_graph_unlock helpers.\n\n(Also note that as we all know the Linux kernel is, by definition, bug-free\nand perfect, so this code never triggers, so these fixes are highly\ntheoretical.  I wrote this patch for aesthetic reasons alone.)\n\n[akpm@osdl.org: build fix]\n[jarkao2@o2.pl: build fix\u0027s refix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3117df0453828bd045c16244e6f50e5714667a8a",
      "tree": "4f24e5b4024359dd42c91b84cbc25280f21b7314",
      "parents": [
        "27c3b23226fc649de47e4886ccbf994482f388ba"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 13 00:34:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] lockdep: print irq-trace info on asserts\n\nWhen we print an assert due to scheduling-in-atomic bugs, and if lockdep\nis enabled, then the IRQ tracing information of lockdep can be printed\nto pinpoint the code location that disabled interrupts. This saved me\nquite a bit of debugging time in cases where the backtrace did not\nidentify the irq-disabling site well enough.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27c3b23226fc649de47e4886ccbf994482f388ba",
      "tree": "43b0da769b52a709f2f408c8dc791a70fe9fc9fe",
      "parents": [
        "33e94e960b57497fe7fd9493080210b6d87e88e6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 13 00:34:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] lockdep: use chain hash on CONFIG_DEBUG_LOCKDEP too\n\nCONFIG_DEBUG_LOCKDEP is unacceptably slow because it does not utilize\nthe chain-hash. Turn the chain-hash back on in this case too.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "33e94e960b57497fe7fd9493080210b6d87e88e6",
      "tree": "b0fa17aea1b49b195d5e4c93b13896cc796871b3",
      "parents": [
        "23d95a03d63eff25118b50737006ce6e7c1b8def"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 13 00:34:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] lockdep: clean up VERY_VERBOSE define\n\nCleanup: the VERY_VERBOSE define was unnecessarily dependent on #ifdef VERBOSE\n- while the VERBOSE switch is 0 or 1 (always defined).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23d95a03d63eff25118b50737006ce6e7c1b8def",
      "tree": "faae8f9f9e7d7f93e55ed71fa801239e49dcf9fe",
      "parents": [
        "81fc685a898f84d0787eeebb1c118de0bd3484a0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 13 00:34:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] lockdep: improve lockdep_reset()\n\nClear all the chains during lockdep_reset().  This fixes some locking-selftest\nfalse positives i saw on -rt.  (never saw those on mainline though, but it\ncould happen.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81fc685a898f84d0787eeebb1c118de0bd3484a0",
      "tree": "f604565b228c12b3db6037673870882c8022c4a9",
      "parents": [
        "a664089741aa9010333ecbdadbf5d9de62bafa2d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 13 00:34:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] lockdep: improve verbose messages\n\nMake verbose lockdep messages (off by default) more informative by printing\nout the hash chain key.  (this patch was what helped me catch the earlier\nlockdep hash-collision bug)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a664089741aa9010333ecbdadbf5d9de62bafa2d",
      "tree": "067e1f096a9af6cf77ef179a6cdf44082768e89d",
      "parents": [
        "5d6f647fc6bb57377c9f417c4752e43189f56bb1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 13 00:34:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] lockdep: filter off by default\n\nFix typo in the class_filter() function.  (filtering is not used by default so\nthis only affects lockdep-internal debugging cases)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4522d58275f124105819723e24e912c8e5bf3cdd",
      "tree": "b92c29014fadffe049c1925676037f0092b8d112",
      "parents": [
        "6cf24f031bc97cb5a7c9df3b6e73c45b628b2b28",
        "64a26a731235b59c9d73bbe82c1f896d57400d37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:59:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:59:11 2006 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (156 commits)\n  [PATCH] x86-64: Export smp_call_function_single\n  [PATCH] i386: Clean up smp_tune_scheduling()\n  [PATCH] unwinder: move .eh_frame to RODATA\n  [PATCH] unwinder: fully support linker generated .eh_frame_hdr section\n  [PATCH] x86-64: don\u0027t use set_irq_regs()\n  [PATCH] x86-64: check vector in setup_ioapic_dest to verify if need setup_IO_APIC_irq\n  [PATCH] x86-64: Make ix86 default to HIGHMEM4G instead of NOHIGHMEM\n  [PATCH] i386: replace kmalloc+memset with kzalloc\n  [PATCH] x86-64: remove remaining pc98 code\n  [PATCH] x86-64: remove unused variable\n  [PATCH] x86-64: Fix constraints in atomic_add_return()\n  [PATCH] x86-64: fix asm constraints in i386 atomic_add_return\n  [PATCH] x86-64: Correct documentation for bzImage protocol v2.05\n  [PATCH] x86-64: replace kmalloc+memset with kzalloc in MTRR code\n  [PATCH] x86-64: Fix numaq build error\n  [PATCH] x86-64: include/asm-x86_64/cpufeature.h isn\u0027t a userspace header\n  [PATCH] unwinder: Add debugging output to the Dwarf2 unwinder\n  [PATCH] x86-64: Clarify error message in GART code\n  [PATCH] x86-64: Fix interrupt race in idle callback (3rd try)\n  [PATCH] x86-64: Remove unwind stack pointer alignment forcing again\n  ...\n\nFixed conflict in include/linux/uaccess.h manually\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70e4506765602cca047cfa31933836e354c61a63",
      "tree": "b490e5066404eab1ec7cf5147521c0bd53226b07",
      "parents": [
        "72be2ccfff0e0e332b32f7ef8372890e39b7c4cb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 06 20:40:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:46 2006 -0800"
      },
      "message": "[PATCH] lockdep: register_lock_class() fix\n\nThe hash_lock must only ever be taken with irqs disabled.  This happens in\nall the important places, except one codepath: register_lock_class().  The\nrace should trigger rarely because register_lock_class() is quite rare and\nsingle-threaded (happens during init most of the time).\n\nThe fix is to disable irqs.\n\n( bug found live in -rt: there preemption is alot more agressive and\n  preempting with the hash-lock held caused a lockup.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebe7e5fe4b41deeb2731c5b52d8c8e6ac08b1f74",
      "tree": "4fde2d9f7562776ef3b227d81a6dcd0928d9b13d",
      "parents": [
        "1f370a23f2a3101886953add4bd7f529e3bba016"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:38:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:39 2006 -0800"
      },
      "message": "[PATCH] remove kernel/lockdep.c:lockdep_internal\n\nRemove the no longer used lockdep_internal().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b23984d0a12a4821b2e9712c71550f321eb88bb5",
      "tree": "c47470186b47e8e53d8c78513d374b38319abea4",
      "parents": [
        "910b1b2e6d7d10e1c3bffdd12a90ec82f535f9a5"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Wed Dec 06 20:36:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:33 2006 -0800"
      },
      "message": "[PATCH] lockdep: misc fixes in lockdep.c\n\n - numeric string size replaced with constant in print_lock_name and\n   print_lockdep_cache,\n\n - return on null pointer in print_lock_dependencies,\n\n - one more lockdep return with 0 with unlocking fix in mark_lock.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "910b1b2e6d7d10e1c3bffdd12a90ec82f535f9a5",
      "tree": "89526504d80a20f54ab561a50b3d846fdc508fa3",
      "parents": [
        "b4178ab58aa81f4ed3c75c48940682fe3b45d880"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Thu Dec 07 10:45:25 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:33 2006 -0800"
      },
      "message": "[PATCH] lockdep: internal locking fixes\n\nHere are mainly some lockdep returns with 0 with unlocking fixes.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed07536ed6731775219c1df7fa26a7588753e693",
      "tree": "c539d80fe50f28d4e294850bb33be810f46fd515",
      "parents": [
        "b9d85b08c689dbf54b9943a02f73cb54c2b0fccf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:35:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:30 2006 -0800"
      },
      "message": "[PATCH] lockdep: annotate nfs/nfsd in-kernel sockets\n\nStick NFS sockets in their own class to avoid some lockdep warnings.  NFS\nsockets are never exposed to user-space, and will hence not trigger certain\ncode paths that would otherwise pose deadlock scenarios.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Dickson \u003cSteveD@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n[ Fixed patch corruption by quilt, pointed out by Peter Zijlstra ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eef5e0d185fc049bda11fa14ba286fbd357da896",
      "tree": "a5e6943a17288dbe1c03d8a2c440d36d7baa1881",
      "parents": [
        "446f713ba1afd68568139ae4691335ba273fa7f4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Thu Dec 07 02:14:12 2006 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Dec 07 02:14:12 2006 +0100"
      },
      "message": "[PATCH] unwinder: Remove lockdep disabling of nested locks for unwinder\n\nShouldn\u0027t be needed anymore since __kernel_text_address\nis used unconditionally on x86-64\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "1ff5683043196b9ad628a5de6bf8eeca52ee8bfd",
      "tree": "01e2f0a382ff33623993f77997f38768560e5f2a",
      "parents": [
        "dc1829a4c378d793fb3b95d56135d89a0d7ff72a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 17 19:57:22 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Nov 17 11:10:37 2006 -0800"
      },
      "message": "[PATCH] lockdep: fix static keys in module-allocated percpu areas\n\nlockdep got confused by certain locks in modules:\n\n INFO: trying to register non-static key.\n the code is fine but needs lockdep annotation.\n turning off the locking correctness validator.\n\n Call Trace:\n  [\u003cffffffff8026f40d\u003e] dump_trace+0xaa/0x3f2\n  [\u003cffffffff8026f78f\u003e] show_trace+0x3a/0x60\n  [\u003cffffffff8026f9d1\u003e] dump_stack+0x15/0x17\n  [\u003cffffffff802abfe8\u003e] __lock_acquire+0x724/0x9bb\n  [\u003cffffffff802ac52b\u003e] lock_acquire+0x4d/0x67\n  [\u003cffffffff80267139\u003e] rt_spin_lock+0x3d/0x41\n  [\u003cffffffff8839ed3f\u003e] :ip_conntrack:__ip_ct_refresh_acct+0x131/0x174\n  [\u003cffffffff883a1334\u003e] :ip_conntrack:udp_packet+0xbf/0xcf\n  [\u003cffffffff8839f9af\u003e] :ip_conntrack:ip_conntrack_in+0x394/0x4a7\n  [\u003cffffffff8023551f\u003e] nf_iterate+0x41/0x7f\n  [\u003cffffffff8025946a\u003e] nf_hook_slow+0x64/0xd5\n  [\u003cffffffff802369a2\u003e] ip_rcv+0x24e/0x506\n  [...]\n\nSteven Rostedt found the bug: static_obj() check did not take\nPERCPU_ENOUGH_ROOM into account, so in-module DEFINE_PER_CPU-area locks\nwere triggering this message.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "43f82216f0bd114599f4a221ae6924f3658a0c9a"
}
