)]}'
{
  "log": [
    {
      "commit": "9828ea9d75c38fe3dce05d00566eed61c85732e6",
      "tree": "6cee5c8ffb07cdf45cc12d58f74a3053ffefcb5f",
      "parents": [
        "5f6384c5fb6bfc9aac506e058974d3ba293951b3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 20:55:53 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "locking: Further name space cleanups\n\nThe name space hierarchy for the internal lock functions is now a bit\nbackwards. raw_spin* functions map to _spin* which use __spin*, while\nwe would like to have _raw_spin* and __raw_spin*.\n\n_raw_spin* is already used by lock debugging, so rename those funtions\nto do_raw_spin* to free up the _raw_spin* name space.\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2f21ce2e31286a0a32f8da0a7856e9ca1122ef3",
      "tree": "6cc8d1fd37ffa6d02481353857b92734241f4dd0",
      "parents": [
        "e5931943d02bf751b1ec849c0d2ade23d76a8d41"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 20:02:59 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Implement new raw_spinlock\n\nNow that the raw_spin name space is freed up, we can implement\nraw_spinlock and the related functions which are used to annotate the\nlocks which are not converted to sleeping spinlocks in preempt-rt.\n\nA side effect is that only such locks can be used with the low level\nlock fsunctions which circumvent lockdep.\n\nFor !rt spin_* functions are mapped to the raw_spin* implementations.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n"
    },
    {
      "commit": "e5931943d02bf751b1ec849c0d2ade23d76a8d41",
      "tree": "119fe3bc583d0d043d97cb9edd98bad52692a546",
      "parents": [
        "fb3a6bbc912b12347614e5742c7c61416cdb0ca0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 20:08:46 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_rwlock functions to arch_rwlock\n\nName space cleanup for rwlock functions. 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": "fb3a6bbc912b12347614e5742c7c61416cdb0ca0",
      "tree": "f9dbf8dab23cea6f033a58672ba16abf2ae09ebd",
      "parents": [
        "0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 20:01:19 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_rwlock to arch_rwlock\n\nNot strictly necessary for -rt as -rt does not have non sleeping\nrwlocks, but it\u0027s odd to not have a consistent naming convention.\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": "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": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb81a09e55eaf7e5f798468ab971469b6f66a259",
      "tree": "cf1ed6b0ad75137361228955535044fd4630a57b",
      "parents": [
        "e5e3a0428968dcc1f9318ce1c941a918e99f8b84"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Dec 07 02:14:01 2006 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Dec 07 02:14:01 2006 +0100"
      },
      "message": "[PATCH] x86: all cpu backtrace\n\nWhen a spinlock lockup occurs, arrange for the NMI code to emit an all-cpu\nbacktrace, so we get to see which CPU is holding the lock, and where.\n\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "4dfbb9d8c6cbfc32faa5c71145bd2a43e1f8237c",
      "tree": "a4fefea0d5f5930240f4ecd6f9716a029cc927a9",
      "parents": [
        "86255d9d0bede79140f4912482447963f00818c0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Oct 11 01:45:14 2006 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dtor@insightbb.com",
        "time": "Wed Oct 11 01:45:14 2006 -0400"
      },
      "message": "Lockdep: add lockdep_set_class_and_subclass() and lockdep_set_subclass()\n\nThis annotation makes it possible to assign a subclass on lock init. This\nannotation is meant to reduce the _nested() annotations by assigning a\ndefault subclass.\n\nOne could do without this annotation and rely on lockdep_set_class()\nexclusively, but that would require a manual stack of struct lock_class_key\nobjects.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "c22f008ba226e2ff25ee1a56abd9c5fd355828fc",
      "tree": "ffa01da1cf0dec73de897889a1aa5f354f521df1",
      "parents": [
        "92a0f861fe1790dad55ea249169d94f2dc88d696"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Fri Sep 29 01:59:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:06 2006 -0700"
      },
      "message": "[PATCH] spinlock_debug: don\u0027t recompute (jiffies_per_loop * HZ) in spinloop\n\nIn spinlock_debug.c, the spinloops call __delay() on every iteration.\nBecause that is an external function, (jiffies_per_loop * HZ), the loop\u0027s\niteration limit, gets recomputed every time.  Caching it explicitly\nprevents that.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72f0b4e2133ba1d65147d06016c0b6d2202235ca",
      "tree": "5e03d0c34379db77f50238c546f5417139ac9671",
      "parents": [
        "927cbe8a3e9ebc466f76af5a5278a520dc2d5699"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Aug 05 12:13:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:46 2006 -0700"
      },
      "message": "[PATCH] disable debugging version of write_lock()\n\nWe\u0027ve confirmed that the debug version of write_lock() can get stuck for long\nenough to cause NMI watchdog timeouts and hence a crash.\n\nWe don\u0027t know why, yet.   Disable it for now.\n\nAlso disable the similar read_lock() code.  Just in case.\n\nThanks to Dave Olson \u003colson@unixfolk.com\u003e for reporting and testing.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a25d5debff2daee280e83e09d8c25d67c26a972",
      "tree": "3bccfef9acb66fc62863bfd6c16493c5e8c8e394",
      "parents": [
        "4ea2176dfa714882e88180b474e4cbcd888b70af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: prove spinlock rwlock locking correctness\n\nUse the lock validator framework to prove spinlock and rwlock locking\ncorrectness.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a11b49a805665e13a56aa067afaf81d43ec1514",
      "tree": "bf499956e3f67d1211d68ab1e2eb76645f453dfb",
      "parents": [
        "fb7e42413a098cc45b3adf858da290033af62bae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:01 2006 -0700"
      },
      "message": "[PATCH] lockdep: better lock debugging\n\nGeneric lock debugging:\n\n - generalized lock debugging framework. For example, a bug in one lock\n   subsystem turns off debugging in all lock subsystems.\n\n - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from\n   the mutex/rtmutex debugging code: it caused way too much prototype\n   hackery, and lockdep will give the same information anyway.\n\n - ability to do silent tests\n\n - check lock freeing in vfree too.\n\n - more finegrained debugging options, to allow distributions to\n   turn off more expensive debugging features.\n\nThere\u0027s no separate \u0027held mutexes\u0027 list anymore - but there\u0027s a \u0027held locks\u0027\nstack within lockdep, which unifies deadlock detection across all lock\nclasses.  (this is independent of the lockdep validation stuff - lockdep first\nchecks whether we are holding a lock already)\n\nHere are the current debugging options:\n\nCONFIG_DEBUG_MUTEXES\u003dy\nCONFIG_DEBUG_LOCK_ALLOC\u003dy\n\nwhich do:\n\n config DEBUG_MUTEXES\n          bool \"Mutex debugging, basic checks\"\n\n config DEBUG_LOCK_ALLOC\n         bool \"Detect incorrect freeing of live mutexes\"\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "e0a602963485a2f109ae1521c0c55507304c63ed",
      "tree": "38900590f1d4f129cfd8748949ff62f7d3296aee",
      "parents": [
        "8519fb30e438f8088b71a94a7d5a660a814d3872"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 07 12:58:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 07 16:12:33 2006 -0800"
      },
      "message": "[PATCH] Fix spinlock debugging delays to not time out too early\n\nThe spinlock-debug wait-loop was using loops_per_jiffy to detect too long\nspinlock waits - but on fast CPUs this led to a way too fast timeout and false\nmessages.\n\nThe fix is to include a __delay(1) call in the loop, to correctly approximate\nthe intended delay timeout of 1 second.  The code assumes that every\narchitecture implements __delay(1) to last around 1/(loops_per_jiffy*HZ)\nseconds.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "51989b9ffeea58999054fe3f21bd0cd0bd207e5a",
      "tree": "a293e5fc792eeee2acc96cb9cd18d3ed6c4e8e5a",
      "parents": [
        "0ad42352c01788e41a33336577fdd270d8de55bb"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jan 09 20:51:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:24 2006 -0800"
      },
      "message": "[PATCH] printk levels for spinlock debug\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb44f116a14c4c932f15c79acfafd46bcb43ca9a",
      "tree": "d8f5dc090cef75f22e7ca152298096bb2877b6b8",
      "parents": [
        "391eadeec836463a4e6e3843953bbe40f6522593"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 11:54:17 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Dec 20 10:47:55 2005 -0800"
      },
      "message": "[PATCH] fix spinlock-debugging smp_processor_id() usage\n\nWhen a spinlock debugging check hits, we print the CPU number as an\ninformational thing - but there is no guarantee that preemption is off\nat that point - hence we should use raw_smp_processor_id().  Otherwise\nDEBUG_PREEMPT will print a warning.\n\nWith this fix the warning goes away and only the spinlock-debugging info\nis printed.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb1c8f93d869b34cacb8b8932e2b83d96a19d720",
      "tree": "a006d078aa02e421a7dc4793c335308204859d36",
      "parents": [
        "4327edf6b8a7ac7dce144313947995538842d8fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:25:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:21 2005 -0700"
      },
      "message": "[PATCH] spinlock consolidation\n\nThis patch (written by me and also containing many suggestions of Arjan van\nde Ven) does a major cleanup of the spinlock code.  It does the following\nthings:\n\n - consolidates and enhances the spinlock/rwlock debugging code\n\n - simplifies the asm/spinlock.h files\n\n - encapsulates the raw spinlock type and moves generic spinlock\n   features (such as -\u003ebreak_lock) into the generic code.\n\n - cleans up the spinlock code hierarchy to get rid of the spaghetti.\n\nMost notably there\u0027s now only a single variant of the debugging code,\nlocated in lib/spinlock_debug.c.  (previously we had one SMP debugging\nvariant per architecture, plus a separate generic one for UP builds)\n\nAlso, i\u0027ve enhanced the rwlock debugging facility, it will now track\nwrite-owners.  There is new spinlock-owner/CPU-tracking on SMP builds too.\nAll locks have lockup detection now, which will work for both soft and hard\nspin/rwlock lockups.\n\nThe arch-level include files now only contain the minimally necessary\nsubset of the spinlock code - all the rest that can be generalized now\nlives in the generic headers:\n\n include/asm-i386/spinlock_types.h       |   16\n include/asm-x86_64/spinlock_types.h     |   16\n\nI have also split up the various spinlock variants into separate files,\nmaking it easier to see which does what. The new layout is:\n\n   SMP                         |  UP\n   ----------------------------|-----------------------------------\n   asm/spinlock_types_smp.h    |  linux/spinlock_types_up.h\n   linux/spinlock_types.h      |  linux/spinlock_types.h\n   asm/spinlock_smp.h          |  linux/spinlock_up.h\n   linux/spinlock_api_smp.h    |  linux/spinlock_api_up.h\n   linux/spinlock.h            |  linux/spinlock.h\n\n/*\n * here\u0027s the role of the various spinlock/rwlock related include files:\n *\n * on SMP builds:\n *\n *  asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the\n *                        initializers\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  asm/spinlock.h:       contains the __raw_spin_*()/etc. lowlevel\n *                        implementations, mostly inline assembly code\n *\n *   (also included on UP-debug builds:)\n *\n *  linux/spinlock_api_smp.h:\n *                        contains the prototypes for the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n *\n * on UP builds:\n *\n *  linux/spinlock_type_up.h:\n *                        contains the generic, simplified UP spinlock type.\n *                        (which is an empty structure on non-debug builds)\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  linux/spinlock_up.h:\n *                        contains the __raw_spin_*()/etc. version of UP\n *                        builds. (which are NOPs on non-debug, non-preempt\n *                        builds)\n *\n *   (included on UP-non-debug builds:)\n *\n *  linux/spinlock_api_up.h:\n *                        builds the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n */\n\nAll SMP and UP architectures are converted by this patch.\n\narm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via\ncrosscompilers.  m32r, mips, sh, sparc, have not been tested yet, but should\nbe mostly fine.\n\nFrom: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\n\n  Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).\n  Builds 32-bit SMP kernel (not booted or tested).  I did not try to build\n  non-SMP kernels.  That should be trivial to fix up later if necessary.\n\n  I converted bit ops atomic_hash lock to raw_spinlock_t.  Doing so avoids\n  some ugly nesting of linux/*.h and asm/*.h files.  Those particular locks\n  are well tested and contained entirely inside arch specific code.  I do NOT\n  expect any new issues to arise with them.\n\n If someone does ever need to use debug/metrics with them, then they will\n  need to unravel this hairball between spinlocks, atomic ops, and bit ops\n  that exist only because parisc has exactly one atomic instruction: LDCW\n  (load and clear word).\n\nFrom: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\n\n   ia64 fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Mikael Pettersson \u003cmikpe@csd.uu.se\u003e\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
