)]}'
{
  "log": [
    {
      "commit": "df9ee29270c11dba7d0fe0b83ce47a4d8e8d2101",
      "tree": "0c9a87ef1ea042c4432f122c3d03614d21156fc1",
      "parents": [
        "ca4d3e6746bdcfccb517349bce2d2c5b5614fb6f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 07 14:08:55 2010 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 07 14:08:55 2010 +0100"
      },
      "message": "Fix IRQ flag handling naming\n\nFix the IRQ flag handling naming.  In linux/irqflags.h under one configuration,\nit maps:\n\n\tlocal_irq_enable() -\u003e raw_local_irq_enable()\n\tlocal_irq_disable() -\u003e raw_local_irq_disable()\n\tlocal_irq_save() -\u003e raw_local_irq_save()\n\t...\n\nand under the other configuration, it maps:\n\n\traw_local_irq_enable() -\u003e local_irq_enable()\n\traw_local_irq_disable() -\u003e local_irq_disable()\n\traw_local_irq_save() -\u003e local_irq_save()\n\t...\n\nThis is quite confusing.  There should be one set of names expected of the\narch, and this should be wrapped to give another set of names that are expected\nby users of this facility.\n\nChange this to have the arch provide:\n\n\tflags \u003d arch_local_save_flags()\n\tflags \u003d arch_local_irq_save()\n\tarch_local_irq_restore(flags)\n\tarch_local_irq_disable()\n\tarch_local_irq_enable()\n\tarch_irqs_disabled_flags(flags)\n\tarch_irqs_disabled()\n\tarch_safe_halt()\n\nThen linux/irqflags.h wraps these to provide:\n\n\traw_local_save_flags(flags)\n\traw_local_irq_save(flags)\n\traw_local_irq_restore(flags)\n\traw_local_irq_disable()\n\traw_local_irq_enable()\n\traw_irqs_disabled_flags(flags)\n\traw_irqs_disabled()\n\traw_safe_halt()\n\nwith type checking on the flags \u0027arguments\u0027, and then wraps those to provide:\n\n\tlocal_save_flags(flags)\n\tlocal_irq_save(flags)\n\tlocal_irq_restore(flags)\n\tlocal_irq_disable()\n\tlocal_irq_enable()\n\tirqs_disabled_flags(flags)\n\tirqs_disabled()\n\tsafe_halt()\n\nwith tracing included if enabled.\n\nThe arch functions can now all be inline functions rather than some of them\nhaving to be macros.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e [X86, FRV, MN10300]\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e [Tile]\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e [Microblaze]\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e [ARM]\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e [AVR]\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e [IA-64]\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e [M32R]\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e [M68K/M68KNOMMU]\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e [MIPS]\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e [PA-RISC]\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e [PowerPC]\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e [S390]\nAcked-by: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e [Score]\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e [SH]\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e [Sparc]\nAcked-by: Chris Zankel \u003cchris@zankel.net\u003e [Xtensa]\nReviewed-by: Richard Henderson \u003crth@twiddle.net\u003e [Alpha]\nReviewed-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e [H8300]\nCc: starvik@axis.com [CRIS]\nCc: jesper.nilsson@axis.com [CRIS]\nCc: linux-cris-kernel@axis.com\n"
    },
    {
      "commit": "1f73897861b8ef0be64ff4b801f8d6f830f683b5",
      "tree": "b4bae8f12e1422113910d8cb00a19d010dc4a52f",
      "parents": [
        "b904d7131d116900524bd36ec170dcd97846bfd3",
        "64ffc9ff424c65adcffe7d590018cc75e2d5d42a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 01 08:55:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 01 08:55:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-35\u0027 of git://repo.or.cz/linux-kbuild\n\n* \u0027for-35\u0027 of git://repo.or.cz/linux-kbuild: (81 commits)\n  kbuild: Revert part of e8d400a to resolve a conflict\n  kbuild: Fix checking of scm-identifier variable\n  gconfig: add support to show hidden options that have prompts\n  menuconfig: add support to show hidden options which have prompts\n  gconfig: remove show_debug option\n  gconfig: remove dbg_print_ptype() and dbg_print_stype()\n  kconfig: fix zconfdump()\n  kconfig: some small fixes\n  add random binaries to .gitignore\n  kbuild: Include gen_initramfs_list.sh and the file list in the .d file\n  kconfig: recalc symbol value before showing search results\n  .gitignore: ignore *.lzo files\n  headerdep: perlcritic warning\n  scripts/Makefile.lib: Align the output of LZO\n  kbuild: Generate modules.builtin in make modules_install\n  Revert \"kbuild: specify absolute paths for cscope\"\n  kbuild: Do not unnecessarily regenerate modules.builtin\n  headers_install: use local file handles\n  headers_check: fix perl warnings\n  export_report: fix perl warnings\n  ...\n"
    },
    {
      "commit": "b97c4bc16734a2e597dac7f91ee9eb78f4aeef9a",
      "tree": "ee0b8c4633c53bea634dde8a0ed711d1bef7b2b8",
      "parents": [
        "f56e8a0765cc4374e02f4e3a79e2427b5096b075"
      ],
      "author": {
        "name": "Luca Barbieri",
        "email": "luca@luca-barbieri.com",
        "time": "Thu Mar 11 14:08:45 2010 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 13 01:21:21 2010 +0100"
      },
      "message": "locking: Make sparse work with inline spinlocks and rwlocks\n\nCurrently sparse does not work with inline spinlock and rwlock functions. \nThe problem is that they do not use the __acquires/__releases out-of-line\nfunctions, but use inline functions with no sparse annotations.\n\nThis patch adds the appropriate annotations to make it work properly.\n\nSigned-off-by: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "75ddb0e87d0d31ad44d574e7fe2e962e4efecadb",
      "tree": "4335f27853fceeab31cc9683579f80a968738793",
      "parents": [
        "2b55f3672c77e76b62efd0dba6bf29addac071fd"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Sat Feb 20 01:03:48 2010 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Mar 03 11:26:00 2010 +0100"
      },
      "message": "Rename .text.lock to .text..lock.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "9c1721aa4994f6625decbd915241f3a94ee2fe67",
      "tree": "bc1c2d623ac5d0db82df18163f6ab029e057c558",
      "parents": [
        "9828ea9d75c38fe3dce05d00566eed61c85732e6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 21:52:18 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "locking: Cleanup the name space completely\n\nMake the name space hierarchy of locking functions consistent:\n     raw_spin* -\u003e _raw_spin* -\u003e __raw_spin*\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\n"
    },
    {
      "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": "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": "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": "ef12f10994281e2e44526fa0abf23fdd7d5bd87f",
      "tree": "6060e8b412fe7aea40462106be10eca8dcb1754d",
      "parents": [
        "b7b40ade58e621851896aa261452df99d4e9d99b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 07 23:04:15 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Split rwlock from spinlock headers\n\nMove the rwlock defines and inlines into separate header files. This\nmakes the selection for -rt easier.\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\n"
    },
    {
      "commit": "a49ed0bf427a8328a3296eebedc7697fe5098dbf",
      "tree": "b2add5cbe839899d58b2a43126e59b80801157ed",
      "parents": [
        "c9286b7e293a1ea054e857ff3f5a23d0ad8d4f36"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 16 19:57:50 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 24 14:41:13 2009 +0100"
      },
      "message": "locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init()\n\nSPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED are deprecated. Replace them\nwith the __*_LOCK_UNLOCKED variants.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c9286b7e293a1ea054e857ff3f5a23d0ad8d4f36",
      "tree": "6bbbbc2c08f3cc2a2a7cb794cb818b169f965977",
      "parents": [
        "8e13c7b772387f55dc05c6a0e5b30010c3c46ff9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 16 19:50:38 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 24 14:41:12 2009 +0100"
      },
      "message": "locking: Remove unused prototype\n\ncommit 910067d1(remove generic__raw_read_trylock()) removed the\nimplementation but left the prototype around. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bb7bed082500179519c7caf0678ba3bed9752658",
      "tree": "59daa305235ec13b70f3f10a8f407df0e8516c62",
      "parents": [
        "892a7c67c12da63fa4b51728bbe5b982356a090a"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Aug 31 14:43:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 31 18:08:51 2009 +0200"
      },
      "message": "locking: Simplify spinlock inlining\n\nFor !DEBUG_SPINLOCK \u0026\u0026 !PREEMPT \u0026\u0026 SMP the spin_unlock()\nfunctions were always inlined by using special defines which\nwould call the __raw* functions.\n\nThe out-of-line variants for these functions would be generated\nanyway.\n\nUse the new per unlock/locking variant mechanism to force\ninlining of the unlock functions like before. This is not a\nfunctional change, we just get rid of one additional way to\nforce inlining.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Horst Hartmann \u003chorsth@linux.vnet.ibm.com\u003e\nCc: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nLKML-Reference: \u003c20090831124418.848735034@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69d0ee7377eef808e34ba5542b554ec97244b871",
      "tree": "f46c756b897cf51497fda2ad22f9f12a3512e23b",
      "parents": [
        "0ee000e5e8fa2e5c760250be0d78d5906e3eb94b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Aug 31 14:43:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 31 18:08:50 2009 +0200"
      },
      "message": "locking: Move spinlock function bodies to header file\n\nMove spinlock function bodies to header file by creating a\nstatic inline version of each variant. Use the inline version\non the out-of-line code.\n\nThis shouldn\u0027t make any difference besides that the spinlock\ncode can now be used to generate inlined spinlock code.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Horst Hartmann \u003chorsth@linux.vnet.ibm.com\u003e\nCc: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nLKML-Reference: \u003c20090831124417.859022429@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad46276952f1af34cd91d46d49ba13d347d56367",
      "tree": "55cf35156794ab34d8a607c25fd044c37231f9e4",
      "parents": [
        "a57de0b4336e48db2811a2030bb68dba8dd09d88"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Jul 08 12:10:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 17:06:58 2009 -0700"
      },
      "message": "memory barrier: adding smp_mb__after_lock\n\nAdding smp_mb__after_lock define to be used as a smp_mb call after\na lock.\n\nMaking it nop for x86, since {read|write|spin}_lock() on x86 are\nfull memory barriers.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5f7eac41db827a47b2163330eecd7bb55ae9f12",
      "tree": "ae8ab45dba49c1b3d5f2088051389e6fd3e4a24c",
      "parents": [
        "e8c158bb313c1df421eab7dc4299cd39cbbf5895"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Thu Apr 02 16:59:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:11 2009 -0700"
      },
      "message": "Allow rwlocks to re-enable interrupts\n\nPass the original flags to rwlock arch-code, so that it can re-enable\ninterrupts if implemented for that architecture.\n\nInitially, make __raw_read_lock_flags and __raw_write_lock_flags stubs\nwhich just do the same thing as non-flags variants.\n\nSigned-off-by: Petr Tesarik \u003cptesarik@suse.cz\u003e\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5ef7ca0e2636bad0ccd07b996d775348ae2b65e",
      "tree": "fcc1ef7e4bd95ce58d5bbb74ad129bdc248252ca",
      "parents": [
        "d5b562330ec766292a3ac54ae5e0673610bd5b3d"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@redhat.com",
        "time": "Sun Feb 08 17:39:58 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 09 08:15:39 2009 -0800"
      },
      "message": "x86: spinlocks: define dummy __raw_spin_is_contended\n\nArchitectures other than mips and x86 are not using ticket spinlocks.\nTherefore, the contention on the lock is meaningless, since there is\nnobody known to be waiting on it (arguably /fairly/ unfair locks).\n\nDummy it out to return 0 on other architectures.\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7d39aff91454f2534db2275f55908656ec0470c",
      "tree": "24481f2fe7206ef69800a33df6ac3e1716085326",
      "parents": [
        "7531e2f34d1d551b096143f19111139f0dd84c8b"
      ],
      "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: spin_lock_nest_lock()\n\nExpose the new lock protection lock.\n\nThis can be used to annotate places where we take multiple locks of the\nsame class and avoid deadlocks by always taking another (top-level) lock\nfirst.\n\nNOTE: we\u0027re still bound to the MAX_LOCK_DEPTH (48) limit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f307891ce0e7b0438c432af1aacd656a092ff45",
      "tree": "603d106da47ce7d039ceb304e2c7f7ae38daf87b",
      "parents": [
        "e0deaff470900a4c3222ca7139f6c9639e26a2f5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 25 01:45:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:26 2008 -0700"
      },
      "message": "locking: add typecheck on irqsave and friends for correct flags\n\nThere haave been several areas in the kernel where an int has been used for\nflags in local_irq_save() and friends instead of a long.  This can cause some\nhard to debug problems on some architectures.\n\nThis patch adds a typecheck inside the irqsave and restore functions to flag\nthese cases.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f3eafc921e2378954c28cfd0eb10910449f4c11",
      "tree": "0e4c9b1527f0342991fad629f0a4b4d0d0aff756",
      "parents": [
        "8e60e05fdc7344415fa69a3883b11f65db967b47"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "locking: remove unused double_spin_lock()\n\ndouble_spin_lock() has no callers, and it can\u0027t be used without additional\nlockdep annotations, remove it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dc07e721a26ec7e0adb66340f1763d220cfbbd0c",
      "tree": "b31b5d9d826c4b2e161a0f3e833dab95abb5f6c1",
      "parents": [
        "b40b5162ac4e5b94d16cd9fb0a87168b1633c7dd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 15:59:05 2008 -0400"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Apr 11 13:17:46 2008 -0600"
      },
      "message": "Spell out behavior of atomic_dec_and_lock() in kerneldoc\n\nA little more detail here wouldn\u0027t hurt.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "ec7015840ad7a8cdc87f52367ffe9c0b0401d919",
      "tree": "4d0d7dc6f4ab1e364521a866e0150794d9739a28",
      "parents": [
        "9f741cb8fecef923cce1dff820ac6aa78c12d136"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "Remove fastcall from linux/include\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95c354fe9f7d6decc08a92aa26eb233ecc2155bf",
      "tree": "ec9267032ea875e84216cfb20acb2cfc7c62149f",
      "parents": [
        "a95d67f87e1a5f1b4429be3ba3bf7b4051657908"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 30 13:31:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:20 2008 +0100"
      },
      "message": "spinlock: lockbreak cleanup\n\nThe break_lock data structure and code for spinlocks is quite nasty.\nNot only does it double the size of a spinlock but it changes locking to\na potentially less optimal trylock.\n\nPut all of that under CONFIG_GENERIC_LOCKBREAK, and introduce a\n__raw_spin_is_contended that uses the lock data itself to determine whether\nthere are waiters on the lock, to be used if CONFIG_GENERIC_LOCKBREAK is\nnot set.\n\nRename need_lockbreak to spin_needbreak, make it use spin_is_contended to\ndecouple it from the spinlock implementation, and make it typesafe (rwlocks\ndo not have any need_lockbreak sites -- why do they even get bloated up\nwith that break_lock then?).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e1f4a88c5a15a86124a95ea712213bb7dab2ad99",
      "tree": "7ec29d5eb850629ee11c2ec8cc467877430e9039",
      "parents": [
        "b5d425c97f7d4e92151167b01ca038e7853c6b37"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Sun Jul 15 23:39:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:40 2007 -0700"
      },
      "message": "introduce write_trylock_irqsave()\n\nIntroduce a write_trylock_irqsave() implementation.  Similar in style to\nthe implementation of spin_trylock_irqsave() in mainline.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e81ce1f7ecdaed2844c75313b09af791d44e6373",
      "tree": "49e70223f9ca808c6c7fed5cf7ce00125ccca84a",
      "parents": [
        "6bb74df481223731af6c7e0ff3adb31f6442cfcd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Mar 05 00:30:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 05 07:57:53 2007 -0800"
      },
      "message": "[PATCH] timer/hrtimer: take per cpu locks in sane order\n\nDoing something like this on a two cpu system\n\n  # echo 0 \u003e /sys/devices/system/cpu/cpu0/online\n  # echo 1 \u003e /sys/devices/system/cpu/cpu0/online\n  # echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n\nwill give me this:\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible circular locking dependency detected ]\n  2.6.21-rc2-g562aa1d4-dirty #7\n  -------------------------------------------------------\n  bash/1282 is trying to acquire lock:\n   (\u0026cpu_base-\u003elock_key){.+..}, at: [\u003c000000000005f17e\u003e] hrtimer_cpu_notify+0xc6/0x240\n\n  but task is already holding lock:\n   (\u0026cpu_base-\u003elock_key#2){.+..}, at: [\u003c000000000005f174\u003e] hrtimer_cpu_notify+0xbc/0x240\n\n  which lock already depends on the new lock.\n\nThis happens because we have the following code in kernel/hrtimer.c:\n\n  migrate_hrtimers(int cpu)\n  [...]\n  old_base \u003d \u0026per_cpu(hrtimer_bases, cpu);\n  new_base \u003d \u0026get_cpu_var(hrtimer_bases);\n  [...]\n  spin_lock(\u0026new_base-\u003elock);\n  spin_lock(\u0026old_base-\u003elock);\n\nWhich means the spinlocks are taken in an order which depends on which cpu\ngets shut down from which other cpu. Therefore lockdep complains that there\nmight be an ABBA deadlock. Since migrate_hrtimers() gets only called on\ncpu hotplug it\u0027s safe to assume that it isn\u0027t executed concurrently on a\n\nThe same problem exists in kernel/timer.c: migrate_timers().\n\nAs pointed out by Christian Borntraeger one possible solution to avoid\nthe locking order complaints would be to make sure that the locks are\nalways taken in the same order. E.g. by taking the lock of the cpu with\nthe lower number first.\n\nTo achieve this we introduce two new spinlock functions double_spin_lock\nand double_spin_unlock which lock or unlock two locks in a given order.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Christian Borntraeger \u003ccborntra@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c75fb88dbcc470e6041a20b1457b4835b9a0a48a",
      "tree": "efe63dd4feaccc0007c9dccadec057c0bca7d5d9",
      "parents": [
        "aa0f030374228407bc4e3f5482eeab787ba53c8a"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Sat Feb 10 01:46:37 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:07 2007 -0800"
      },
      "message": "[PATCH] Fix sparse annotation of spin unlock macros in one case\n\nSMP systems without premption and spinlock debugging enabled use unlock\nmacros that don\u0027t tell sparse that the lock is being released.  Add sparse\nannotations in this case.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "676dcb8bc2ec78d80091037773598d6ec8c673d6",
      "tree": "70a82f63dcda34f8907ffd9e92898e8a8a5fef87",
      "parents": [
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:31:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] add bottom_half.h\n\nWith CONFIG_SMP\u003dn:\n\n  drivers/input/ff-memless.c:384: warning: implicit declaration of function \u0027local_bh_disable\u0027\n  drivers/input/ff-memless.c:393: warning: implicit declaration of function \u0027local_bh_enable\u0027\n\nReally linux/spinlock.h should include linux/interrupt.h.  But interrupt.h\nincludes sched.h which will need spinlock.h.\n\nSo the patch breaks the _bh declarations out into a separate header and\nincludes it in both interrupt.h and spinlock.h.\n\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003cstable@kernel.org\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": "b8e6ec865fd1d8838b6ce9516977b65e9f08f876",
      "tree": "9203493fc47d1ff55bee5c2a68884215257ad0bf",
      "parents": [
        "137b529e4df7b9cd6b235654a3f1a8f280e3463d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Nov 26 16:27:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Nov 26 16:27:17 2006 -0800"
      },
      "message": "Revert \"[PATCH] Enforce \"unsigned long flags;\" when spinlocking\"\n\nThis reverts commit ee3ce191e8eaa4cc15c51a28b34143b36404c4f5, since it\nbroke on at least ARM, MIPS and PA-RISC due to complicated header file\ndependencies.\n\nConflicts in include/linux/spinlock.h (due to the \"nested\" variety\nfixes) fixed up by hand.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Russell King \u003crmk+lkml@arm.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cfd3ef2346f924d6c0e82236c20fdb3a8840136a",
      "tree": "f0289367f0dbf80a5bcfa2969f428c605c54dd6a",
      "parents": [
        "ee3ce191e8eaa4cc15c51a28b34143b36404c4f5"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Nov 25 11:09:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Nov 25 13:28:34 2006 -0800"
      },
      "message": "[PATCH] lockdep: spin_lock_irqsave_nested()\n\nIntroduce spin_lock_irqsave_nested(); implementation from:\n http://lkml.org/lkml/2006/6/1/122\nPatch from:\n http://lkml.org/lkml/2006/9/13/258\n\n[akpm@osdl.org: two compile fixes]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Jiri Kosina \u003cjikos@jikos.cz\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee3ce191e8eaa4cc15c51a28b34143b36404c4f5",
      "tree": "557c5ade9b92e91f095e4017d97ffe7afd83383f",
      "parents": [
        "5e66b0b5f187c811419ff10cfb5668c028a64d57"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Nov 25 11:09:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Nov 25 13:28:34 2006 -0800"
      },
      "message": "[PATCH] Enforce \"unsigned long flags;\" when spinlocking\n\nMake it break or warn if you pass to spin_lock_irqsave() and friends\nsomething different from \"unsigned long flags;\".  Suprisingly large amount\nof these was caught by recent commit\nc53421b18f205c5f97c604ae55c6a921f034b0f6 and others.\n\nIdea is largely from FRV typechecking. Suggestions from Andrew Morton.\nAll stupid typos in first version fixed.\n\nPasses allmodconfig on i386, x86_64, alpha, arm as well as my usual config.\n\nNote #1: checking with sparse is still needed, because a driver can save\n\t and pass around flags or something. So far patch is very intrusive.\nNote #2: techically, we should break only if\n\t\tsizeof(flags) \u003c sizeof(unsigned long),\n\t however, the more pain for getting suspicious code into kernel,\n\t the better.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.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": "dcc8e559ee5ae03fa6bdb8611d76d86d0083e793",
      "tree": "8847aba4ed68074ec9ab0ef28ee2cdd7937f51d9",
      "parents": [
        "7d2c502f141042f6e5d145aa40107685d751e5a3"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Fri Sep 29 02:01:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] Pass a lock expression to __cond_lock, like __acquire and __release\n\nCurrently, __acquire and __release take a lock expression, but __cond_lock\ntakes only a condition, not the lock acquired if the expression evaluates\nto true.  Change __cond_lock to accept a lock expression, and change all\nthe callers to pass in a lock expression.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "303912e2a32aa73785b4c4dee15466d944a38a46",
      "tree": "e98f5cda14643fd705b69e318ad86f854edbb18b",
      "parents": [
        "9f50b93f066f8dc339de9b0eb78a22a75e6c8f8f"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Fri Sep 29 02:01:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:19 2006 -0700"
      },
      "message": "[PATCH] Replace _spin_trylock with spin_trylock in the IRQ variants to use __cond_lock\n\nspin_trylock_irq and spin_trylock_irqsave use _spin_trylock, which does not\nuse the __cond_lock wrapper annotation and thus does not affect the lock\ncontext; change them to use spin_trylock instead, which does use\n__cond_lock.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\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": "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": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "f83b5e323f57d6e1f35a839d663e91cebe985e54",
      "tree": "59e19500a8204abd8e77620b7e80138d5f7fda68",
      "parents": [
        "4d99f93bdaa1ab49188cac67b4aae9180f8e3960"
      ],
      "author": {
        "name": "Ustyugov Roman",
        "email": "dr_unique@ymg.ru",
        "time": "Fri Sep 23 08:42:11 2005 +0400"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Mon Dec 26 00:33:41 2005 +0100"
      },
      "message": "kbuild: set correct KBUILD_MODNAME when using well known kernel symbols as module names\n\nThis patch fixes a problem when we use well known kernel symbols as module\nnames.\n\nFor example, if module source name is current.c, idle_stack.c or etc.,\nwe have a bad KBUILD_MODNAME value.\nFor example, KBUILD_MODNAME will be \"get_current()\" instead of \"current\", or\n\"(init_thread_union.stack)\" instead of \"idle_task\".\n\nThe trick is to define a stringify macro on the commandline - named\nKBUILD_STR for namespace reasons - and then to stringify the module\nname.\n\nThere are a few uses of KBUILD_MODNAME throughout the tree but the usage\nis for debug and will not be harmed by this change so left untouched for now.\n\nWhile at it KBUILD_BASENAME was changed too. Any spinlock usage in the\nunix module would have created wrong section names without it.\nUsage in spinlock.h fixed so it no longer stringify KBUILD_BASENAME.\n\nOriginal patch from Ustyogov Roman - all bugs introduced by me.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "bda98685b855f71f7e2fc5378aa3cdfb24a9db65",
      "tree": "c1660300d19e1fba7bda619bfe2d3802c1aee12f",
      "parents": [
        "c53117815771e1e84e6ba80a42fa1f8e330adb4d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 30 14:59:44 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:13 2005 -0800"
      },
      "message": "[PATCH] x86: inline spin_unlock if !CONFIG_DEBUG_SPINLOCK and !CONFIG_PREEMPT\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\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"
    },
    {
      "commit": "10f02d1c59e55f529140dda3a92f0099d748451c",
      "tree": "6b5a5804503401624171aff65b09ff022a9f0103",
      "parents": [
        "9636273dae265b9354b861b373cd43cd76a6d0fe"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@labri.fr",
        "time": "Sat May 21 17:50:15 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat May 21 10:46:48 2005 -0700"
      },
      "message": "[PATCH] spin_unlock_bh() and preempt_check_resched()\n\nIn _spin_unlock_bh(lock):\n\tdo { \\\n\t\t_raw_spin_unlock(lock); \\\n\t\tpreempt_enable(); \\\n\t\tlocal_bh_enable(); \\\n\t\t__release(lock); \\\n\t} while (0)\n\nthere is no reason for using preempt_enable() instead of a simple\npreempt_enable_no_resched()\n\nSince we know bottom halves are disabled, preempt_schedule() will always\nreturn at once (preempt_count!\u003d0), and hence preempt_check_resched() is\nuseless here...\n\nThis fixes it by using \"preempt_enable_no_resched()\" instead of the\n\"preempt_enable()\", and thus avoids the useless preempt_check_resched()\njust before re-enabling bottom halves.\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
