)]}'
{
  "log": [
    {
      "commit": "b66696e3c0d8fc01efdbc701eba1276618332cb3",
      "tree": "3094ef42787b8e0c900bce1f2391ced081ed1ba4",
      "parents": [
        "9e74e7c81a24aee66024fc477786bd1de84e293b",
        "a32f3926632e71c8aa23ce32fe2625f8d5f792c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:39:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:39:11 2010 -0700"
      },
      "message": "Merge branch \u0027slabh\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc\n\n* \u0027slabh\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc:\n  eeepc-wmi: include slab.h\n  staging/otus: include slab.h from usbdrv.h\n  percpu: don\u0027t implicitly include slab.h from percpu.h\n  kmemcheck: Fix build errors due to missing slab.h\n  include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n  iwlwifi: don\u0027t include iwl-dev.h from iwl-devtrace.h\n  x86: don\u0027t include slab.h from arch/x86/include/asm/pgtable_32.h\n\nFix up trivial conflicts in include/linux/percpu.h due to\nis_kernel_percpu_address() having been introduced since the slab.h\ncleanup with the percpu_up.c splitup.\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "10fad5e46f6c7bdfb01b1a012380a38e3c6ab346",
      "tree": "9ec6e3955e7f879f64ea79812cf5ecd41baa6939",
      "parents": [
        "259354deaaf03d49a02dbb9975d6ec2a54675672"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 10 18:57:54 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Mar 29 23:07:12 2010 +0900"
      },
      "message": "percpu, module: implement and use is_kernel/module_percpu_address()\n\nlockdep has custom code to check whether a pointer belongs to static\npercpu area which is somewhat broken.  Implement proper\nis_kernel/module_percpu_address() and replace the custom code.\n\nOn UP, percpu variables are regular static variables and can\u0027t be\ndistinguished from them.  Always return %false on UP.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "f82c37e7bb4c4d9b6a476c642d5c2d2efbd6f240",
      "tree": "09fc553c2fb6f527962048d139159dc139e04afc",
      "parents": [
        "c6b9e73f2fee8bb86058f296de808b326473456b",
        "dcd5c1662db59a6b82942f47fb6ac9dd63f6d3dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:52:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:52:46 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (35 commits)\n  perf: Fix unexported generic perf_arch_fetch_caller_regs\n  perf record: Don\u0027t try to find buildids in a zero sized file\n  perf: export perf_trace_regs and perf_arch_fetch_caller_regs\n  perf, x86: Fix hw_perf_enable() event assignment\n  perf, ppc: Fix compile error due to new cpu notifiers\n  perf: Make the install relative to DESTDIR if specified\n  kprobes: Calculate the index correctly when freeing the out-of-line execution slot\n  perf tools: Fix sparse CPU numbering related bugs\n  perf_event: Fix oops triggered by cpu offline/online\n  perf: Drop the obsolete profile naming for trace events\n  perf: Take a hot regs snapshot for trace events\n  perf: Introduce new perf_fetch_caller_regs() for hot regs snapshot\n  perf/x86-64: Use frame pointer to walk on irq and process stacks\n  lockdep: Move lock events under lockdep recursion protection\n  perf report: Print the map table just after samples for which no map was found\n  perf report: Add multiple event support\n  perf session: Change perf_session post processing functions to take histogram tree\n  perf session: Add storage for seperating event types in report\n  perf session: Change add_hist_entry to take the tree root instead of session\n  perf record: Add ID and to recorded event data when recording multiple events\n  ...\n"
    },
    {
      "commit": "db2c4c7791cd04512093d05afc693c3511a65fd7",
      "tree": "11ad51f5ec2010e32edde2dea5696f90822435f4",
      "parents": [
        "65f2ed2b2fa6034ef9890b60c8fd39fbe76b9d37"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 02 23:34:40 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 10 14:26:07 2010 +0100"
      },
      "message": "lockdep: Move lock events under lockdep recursion protection\n\nThere are rcu locked read side areas in the path where we submit\na trace event. And these rcu_read_(un)lock() trigger lock events,\nwhich create recursive events.\n\nOne pair in do_perf_sw_event:\n\n__lock_acquire\n      |\n      |--96.11%-- lock_acquire\n      |          |\n      |          |--27.21%-- do_perf_sw_event\n      |          |          perf_tp_event\n      |          |          |\n      |          |          |--49.62%-- ftrace_profile_lock_release\n      |          |          |          lock_release\n      |          |          |          |\n      |          |          |          |--33.85%-- _raw_spin_unlock\n\nAnother pair in perf_output_begin/end:\n\n__lock_acquire\n      |--23.40%-- perf_output_begin\n      |          |          __perf_event_overflow\n      |          |          perf_swevent_overflow\n      |          |          perf_swevent_add\n      |          |          perf_swevent_ctx_event\n      |          |          do_perf_sw_event\n      |          |          perf_tp_event\n      |          |          |\n      |          |          |--55.37%-- ftrace_profile_lock_acquire\n      |          |          |          lock_acquire\n      |          |          |          |\n      |          |          |          |--37.31%-- _raw_spin_lock\n\nThe problem is not that much the trace recursion itself, as we have a\nrecursion protection already (though it\u0027s always wasteful to recurse).\nBut the trace events are outside the lockdep recursion protection, then\neach lockdep event triggers a lock trace, which will trigger two\nother lockdep events. Here the recursive lock trace event won\u0027t\nbe taken because of the trace recursion, so the recursion stops there\nbut lockdep will still analyse these new events:\n\nTo sum up, for each lockdep events we have:\n\n\tlock_*()\n\t     |\n             trace lock_acquire\n                  |\n                  ----- rcu_read_lock()\n                  |          |\n                  |          lock_acquire()\n                  |          |\n                  |          trace_lock_acquire() (stopped)\n                  |          |\n\t\t  |          lockdep analyze\n                  |\n                  ----- rcu_read_unlock()\n                             |\n                             lock_release\n                             |\n                             trace_lock_release() (stopped)\n                             |\n                             lockdep analyze\n\nAnd you can repeat the above two times as we have two rcu read side\nsections when we submit an event.\n\nThis is fixed in this patch by moving the lock trace event under\nthe lockdep recursion protection.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cc5b83a9f884fe8722a275069a5a6fde39988455",
      "tree": "6eec1c17d57a74e98d8b99a568c0c8c2a07a21de",
      "parents": [
        "5ed42b8113667c06a6ff2c72717395b5044d30a1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Mar 03 07:46:59 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 04 12:07:32 2010 +0100"
      },
      "message": "rcu: Add control variables to lockdep_rcu_dereference() diagnostics\n\nAdd the values of rcu_scheduler_active() and debug_locks() to\nthe lockdep_rcu_dereference() output to help diagnose RCU\nlockdep splats that occur shortly after the scheduler starts.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1267631219-8713-4-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "056ba4a9bea5f32781a36b797c562fb731e5eaa6",
      "tree": "1e28f4aed66666c7d20bc0112c1237fee980924a",
      "parents": [
        "c50cc75271759373bd89a036eec4d4269b291616"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Feb 25 14:06:46 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 08:20:46 2010 +0100"
      },
      "message": "rcu: Make lockdep_rcu_dereference() message less alarmist\n\nChange from \"unsafe\" to \"suspicious\", given that there will be\nfalse alarms.\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1267135607-7056-1-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0632eb3d7563d6a76d49a3860b6352d800c92854",
      "tree": "d998e6d4292a21a91ba1333ffdb1866daf1cfee2",
      "parents": [
        "c26d34a5858f96a564c45048bf5f09319d2abad1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:47 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 09:41:01 2010 +0100"
      },
      "message": "rcu: Integrate rcu_dereference_check() message into lockdep\n\nMake rcu_dereference_check() print the list of held locks in\naddition to the stack dump to ease debugging.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-3-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48d50674179981e41f432167b2441cec782d5484",
      "tree": "218bc15a2152a10d4b6e7bd412133121777cc182",
      "parents": [
        "b04da8bfdfbbd79544cab2fadfdc12e87eb01600"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 26 19:16:41 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 27 08:34:02 2010 +0100"
      },
      "message": "lockdep: Fix check_usage_backwards() error message\n\nLockdep has found the real bug, but the output doesn\u0027t look right to me:\n\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e [ INFO: possible irq lock inversion dependency detected ]\n\u003e 2.6.33-rc5 #77\n\u003e ---------------------------------------------------------\n\u003e emacs/1609 just changed the state of lock:\n\u003e  (\u0026(\u0026tty-\u003ectrl_lock)-\u003erlock){+.....}, at: [\u003cffffffff8127c648\u003e] tty_fasync+0xe8/0x190\n\u003e but this lock took another, HARDIRQ-unsafe lock in the past:\n\u003e  (\u0026(\u0026sighand-\u003esiglock)-\u003erlock){-.....}\n\n\"HARDIRQ-unsafe\" and \"this lock took another\" looks wrong, afaics.\n\n\u003e   ... key      at: [\u003cffffffff81c054a4\u003e] __key.46539+0x0/0x8\n\u003e   ... acquired at:\n\u003e    [\u003cffffffff81089af6\u003e] __lock_acquire+0x1056/0x15a0\n\u003e    [\u003cffffffff8108a0df\u003e] lock_acquire+0x9f/0x120\n\u003e    [\u003cffffffff81423012\u003e] _raw_spin_lock_irqsave+0x52/0x90\n\u003e    [\u003cffffffff8127c1be\u003e] __proc_set_tty+0x3e/0x150\n\u003e    [\u003cffffffff8127e01d\u003e] tty_open+0x51d/0x5e0\n\nThe stack-trace shows that this lock (ctrl_lock) was taken under\n-\u003esiglock (which is hopefully irq-safe).\n\nThis is a clear typo in check_usage_backwards() where we tell the print a\nfancy routine we\u0027re forwards.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100126181641.GA10460@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62",
      "tree": "e371d17bd73d64332349debbf45962ec67e7269d",
      "parents": [
        "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 20:01:25 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert __raw_spin* functions to arch_spin*\n\nName space cleanup. No functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26",
      "tree": "a4fac9d24d243d3296fc36a2371db2a56d363e1a",
      "parents": [
        "445c89514be242b1b0080056d50bdc1b72adeb5c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 12:38:57 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Rename __RAW_SPIN_LOCK_UNLOCKED to __ARCH_SPIN_LOCK_UNLOCKED\n\nFurther name space cleanup. No functional change\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "445c89514be242b1b0080056d50bdc1b72adeb5c",
      "tree": "96ed062794ad0fb6a649713c83f009eea382e8b2",
      "parents": [
        "6b6b4792f89346e47437682c7ba3438e6681c0f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 19:49:50 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_spinlock to arch_spinlock\n\nThe raw_spin* namespace was taken by lockdep for the architecture\nspecific implementations. raw_spin_* would be the ideal name space for\nthe spinlocks which are not converted to sleeping locks in preempt-rt.\n\nLinus suggested to convert the raw_ to arch_ locks and cleanup the\nname space instead of using an artifical name like core_spin,\natomic_spin or whatever\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "ea5b41f9d595be354f7a50e56b28c2d72e6e88a5",
      "tree": "cfb23bea9059df20c1c64da92f3619dc0a1038ec",
      "parents": [
        "722d0172377a5697919b9f7e5beb95165b1dec4e"
      ],
      "author": {
        "name": "Luck, Tony",
        "email": "tony.luck@intel.com",
        "time": "Wed Dec 09 14:29:36 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 08:29:33 2009 +0100"
      },
      "message": "lockdep: Avoid out of bounds array reference in save_trace()\n\nia64 found this the hard way (because we currently have a stub\nfor save_stack_trace() that does nothing). But it would be a\ngood idea to  be cautious in case a real save_stack_trace()\nbailed out with an error before it set trace-\u003enr_entries.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: luming.yu@intel.com\nLKML-Reference: \u003c4b2024d085302c2a2@agluck-desktop.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "109d71c6dd52ec08878c2c67eb4c0bd67fcbc80b",
      "tree": "0e531ab9d3327bbc939a13e8e2991150ada9e469",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d"
      ],
      "author": {
        "name": "Frank Rowand",
        "email": "frank.rowand@am.sony.com",
        "time": "Thu Nov 19 13:42:06 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 06 13:20:00 2009 +0100"
      },
      "message": "lockstat: Fix min, max times in /proc/lock_stats\n\nFix min, max times in /proc/lock_stats\n\n(1) When collecting lock hold and wait times, if the current minimum\n    time is zero, it will be replaced by the next time.\n\n(2) When aggregating minimum and maximum lock hold and wait times\n    accross cpus, the values are added, instead of selecting the\n    minimum and maximum.\n\nSigned-off-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4B05BBAE.2050005@am.sony.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67178767b936fb47a3a5e88097cff41ccbda7acb",
      "tree": "f55675817e8d934bd2a627a729a010a58bbba464",
      "parents": [
        "db48cccc7c709ccfa7cb4ac702bc27c216bffee7"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Nov 13 10:06:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 13 10:48:27 2009 +0100"
      },
      "message": "tracing: Rename \u0027lockdep\u0027 event subsystem into \u0027lock\u0027\n\nLockdep events subsystem gathers various locking related events\nsuch as a request, release, contention or acquisition of a lock.\n\nThe name of this event subsystem is a bit of a misnomer since\nthese events are not quite related to lockdep but more generally\nto locking, ie: these events are not reporting lock dependencies\nor possible deadlock scenario but pure locking events.\n\nHence this rename.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1258103194-843-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1871e52c76dd95895caeb772f845a1718dcbcd75",
      "tree": "49e8148326f65353e673204f427bd4545eb26c16",
      "parents": [
        "0f5e4816dbf38ce9488e611ca2296925c1e90d5e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "message": "percpu: make percpu symbols under kernel/ and mm/ unique\n\nThis patch updates percpu related symbols under kernel/ and mm/ such\nthat percpu symbols are unique and don\u0027t clash with local symbols.\nThis serves two purposes of decreasing the possibility of global\npercpu symbol collision and allowing dropping per_cpu__ prefix from\npercpu symbols.\n\n* kernel/lockdep.c: s/lock_stats/cpu_lock_stats/\n\n* kernel/sched.c: s/init_rq_rt/init_rt_rq_var/\t(any better idea?)\n  \t\t  s/sched_group_cpus/sched_groups/\n\n* kernel/softirq.c: s/ksoftirqd/run_ksoftirqd/a\n\n* kernel/softlockup.c: s/(*)_timestamp/softlockup_\\1_ts/\n  \t\t       s/watchdog_task/softlockup_watchdog/\n\t\t       s/timestamp/ts/ for local variables\n\n* kernel/time/timer_stats: s/lookup_lock/tstats_lookup_lock/\n\n* mm/slab.c: s/reap_work/slab_reap_work/\n  \t     s/reap_node/slab_reap_node/\n\n* mm/vmstat.c: local variable changed to avoid collision with vmstat_work\n\nPartly based on Rusty Russell\u0027s \"alloc_percpu: rename percpu vars\nwhich cause name clashes\" patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: (slab/vmstat) Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "3365e7798760dc6c190a9bbb0945a38f02625438",
      "tree": "c3c1b49dcf4c2fcbddf1af27c281c9a7a55219ad",
      "parents": [
        "36a07902c2134649c4af7f07980413ffb1a56085"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 09 10:12:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 09 15:56:44 2009 +0200"
      },
      "message": "lockdep: Use cpu_clock() for lockstat\n\nSome tracepoint magic (TRACE_EVENT(lock_acquired)) relies on\nthe fact that lock hold times are positive and uses div64 on\nthat. That triggered a build warning on MIPS, and probably\ncauses bad output in certain circumstances as well.\n\nMake it truly positive.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1254818502.21044.112.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2a9ad18deb2870a9968f50351a0d4b8cc2a04099",
      "tree": "e56747b3dc8dd825515d61524c91129f92aed134",
      "parents": [
        "128e8db38e30c1786498dfc011d0f9dd7f9f9266"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Sep 22 16:44:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:30 2009 -0700"
      },
      "message": "lockdep: use new arch_is_kernel_data()\n\nThis allows lockdep to locate symbols that are in arch-specific data\nsections (such as data in Blackfin on-chip SRAM regions).\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a417887637e862b434b293404f2a31ad1f282a58",
      "tree": "55c71d0a1404b4ab93a38fc51a3ab6f5afe5b860",
      "parents": [
        "96004bb2a1e4ccad2b1eeb92e51031d1e8e609e3"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sat Aug 29 18:47:59 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 29 13:22:36 2009 +0200"
      },
      "message": "lockdep: Remove recursion stattistics\n\nSince lockdep has introduced BFS to avoid recursion, statistics\nfor recursion does not make any sense now. So remove them.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: a.p.zijlstra@chello.nl\nLKML-Reference: \u003c1251542879-5211-1-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90629209a020859b67423a6326f3765f220c7f5c",
      "tree": "64f3bcbc0c73e709a95fa1192fb6c877b3525855",
      "parents": [
        "e351b660fddd4df76cc4635f896d311ed0ff3752"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sun Aug 02 21:43:36 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 15:45:28 2009 +0200"
      },
      "message": "lockdep: Fix memory usage info of BFS\n\nThe unit is KB, so sizeof(struct circular_queue) should be\ndivided by 1024.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: akpm@linux-foundation.org\nCc: torvalds@linux-foundation.org\nCc: davem@davemloft.net\nCc: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: a.p.zijlstra@chello.nl\nLKML-Reference: \u003c1249220616-7190-1-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e351b660fddd4df76cc4635f896d311ed0ff3752",
      "tree": "380a67c875a4454bd47a8ce6ddd159432863646e",
      "parents": [
        "bb97a91e2549a7f2df9c21d32542582f549ab3ec"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Wed Jul 22 22:48:09 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 15:41:37 2009 +0200"
      },
      "message": "lockdep: Reintroduce generation count to make BFS faster\n\nWe still can apply DaveM\u0027s generation count optimization to\nBFS, based on the following idea:\n\n - before doing each BFS, increase the global generation id\n   by 1\n\n - if one node in the graph has been visited, mark it as\n   visited by storing the current global generation id into\n   the node\u0027s dep_gen_id field\n\n - so we can decide if one node has been visited already, by\n   comparing the node\u0027s dep_gen_id with the global generation id.\n\nBy applying DaveM\u0027s generation count optimization to current\nimplementation of BFS, we gain the following advantages:\n\n - we save MAX_LOCKDEP_ENTRIES/8 bytes memory;\n\n - we remove the bitmap_zero(bfs_accessed, MAX_LOCKDEP_ENTRIES);\n   in each BFS, which is very time-consuming since\n   MAX_LOCKDEP_ENTRIES may be very large.(16384UL)\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c1248274089-6358-1-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb97a91e2549a7f2df9c21d32542582f549ab3ec",
      "tree": "fdddcb458b74a39e97089e5bcc93234cb50704c6",
      "parents": [
        "f607c6685774811b8112e124f10a053d77015485"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jul 20 19:15:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 15:41:35 2009 +0200"
      },
      "message": "lockdep: Deal with many similar locks\n\nspin_lock_nest_lock() allows to take many instances of the same\nclass, this can easily lead to overflow of MAX_LOCK_DEPTH.\n\nTo avoid this overflow, we\u0027ll stop accounting instances but\nstart reference counting the class in the held_lock structure.\n\n[ We could maintain a list of instances, if we\u0027d move the hlock\n  stuff into __lock_acquired(), but that would require\n  significant modifications to the current code. ]\n\nWe restrict this mode to spin_lock_nest_lock() only, because it\ndegrades the lockdep quality due to lost of instance.\n\nFor lockstat this means we don\u0027t track lock statistics for any\nbut the first lock in the series.\n\nCurrently nesting is limited to 11 bits because that was the\nspare space available in held_lock. This yields a 2048\ninstances maximium.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f607c6685774811b8112e124f10a053d77015485",
      "tree": "4d32d967c8f8fb37ae09319735062a131a91725b",
      "parents": [
        "98c33eddaf41d225d99b40f9eedbd0fac4c08c05"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jul 20 19:16:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 15:41:34 2009 +0200"
      },
      "message": "lockdep: Introduce lockdep_assert_held()\n\nAdd a lockdep helper to validate that we indeed are the owner\nof a lock.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98c33eddaf41d225d99b40f9eedbd0fac4c08c05",
      "tree": "554181729c032b801d567b8559d68ab66c23ebf3",
      "parents": [
        "4f84f4330a11b9eb828bf5af557f4c79c64614a3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 21 13:19:07 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 15:41:32 2009 +0200"
      },
      "message": "lockdep: Fix style nits\n\nfixes a few comments and whitespaces that annoyed me.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f84f4330a11b9eb828bf5af557f4c79c64614a3",
      "tree": "2ff001464083190f67f61fe3766ee2a6eeb8c349",
      "parents": [
        "bbfa26229a8143889e95e0df4a9d69067ee836cd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jul 20 15:27:04 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 15:41:31 2009 +0200"
      },
      "message": "lockdep: Fix backtraces\n\nTruncate stupid -1 entries in backtraces.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1248096665.15751.8816.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af012961450949ea297b209e091bd1a3805b8a0a",
      "tree": "d092a182ad014b4508079bacf416deb1e0650c01",
      "parents": [
        "12f3dfd022d7e616757a94f0538d3d525d806a16"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:53:29 2009 +0200"
      },
      "message": "lockdep: BFS cleanup\n\nSome cleanups of the lockdep code after the BFS series:\n\n - Remove the last traces of the generation id\n - Fixup comment style\n - Move the bfs routines into lockdep.c\n - Cleanup the bfs routines\n\n[ tom.leiming@gmail.com: Fix crash ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-11-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "12f3dfd022d7e616757a94f0538d3d525d806a16",
      "tree": "22221bcfa6edcc47094bd87862eb9cc5402a5799",
      "parents": [
        "4dd861d6467007681991d8ec079d928db2018cbb"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:52:03 2009 +0200"
      },
      "message": "lockdep: Add statistics info for max bfs queue depth\n\nAdd BFS statistics to the existing lockdep stats.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-10-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dd861d6467007681991d8ec079d928db2018cbb",
      "tree": "f02f8d4ea7779c159d4cbdf67da76ab31f14ba6e",
      "parents": [
        "ef681026ff85c49b7399ceec3eb62bbbcce605e8"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:51:52 2009 +0200"
      },
      "message": "lockdep: Update memory usage introduced by BFS\n\nAlso account the BFS memory usage.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\n[ fix build for !PROVE_LOCKING ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-9-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef681026ff85c49b7399ceec3eb62bbbcce605e8",
      "tree": "38093d7b18ad236e98d59118c730784b67f3467a",
      "parents": [
        "24208ca76707581a097c01a73fd63781e73d3404"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:49:56 2009 +0200"
      },
      "message": "lockdep: Implement lockdep_count_*ward_deps by BFS\n\nImplement lockdep_count_{for,back}ward using BFS.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-8-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24208ca76707581a097c01a73fd63781e73d3404",
      "tree": "46d2e44f11dd0b3dda782d6e4467c700f6d03149",
      "parents": [
        "d7aaba140a09b7a2295aec061629c880f088de3d"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:49:54 2009 +0200"
      },
      "message": "lockdep: Introduce print_shortest_lock_dependencies\n\nSince the shortest lock dependencies\u0027 path may be obtained by BFS,\nwe print the shortest one by print_shortest_lock_dependencies().\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-7-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7aaba140a09b7a2295aec061629c880f088de3d",
      "tree": "2ea4cac57c25b52049bd5da6b85ef2667d6563b9",
      "parents": [
        "db0002a32f31060ca900b533d93a074ddf7d5b61"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:49:52 2009 +0200"
      },
      "message": "lockdep: Implement find_usage_*wards by BFS\n\nThis patch uses BFS to implement find_usage_*wards(),which\nwas originally writen by DFS.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-6-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db0002a32f31060ca900b533d93a074ddf7d5b61",
      "tree": "fb33cb30c852e6dc22ed66fd82d2daa1d5b5206e",
      "parents": [
        "9e2d551ea0d767c0d624965f0c273e942f4be536"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:49:50 2009 +0200"
      },
      "message": "lockdep: Implement check_noncircular() by BFS\n\nThis patch uses BFS to implement check_noncircular() and\nprints the generated shortest circle if exists.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-5-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e2d551ea0d767c0d624965f0c273e942f4be536",
      "tree": "0568e3002063bb174cbfc6f18ec0b5d562b0f77a",
      "parents": [
        "d588e46155e9c51217b9840db1e94a0f594c1af2"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:49:48 2009 +0200"
      },
      "message": "lockdep: Introduce match function to BFS\n\n1,introduce match() to BFS in order to make it usable to\nmatch different pattern;\n\n2,also rename some functions to make them more suitable.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-4-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d588e46155e9c51217b9840db1e94a0f594c1af2",
      "tree": "0ede7d7d8338f8db15d8c690c46a0173196d7bac",
      "parents": [
        "c94aa5ca3088018d2a7a9bd3258aefffe29df265"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:49:46 2009 +0200"
      },
      "message": "lockdep: Improve implementation of BFS\n\n1,replace %MAX_CIRCULAR_QUE_SIZE with \u0026(MAX_CIRCULAR_QUE_SIZE-1)\nsince we define MAX_CIRCULAR_QUE_SIZE as power of 2;\n\n2,use bitmap to mark if a lock is accessed in BFS in order to\nclear it quickly, because we may search a graph many times.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-3-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c94aa5ca3088018d2a7a9bd3258aefffe29df265",
      "tree": "29c81673e37315087ee3087180fae043085e6343",
      "parents": [
        "4be3bd7849165e7efa6b0b35a23d6a3598d97465"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 10:49:44 2009 +0200"
      },
      "message": "lockdep: Print the shortest dependency chain if finding a circle\n\nCurrently lockdep will print the 1st circle detected if it\nexists when acquiring a new (next) lock.\n\nThis patch prints the shortest path from the next lock to be\nacquired to the previous held lock if a circle is found.\n\nThe patch still uses the current method to check circle, and\nonce the circle is found, breadth-first search algorithem is\nused to compute the shortest path from the next lock to the\nprevious lock in the forward lock dependency graph.\n\nPrinting the shortest path will shorten the dependency chain,\nand make troubleshooting for possible circular locking easier.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1246201486-7308-2-git-send-email-tom.leiming@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44347d947f628060b92449702071bfe1d31dfb75",
      "tree": "c6ed74610d5b3295df4296659f80f5feb94b28cc",
      "parents": [
        "d94fc523f3c35bd8013f04827e94756cbc0212f4",
        "413f81eba35d6ede9289b0c8a920c013a84fac71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 11:17:13 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 11:17:34 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nMerge reason: tracing/core was on a .30-rc1 base and was missing out on\n              on a handful of tracing fixes present in .30-rc5-almost.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c8a250058656495be02c00de61e26b017c86ef00",
      "tree": "d192a7a21deb47146654ab4dc3c824f0cfd5808a",
      "parents": [
        "79d381c9f2354b594dcab9b04dfcc0debf7294fe"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Apr 17 09:40:49 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 18:00:00 2009 +0200"
      },
      "message": "lockdep: more robust lockdep_map init sequence\n\nSteven Rostedt reported:\n\n\u003e OK, I think I figured this bug out. This is a lockdep issue with respect\n\u003e to tracepoints.\n\u003e\n\u003e The trace points in lockdep are called all the time. Outside the lockdep\n\u003e logic. But if lockdep were to trigger an error / warning (which this run\n\u003e did) we might be in trouble. For new locks, like the dentry-\u003ed_lock, that\n\u003e are created, they will not get a name:\n\u003e\n\u003e void lockdep_init_map(struct lockdep_map *lock, const char *name,\n\u003e                       struct lock_class_key *key, int subclass)\n\u003e {\n\u003e         if (unlikely(!debug_locks))\n\u003e                 return;\n\u003e\n\u003e When a problem is found by lockdep, debug_locks becomes false. Thus we\n\u003e stop allocating names for locks. This dentry-\u003ed_lock I had, now has no\n\u003e name. Worse yet, I have CONFIG_DEBUG_VM set, that scrambles non\n\u003e initialized memory. Thus, when the trace point was hit, it had junk for\n\u003e the lock-\u003ename, and the machine crashed.\n\nAh, nice catch. I think we should put at least the name in regardless.\n\nEnsure we at least initialize the trivial entries of the depmap so that\nthey can be relied upon, even when lockdep itself decided to pack up and\ngo home.\n\n[ Impact: fix lock tracing after lockdep warnings. ]\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1239954049.23397.4156.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad8d75fff811a6a230f7f43b05a6483099349533",
      "tree": "764f75c0785b29067b141719b6e8000f005da7fd",
      "parents": [
        "ecda8ae02a08ef065ff387f5cb2a2d4999da2408"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 14 19:39:12 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 22:05:43 2009 -0400"
      },
      "message": "tracing/events: move trace point headers into include/trace/events\n\nImpact: clean up\n\nCreate a sub directory in include/trace called events to keep the\ntrace point headers in their own separate directory. Only headers that\ndeclare trace points should be defined in this directory.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a8d154b009168337494fbf345671bab74d3e4b8b",
      "tree": "4097612e1a5cc8bf7658542f7d0f51b815113eaf",
      "parents": [
        "ea20d9293ce423a39717ed4375393129a2e701f9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 10 09:36:00 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Apr 14 12:57:28 2009 -0400"
      },
      "message": "tracing: create automated trace defines\n\nThis patch lowers the number of places a developer must modify to add\nnew tracepoints. The current method to add a new tracepoint\ninto an existing system is to write the trace point macro in the\ntrace header with one of the macros TRACE_EVENT, TRACE_FORMAT or\nDECLARE_TRACE, then they must add the same named item into the C file\nwith the macro DEFINE_TRACE(name) and then add the trace point.\n\nThis change cuts out the needing to add the DEFINE_TRACE(name).\nEvery file that uses the tracepoint must still include the trace/\u003ctype\u003e.h\nfile, but the one C file must also add a define before the including\nof that file.\n\n #define CREATE_TRACE_POINTS\n #include \u003ctrace/mytrace.h\u003e\n\nThis will cause the trace/mytrace.h file to also produce the C code\nnecessary to implement the trace point.\n\nNote, if more than one trace/\u003ctype\u003e.h is used to create the C code\nit is best to list them all together.\n\n #define CREATE_TRACE_POINTS\n #include \u003ctrace/foo.h\u003e\n #include \u003ctrace/bar.h\u003e\n #include \u003ctrace/fido.h\u003e\n\nThanks to Mathieu Desnoyers and Christoph Hellwig for coming up with\nthe cleaner solution of the define above the includes over my first\ndesign to have the C code include a \"special\" header.\n\nThis patch converts sched, irq and lockdep and skb to use this new\nmethod.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2062501ae6505dbc5bff3a792246c2661d114050",
      "tree": "59792987c9e9fd1ae657c2e4a5cdb14545523e24",
      "parents": [
        "1cad1252ed279ea59f3f8d3d3a5817eeb2f7a4d3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 06 01:49:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 10 12:50:56 2009 +0200"
      },
      "message": "tracing/lockdep: report the time waited for a lock\n\nWhile trying to optimize the new lock on reiserfs to replace\nthe bkl, I find the lock tracing very useful though it lacks\nsomething important for performance (and latency) instrumentation:\nthe time a task waits for a lock.\n\nThat\u0027s what this patch implements:\n\n  bash-4816  [000]   202.652815: lock_contended: lock_contended: \u0026sb-\u003es_type-\u003ei_mutex_key\n  bash-4816  [000]   202.652819: lock_acquired: \u0026rq-\u003elock (0.000 us)\n \u003c...\u003e-4787  [000]   202.652825: lock_acquired: \u0026rq-\u003elock (0.000 us)\n \u003c...\u003e-4787  [000]   202.652829: lock_acquired: \u0026rq-\u003elock (0.000 us)\n  bash-4816  [000]   202.652833: lock_acquired: \u0026sb-\u003es_type-\u003ei_mutex_key (16.005 us)\n\nAs shown above, the \"lock acquired\" field is followed by the time\nit has been waiting for the lock. Usually, a lock contended entry\nis followed by a near lock_acquired entry with a non-zero time waited.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1238975373-15739-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "609862be074cc20e007c640fd936ffe798b41abc",
      "tree": "2ebcacf036fce1b075fe267f608b6abe3f196c67",
      "parents": [
        "12fe32e4f942ac5c71a4ab70b039fee65c0dc29d",
        "eedeeabdeeadb016b8c783e3620d06b98d0cb4e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:37:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:37:30 2009 -0700"
      },
      "message": "Merge branch \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: add stack dumps to asserts\n  hrtimer: fix rq-\u003elock inversion (again)\n"
    },
    {
      "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": "eedeeabdeeadb016b8c783e3620d06b98d0cb4e1",
      "tree": "f7353981f73c1db6a65ec403e04c4ddb4be48fc9",
      "parents": [
        "7f1e2ca9f04b02794597f60e7b1d43f0a1317939"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 18 12:38:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 14:53:01 2009 +0200"
      },
      "message": "lockdep: add stack dumps to asserts\n\nHave a better idea about exactly which loc causes a lockdep\nlimit overflow. Often it\u0027s a bug or inefficiency in that\nsubsystem.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1237376327.5069.253.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7bee946358c3cb957d4aa648fc5ab3cad0b232d0",
      "tree": "693061ebde2abc35ecc846e5084630d7225aaaff",
      "parents": [
        "d820ac4c2fa881079e6b689d2098adce337558ae",
        "15f7176eb1cccec0a332541285ee752b935c1c85"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 13:53:43 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 13:53:43 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into locking-for-linus\n\nConflicts:\n\tlib/Kconfig.debug\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"
    }
  ],
  "next": "82a1fcb90287052aabfa235e7ffc693ea003fe69"
}
