)]}'
{
  "log": [
    {
      "commit": "b2c311075db578f1433d9b303698491bfa21279a",
      "tree": "41d5f1b5ad6f45be7211f524328de81f7e9754be",
      "parents": [
        "45175476ae2dbebc860d5cf486f2916044343513",
        "02c0241b600e4ab8a732c89749e252165145d60c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 05 12:12:33 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 05 12:12:33 2013 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto update from Herbert Xu:\n - Do not idle omap device between crypto operations in one session.\n - Added sha224/sha384 shims for SSSE3.\n - More optimisations for camellia-aesni-avx2.\n - Removed defunct blowfish/twofish AVX2 implementations.\n - Added unaligned buffer self-tests.\n - Added PCLMULQDQ optimisation for CRCT10DIF.\n - Added support for Freescale\u0027s DCP co-processor\n - Misc fixes.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (44 commits)\n  crypto: testmgr - test hash implementations with unaligned buffers\n  crypto: testmgr - test AEADs with unaligned buffers\n  crypto: testmgr - test skciphers with unaligned buffers\n  crypto: testmgr - check that entries in alg_test_descs are in correct order\n  Revert \"crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher\"\n  Revert \"crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher\"\n  crypto: camellia-aesni-avx2 - tune assembly code for more performance\n  hwrng: bcm2835 - fix MODULE_LICENSE tag\n  hwrng: nomadik - use clk_prepare_enable()\n  crypto: picoxcell - replace strict_strtoul() with kstrtoul()\n  crypto: dcp - Staticize local symbols\n  crypto: dcp - Use NULL instead of 0\n  crypto: dcp - Use devm_* APIs\n  crypto: dcp - Remove redundant platform_set_drvdata()\n  hwrng: use platform_{get,set}_drvdata()\n  crypto: omap-aes - Don\u0027t idle/start AES device between Encrypt operations\n  crypto: crct10dif - Use PTR_RET\n  crypto: ux500 - Cocci spatch \"resource_size.spatch\"\n  crypto: sha256_ssse3 - add sha224 support\n  crypto: sha512_ssse3 - add sha384 support\n  ...\n"
    },
    {
      "commit": "80cc38b16389849a6e06441ace4530f6b2497c3c",
      "tree": "1dabc02b0a1faa6b640de20e38aa31bb5d0c443f",
      "parents": [
        "3366dd9fa887ebbda4872e9554f853eaeda764be",
        "83a35e360433b58791bc9c4e288cace466d62e3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:40:58 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:40:58 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree updates from Jiri Kosina:\n \"The usual stuff from trivial tree\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)\n  treewide: relase -\u003e release\n  Documentation/cgroups/memory.txt: fix stat file documentation\n  sysctl/net.txt: delete reference to obsolete 2.4.x kernel\n  spinlock_api_smp.h: fix preprocessor comments\n  treewide: Fix typo in printk\n  doc: device tree: clarify stuff in usage-model.txt.\n  open firmware: \"/aliasas\" -\u003e \"/aliases\"\n  md: bcache: Fixed a typo with the word \u0027arithmetic\u0027\n  irq/generic-chip: fix a few kernel-doc entries\n  frv: Convert use of typedef ctl_table to struct ctl_table\n  sgi: xpc: Convert use of typedef ctl_table to struct ctl_table\n  doc: clk: Fix incorrect wording\n  Documentation/arm/IXP4xx fix a typo\n  Documentation/networking/ieee802154 fix a typo\n  Documentation/DocBook/media/v4l fix a typo\n  Documentation/video4linux/si476x.txt fix a typo\n  Documentation/virtual/kvm/api.txt fix a typo\n  Documentation/early-userspace/README fix a typo\n  Documentation/video4linux/soc-camera.txt fix a typo\n  lguest: fix CONFIG_PAE -\u003e CONFIG_x86_PAE in comment\n  ...\n"
    },
    {
      "commit": "e61aca5158a84932cf9fbbcbf8aef9cef63f5026",
      "tree": "25234bcfe6b13c8a66bdb22eb9eba0a3bbace424",
      "parents": [
        "da67db4e55b45690cd283cdbdfa92d3252191108",
        "92aef8fbabb4cc8616777ab27d6499a3719c3e4c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:51 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:51 2013 -0700"
      },
      "message": "Merge branch \u0027kconfig-diet\u0027 from Dave Hansen\n\nMerge Kconfig menu diet patches from Dave Hansen:\n \"I think the \"Kernel Hacking\" menu has gotten a bit out of hand.  It is\n  over 120 lines long on my system with everything enabled and options\n  are scattered around it haphazardly.\n\n        http://sr71.net/~dave/linux/kconfig-horror.png\n\n  Let\u0027s try to introduce some sanity.  This set takes that 120 lines\n  down to 55 and makes it vastly easier to find some things.  It\u0027s a\n  start.\n\n  This set stands on its own, but there is plenty of room for follow-up\n  patches.  The arch-specific debug options still end up getting stuck\n  in the top-level \"kernel hacking\" menu.  OPTIMIZE_INLINING, for\n  instance, could obviously go in to the \"compiler options\" menu, but\n  the fact that it is defined in arch/ in a separate Kconfig file keeps\n  it on its own for the moment.\n\n  The Signed-off-by\u0027s in here look funky.  I changed employers while\n  working on this set, so I have signoffs from both email addresses\"\n\n* emailed patches from Dave Hansen \u003cdave@sr71.net\u003e:\n  hang and lockup detection menu\n  kconfig: consolidate printk options\n  group locking debugging options\n  consolidate compilation option configs\n  consolidate runtime testing configs\n  order memory debugging Kconfig options\n  consolidate per-arch stack overflow debugging options\n"
    },
    {
      "commit": "92aef8fbabb4cc8616777ab27d6499a3719c3e4c",
      "tree": "44b19a0d06116bc4621ddaf78b389977cbe081bd",
      "parents": [
        "604ff0dceb2aca049a25a181c68f8db5c0798f7f"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave.hansen@linux.intel.com",
        "time": "Mon Jul 01 13:04:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:39 2013 -0700"
      },
      "message": "hang and lockup detection menu\n\nThe hard/softlockup and hung-task entries take up 6 lines\nof screen real-estate when enabled.  I bet folks don\u0027t\nmess with these _that_ often, so move them in a group\ndown a level.\n\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "604ff0dceb2aca049a25a181c68f8db5c0798f7f",
      "tree": "cd512d23691ee4fcc4ed9dbeb767a8b43510c59d",
      "parents": [
        "9eade16b4151ec35a9e03bbc7cc890e640a536c1"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave.hansen@linux.intel.com",
        "time": "Mon Jul 01 13:04:49 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:39 2013 -0700"
      },
      "message": "kconfig: consolidate printk options\n\nSame deal, take the printk-related things and hide them in a menu.\nThis takes another 4 items out of the top-level menu.\n\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9eade16b4151ec35a9e03bbc7cc890e640a536c1",
      "tree": "253dc89cf1dba37e4e941cfbeaf1d967d8002600",
      "parents": [
        "6dfc06651b3d29aa07ed99b8075e5d324f7a953a"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Jul 01 13:04:47 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:39 2013 -0700"
      },
      "message": "group locking debugging options\n\nOriginal posting:\n\n\thttp://lkml.kernel.org/r/20121214184208.D9E5804D@kernel.stglabs.ibm.com\n\nThere are quite a few of these, and we want to make sure that\nthere is one-stop-shopping for lock debugging.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6dfc06651b3d29aa07ed99b8075e5d324f7a953a",
      "tree": "e4ae4a93c349456e894da04689a6deaae3063e75",
      "parents": [
        "881c5149543a3a391ab6ce2ebe70235924f15d9c"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Jul 01 13:04:46 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:39 2013 -0700"
      },
      "message": "consolidate compilation option configs\n\nOriginal Post:\n\n\thttp://lkml.kernel.org/r/20121214184207.6E00DDEC@kernel.stglabs.ibm.com\n\nAgain, trying to come up with some common themes of the stuff in\nthe kernel hacking menu...  There are quite a few options to\ntweak compilation in some way, or perform extra compile-time\nchecks.  Give them their own menu.\n\nThe diff here looks a bit funny... makes it look like I\u0027m\nmoving debugfs even though I\u0027m actually moving the options on\neither side of it.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "881c5149543a3a391ab6ce2ebe70235924f15d9c",
      "tree": "0136f2864d7c44f4bef678723250a9ecf051ac8d",
      "parents": [
        "0610c8a8a258e869a542e5fdb964c6816336559e"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Jul 01 13:04:44 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:39 2013 -0700"
      },
      "message": "consolidate runtime testing configs\n\nOriginal posting:\n\n\thttp://lkml.kernel.org/r/20121214184206.FC11422F@kernel.stglabs.ibm.com\n\nThese runtime tests are great, except that there are a lot of them,\nand they are very rarely needed.  Give them their own menu so that\nonly the folks who need them will have to go looking for them.\n\nNote that there are some other runtime tests that are not in here,\nlike for RCU or locking.  This menu should only be used for tests\nthat do not have a more appropriate home.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0610c8a8a258e869a542e5fdb964c6816336559e",
      "tree": "d70e7aba355ec74c4310ac5f4cc57a8f713954ea",
      "parents": [
        "d1a1dc0be866219f7a613c6368c6a036b8eefe03"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Jul 01 13:04:43 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:39 2013 -0700"
      },
      "message": "order memory debugging Kconfig options\n\nOriginal posting:\n\n\thttp://lkml.kernel.org/r/20121214184203.37E6C724@kernel.stglabs.ibm.com\n\nThere are a *LOT* of memory debugging options.  They are just scattered\nall over the \"Kernel Hacking\" menu.  Sure, \"memory debugging\" is a very\nvague term and it\u0027s going to be hard to make absolute rules about what\ngoes in here, but this has to be better than what we had before.\n\nThis does, however, leave out the architecture-specific memory\ndebugging options (like x86\u0027s DEBUG_SET_MODULE_RONX).  There would need\nto be some substantial changes to move those in here.  Kconfig can not\neasily mix arch-specific and generic options together: it really\nrequires a file per-architecture, and I think having an\narch/foo/Kconfig.debug-memory might be taking things a bit too far\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1a1dc0be866219f7a613c6368c6a036b8eefe03",
      "tree": "3e82bc03670f24e26cb340278e6bc2abd8f7f54b",
      "parents": [
        "8bb495e3f02401ee6f76d1b1d77f3ac9f079e376"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Mon Jul 01 13:04:42 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 04 11:25:39 2013 -0700"
      },
      "message": "consolidate per-arch stack overflow debugging options\n\nOriginal posting:\n\n\thttp://lkml.kernel.org/r/20121214184202.F54094D9@kernel.stglabs.ibm.com\n\nSeveral architectures have similar stack debugging config options.\nThey all pretty much do the same thing, some with slightly\ndiffering help text.\n\nThis patch changes the architectures to instead enable a Kconfig\nboolean, and then use that boolean in the generic Kconfig.debug\nto present the actual menu option.  This removes a bunch of\nduplication and adds consistency across arches.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: James Hogan \u003cjames.hogan@imgtec.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e [for tile]\nSigned-off-by: Dave Hansen \u003cdave.hansen@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f0ef0267e20d62d45d527911a993b1e998f4968",
      "tree": "de51abc7da5903f59d83e23937f22420164c9477",
      "parents": [
        "862f0012549110d6f2586bf54b52ed4540cbff3a",
        "9307c29524502c21f0e8a6d96d850b2f5bc0bd9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 17:12:13 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 17:12:13 2013 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (updates from Andrew Morton)\n\nMerge first patch-bomb from Andrew Morton:\n - various misc bits\n - I\u0027m been patchmonkeying ocfs2 for a while, as Joel and Mark have been\n   distracted.  There has been quite a bit of activity.\n - About half the MM queue\n - Some backlight bits\n - Various lib/ updates\n - checkpatch updates\n - zillions more little rtc patches\n - ptrace\n - signals\n - exec\n - procfs\n - rapidio\n - nbd\n - aoe\n - pps\n - memstick\n - tools/testing/selftests updates\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (445 commits)\n  tools/testing/selftests: don\u0027t assume the x bit is set on scripts\n  selftests: add .gitignore for kcmp\n  selftests: fix clean target in kcmp Makefile\n  selftests: add .gitignore for vm\n  selftests: add hugetlbfstest\n  self-test: fix make clean\n  selftests: exit 1 on failure\n  kernel/resource.c: remove the unneeded assignment in function __find_resource\n  aio: fix wrong comment in aio_complete()\n  drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode\n  drivers/memstick/host/r592.c: convert to module_pci_driver\n  drivers/memstick/host/jmb38x_ms: convert to module_pci_driver\n  pps-gpio: add device-tree binding and support\n  drivers/pps/clients/pps-gpio.c: convert to module_platform_driver\n  drivers/pps/clients/pps-gpio.c: convert to devm_* helpers\n  drivers/parport/share.c: use kzalloc\n  Documentation/accounting/getdelays.c: avoid strncpy in accounting tool\n  aoe: update internal version number to v83\n  aoe: update copyright date\n  aoe: perform I/O completions in parallel\n  ...\n"
    },
    {
      "commit": "dd04b452f532ca100f7c557295ffcbc049c77171",
      "tree": "a889034e7b6cd0507ec10f32f07731b59e6cefc2",
      "parents": [
        "8bdc237ac113dd42a1c977c8cd3a65a82f774d5e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "jdelvare@suse.de",
        "time": "Wed Jul 03 15:08:47 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 16:08:04 2013 -0700"
      },
      "message": "idr: print a stack dump after ida_remove warning\n\nWe print a dump stack after idr_remove warning.  This is useful to find\nthe faulty piece of code.  Let\u0027s do the same for ida_remove, as it would\nbe equally useful there.\n\n[akpm@linux-foundation.org: convert the open-coded printk+dump_stack into WARN()]\nSigned-off-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64df3071a97f20767f63b88c573791691a855b5c",
      "tree": "d7f8de21c425465f6e790c5de74d2dc54214b9e3",
      "parents": [
        "5cb0656b62ff1199763764e4f6b4c06d30d5d0f5"
      ],
      "author": {
        "name": "Fan Du",
        "email": "fan.du@windriver.com",
        "time": "Wed Jul 03 15:05:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 16:07:43 2013 -0700"
      },
      "message": "lib/percpu_counter.c: __this_cpu_write() doesn\u0027t need to be protected by spinlock\n\n__this_cpu_write doesn\u0027t need to be protected by spinlock, AS we are doing\nper cpu write with preempt disabled.  And another reason to remove\n__this_cpu_write outside of spinlock: __percpu_counter_sum is not an\naccurate counter.\n\nSigned-off-by: Fan Du \u003cfan.du@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b58d977432c80ee60d6970042775a62e3f8d7675",
      "tree": "ca998b67437265115d2d242b47f2ac52fa0091c5",
      "parents": [
        "f170168b9a0b61ea1e647b082b38f605f1d3de3e"
      ],
      "author": {
        "name": "Alex Thorlton",
        "email": "athorlton@sgi.com",
        "time": "Wed Jul 03 15:04:59 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 16:07:41 2013 -0700"
      },
      "message": "dump_stack: serialize the output from dump_stack()\n\nAdd functionality to serialize the output from dump_stack() to avoid\nmangling of the output when dump_stack is called simultaneously from\nmultiple cpus.\n\n[akpm@linux-foundation.org: fix comment indenting, avoid inclusion of \u003casm/\u003e files - use \u003clinux/\u003e where possiblem fix uniprocessor build (__dump_stack undefined), remove unneeded ifdef around smp.h inclusion]\nSigned-off-by: Alex Thorlton \u003cathorlton@sgi.com\u003e\nReported-by: Russ Anderson \u003crja@sgi.com\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab5348573908dedb62dd906aa60c5989fecfe38f",
      "tree": "e98fc37939cc8bf69b5d678171b1edd4f1444c04",
      "parents": [
        "0e97456ab5ba2761892d9e67b7e3b0cac262141c",
        "ee89bd6bc73d1d14555418a2642172448052f1dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 11:12:08 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 03 11:12:08 2013 -0700"
      },
      "message": "Merge branch \u0027exotic-arch-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\nPull \"exotic\" arch fixes from Geert Uytterhoeven:\n \"This is a collection of several exotic architecture fixes, and a few\n  other fixes for issues that were detected while doing the former\"\n\n* \u0027exotic-arch-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (35 commits)\n  lib: Move fonts from drivers/video/console/ to lib/fonts/\n  console/font: Refactor font support code selection logic\n  Revert \"staging/solo6x10: depend on CONFIG_FONTS\"\n  input: cros_ec_keyb_clear_keyboard() depends on CONFIG_PM_SLEEP\n  score: Wire up asm-generic/xor.h\n  score: Remove unneeded \u003casm/dma-mapping.h\u003e\n  openrisc: Wire up asm-generic/xor.h\n  h8300/boot: Use POSIX \"$((..))\" instead of bashism \"$[...]\"\n  h8300: Mark H83002 and H83048 CPU support broken\n  h8300: Switch h8300 to drivers/Kconfig\n  h8300: Limit timer channel ranges in Kconfig\n  h8300: Wire up asm-generic/xor.h\n  h8300: Fill the system call table using a CALL() macro\n  h8300: Fix \u003casm/tlb.h\u003e\n  h8300: Hardcode symbol prefixes in asm sources\n  h8300: add missing definition for read_barries_depends()\n  frv: head.S - Remove commented-out initialization code\n  cris: Wire up asm-generic/vga.h\n  parport: disable PC-style parallel port support on cris\n  console: Disable VGA text console support on cris\n  ...\n"
    },
    {
      "commit": "13cc56013842a847a0f6ff805d9ed9181e753ef8",
      "tree": "76b55717efc36f83c934ee894a8522e8a28eb57f",
      "parents": [
        "7c6809ff2bd63d4c97ce9e0b94d39d5180842c48",
        "a4244454df1296e90cc961c1b636b1176ef0d9a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 19:52:14 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 19:52:14 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\nPull per-cpu changes from Tejun Heo:\n \"This pull request contains Kent\u0027s per-cpu reference counter.  It has\n  gone through several iterations since the last time and the dynamic\n  allocation is gone.\n\n  The usual usage is relatively straight-forward although async kill\n  confirm interface, which is not used int most cases, is somewhat icky.\n  There also are some interface concerns - e.g.  I\u0027m not sure about\n  passing in @relesae callback during init as that becomes funny when we\n  later implement synchronous kill_and_drain - but nothing too serious\n  and it\u0027s quite useable now.\n\n  cgroup_subsys_state refcnting has already been converted and we should\n  convert module refcnt (Kent?)\"\n\n* \u0027for-3.11\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu-refcount: use RCU-sched insted of normal RCU\n  percpu-refcount: implement percpu_tryget() along with percpu_ref_kill_and_confirm()\n  percpu-refcount: implement percpu_ref_cancel_init()\n  percpu-refcount: add __must_check to percpu_ref_init() and don\u0027t use ACCESS_ONCE() in percpu_ref_kill_rcu()\n  percpu-refcount: cosmetic updates\n  percpu-refcount: consistently use plain (non-sched) RCU\n  percpu-refcount: Don\u0027t use silly cmpxchg()\n  percpu: implement generic percpu refcounting\n"
    },
    {
      "commit": "0c46d68d1930c8a58d0f291328b9759da754e599",
      "tree": "5cc551f56a86e204d648488c036fc1092fcd22a0",
      "parents": [
        "3e42dee676e8cf5adca817b1518b2e99d1c138ff",
        "166989e366ffa66108b2f37b870e66b85b2185ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 16:09:13 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 16:09:13 2013 -0700"
      },
      "message": "Merge branch \u0027core-mutexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull WW mutex support from Ingo Molnar:\n \"This tree adds support for wound/wait style locks, which the graphics\n  guys would like to make use of in the TTM graphics subsystem.\n\n  Wound/wait mutexes are used when other multiple lock acquisitions of a\n  similar type can be done in an arbitrary order.  The deadlock handling\n  used here is called wait/wound in the RDBMS literature: The older\n  tasks waits until it can acquire the contended lock.  The younger\n  tasks needs to back off and drop all the locks it is currently\n  holding, ie the younger task is wounded.\n\n  See this LWN.net description of W/W mutexes:\n\n     https://lwn.net/Articles/548909/\n\n  The comments there outline specific usecases for this facility (which\n  have already been implemented for the DRM tree).\n\n  Also see Documentation/ww-mutex-design.txt for more details\"\n\n* \u0027core-mutexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  locking-selftests: Handle unexpected failures more strictly\n  mutex: Add more w/w tests to test EDEADLK path handling\n  mutex: Add more tests to lib/locking-selftest.c\n  mutex: Add w/w tests to lib/locking-selftest.c\n  mutex: Add w/w mutex slowpath debugging\n  mutex: Add support for wound/wait style locks\n  arch: Make __mutex_fastpath_lock_retval return whether fastpath succeeded or not\n"
    },
    {
      "commit": "22237d5a588cfad92525d2998ff14d3666399dce",
      "tree": "0f76b3a9febe573702669628fadaaab6c5725634",
      "parents": [
        "fc76a258d41eea7953bb763397c3d1e589d3bb98",
        "6b9a39de73490abb93a0b48a5e6c417c518f3a59"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 13:24:47 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 13:24:47 2013 -0700"
      },
      "message": "Merge tag \u0027fixes-non-critical-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM SoC non-cricitical bug fixes from Arnd Bergmann:\n \"These are various bug fixes that were not considered important enough\n  for merging into 3.10.\n\n  The majority of the ARM fixes are for the OMAP and at91 platforms, and\n  there is another set of bug fixes for device drivers that resolve\n  \u0027randconfig\u0027 build errors and that the subsystem maintainers either\n  did not pick up or preferred to get merged through the arm-soc tree.\"\n\n* tag \u0027fixes-non-critical-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)\n  ARM: at91/PMC: use at91_usb_rate() for UTMI PLL\n  ARM: at91/PMC: fix at91sam9n12 USB FS init\n  ARM: at91/PMC: at91sam9n12 family has a PLLB\n  ARM: at91/PMC: sama5d3 family doesn\u0027t have a PLLB\n  ARM: tegra: fix section mismatch in tegra_pmc_parse_dt\n  ARM: mxs: don\u0027t select HAVE_PWM\n  ARM: mxs: stub out mxs_pm_init for !CONFIG_PM\n  cpuidle: calxeda: select ARM_CPU_SUSPEND\n  ARM: mvebu: fix length of ethernet registers in mv78260 dtsi\n  ARM: at91: cpuidle: Fix target_residency\n  ARM: at91: fix at91_extern_irq usage for non-dt boards\n  ARM: sirf: use CONFIG_SIRF rather than CONFIG_PRIMA2 where necessary\n  clocksource: kona: adapt to CLOCKSOURCE_OF_DECLARE change\n  X.509: do not emit any informational output\n  mtd: omap2: allow bulding as a module\n  [SCSI] nsp32: use mdelay instead of large udelay constants\n  hwrng: bcm2835: fix MODULE_LICENSE tag\n  ARM: at91: Change the internal SRAM memory type MT_MEMORY_NONCACHED\n  ARM: at91: Fix link breakage when !CONFIG_PHYLIB\n  MAINTAINERS: Add exynos filename match to ARM/S5P EXYNOS ARM ARCHITECTURES\n  ...\n"
    },
    {
      "commit": "fc76a258d41eea7953bb763397c3d1e589d3bb98",
      "tree": "ef8c4b828f3011adf9fc9ef976b9d07c35628e81",
      "parents": [
        "fe3c22bd5cadd8e36977b218b27fbea821381ec8",
        "bfd63cd24df69120585c22e09fda78723772ee2a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 11:44:19 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 02 11:44:19 2013 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core updates from Greg KH:\n \"Here\u0027s the big driver core merge for 3.11-rc1\n\n  Lots of little things, and larger firmware subsystem updates, all\n  described in the shortlog.  Nice thing here is that we finally get rid\n  of CONFIG_HOTPLUG, after 10+ years, thanks to Stephen Rohtwell (it had\n  been always on for a number of kernel releases, now it\u0027s just\n  removed)\"\n\n* tag \u0027driver-core-3.11-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (27 commits)\n  driver core: device.h: fix doc compilation warnings\n  firmware loader: fix another compile warning with PM_SLEEP unset\n  build some drivers only when compile-testing\n  firmware loader: fix compile warning with PM_SLEEP set\n  kobject: sanitize argument for format string\n  sysfs_notify is only possible on file attributes\n  firmware loader: simplify holding module for request_firmware\n  firmware loader: don\u0027t export cache_firmware and uncache_firmware\n  drivers/base: Use attribute groups to create sysfs memory files\n  firmware loader: fix compile warning\n  firmware loader: fix build failure with !CONFIG_FW_LOADER_USER_HELPER\n  Documentation: Updated broken link in HOWTO\n  Finally eradicate CONFIG_HOTPLUG\n  driver core: firmware loader: kill FW_ACTION_NOHOTPLUG requests before suspend\n  driver core: firmware loader: don\u0027t cache FW_ACTION_NOHOTPLUG firmware\n  Documentation: Tidy up some drivers/base/core.c kerneldoc content.\n  platform_device: use a macro instead of platform_driver_register\n  firmware: move EXPORT_SYMBOL annotations\n  firmware: Avoid deadlock of usermodehelper lock at shutdown\n  dell_rbu: Select CONFIG_FW_LOADER_USER_HELPER explicitly\n  ...\n"
    },
    {
      "commit": "ee89bd6bc73d1d14555418a2642172448052f1dd",
      "tree": "854442fcd43a77286056a1eafecacd8878f067f4",
      "parents": [
        "d1e183c8dd38bfdd07e38a79577fe78124e63ab1"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Jun 09 11:46:43 2013 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Jun 28 10:28:22 2013 +0200"
      },
      "message": "lib: Move fonts from drivers/video/console/ to lib/fonts/\n\nSeveral drivers need font support independent of CONFIG_VT, cfr. commit\n9cbce8d7e1dae0744ca4f68d62aa7de18196b6f4, \"console/font: Refactor font\nsupport code selection logic\").\nHence move the fonts and their support logic from drivers/video/console/ to\nits own library directory lib/fonts/.\nThis also allows to limit processing of drivers/video/console/Makefile to\nCONFIG_VT\u003dy again.\n\n[Kevin Hilman \u003ckhilman@linaro.org\u003e: Update arch/arm/boot/compressed/Makefile]\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "166989e366ffa66108b2f37b870e66b85b2185ad",
      "tree": "1973b0dc9dd2eb10b35d541fffca643d210ae3d2",
      "parents": [
        "f3cf139efa4bc0fe4f032af6ca3e49e38a5d9ae5"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "maarten.lankhorst@canonical.com",
        "time": "Thu Jun 20 13:31:51 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 26 12:10:59 2013 +0200"
      },
      "message": "locking-selftests: Handle unexpected failures more strictly\n\nWhen CONFIG_PROVE_LOCKING is not enabled, more tests are\nexpected to pass unexpectedly, but there no tests that should\nstart to fail that pass with CONFIG_PROVE_LOCKING enabled.\n\nSigned-off-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: dri-devel@lists.freedesktop.org\nCc: linaro-mm-sig@lists.linaro.org\nCc: rostedt@goodmis.org\nCc: daniel@ffwll.ch\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20130620113151.4001.77963.stgit@patser\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f3cf139efa4bc0fe4f032af6ca3e49e38a5d9ae5",
      "tree": "2c21ea868c522edd2642dac07718a94cf816b6c1",
      "parents": [
        "2fe3d4b149ccebbb384062fbbe6634439f2bf120"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "maarten.lankhorst@canonical.com",
        "time": "Thu Jun 20 13:31:42 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 26 12:10:58 2013 +0200"
      },
      "message": "mutex: Add more w/w tests to test EDEADLK path handling\n\nSigned-off-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: dri-devel@lists.freedesktop.org\nCc: linaro-mm-sig@lists.linaro.org\nCc: rostedt@goodmis.org\nCc: daniel@ffwll.ch\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20130620113141.4001.54331.stgit@patser\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2fe3d4b149ccebbb384062fbbe6634439f2bf120",
      "tree": "cc868c534a58bc75f8704d11d9a845a50fe85c17",
      "parents": [
        "1de994452f44005e4b1f5c6c77eae4a26f86d484"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "maarten.lankhorst@canonical.com",
        "time": "Thu Jun 20 13:31:30 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 26 12:10:57 2013 +0200"
      },
      "message": "mutex: Add more tests to lib/locking-selftest.c\n\nNone of the ww_mutex codepaths should be taken in the \u0027normal\u0027\nmutex calls. The easiest way to verify this is by using the\nnormal mutex calls, and making sure o.ctx is unmodified.\n\nSigned-off-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: dri-devel@lists.freedesktop.org\nCc: linaro-mm-sig@lists.linaro.org\nCc: robclark@gmail.com\nCc: rostedt@goodmis.org\nCc: daniel@ffwll.ch\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20130620113130.4001.45423.stgit@patser\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1de994452f44005e4b1f5c6c77eae4a26f86d484",
      "tree": "e8de47c719892694c3586d52c421be285639f888",
      "parents": [
        "230100276955529d5a7c69207421756b9a61a8e5"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "maarten.lankhorst@canonical.com",
        "time": "Thu Jun 20 13:31:24 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 26 12:10:57 2013 +0200"
      },
      "message": "mutex: Add w/w tests to lib/locking-selftest.c\n\nThis stresses the lockdep code in some ways specifically useful\nto ww_mutexes. It adds checks for most of the common locking\nerrors.\n\nSigned-off-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: dri-devel@lists.freedesktop.org\nCc: linaro-mm-sig@lists.linaro.org\nCc: robclark@gmail.com\nCc: rostedt@goodmis.org\nCc: daniel@ffwll.ch\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20130620113124.4001.23186.stgit@patser\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "230100276955529d5a7c69207421756b9a61a8e5",
      "tree": "e9cb48f8e43bd7e3d3cf38ee1f1e2838de112913",
      "parents": [
        "040a0a37100563754bb1fee6ff6427420bcfa609"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Thu Jun 20 13:31:17 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 26 12:10:56 2013 +0200"
      },
      "message": "mutex: Add w/w mutex slowpath debugging\n\nInjects EDEADLK conditions at pseudo-random interval, with\nexponential backoff up to UINT_MAX (to ensure that every lock\noperation still completes in a reasonable time).\n\nThis way we can test the wound slowpath even for ww mutex users\nwhere contention is never expected, and the ww deadlock\navoidance algorithm is only needed for correctness against\nmalicious userspace. An example would be protecting kernel\nmodesetting properties, which thanks to single-threaded X isn\u0027t\nreally expected to contend, ever.\n\nI\u0027ve looked into using the CONFIG_FAULT_INJECTION\ninfrastructure, but decided against it for two reasons:\n\n- EDEADLK handling is mandatory for ww mutex users and should\n  never affect the outcome of a syscall. This is in contrast to -ENOMEM\n  injection. So fine configurability isn\u0027t required.\n\n- The fault injection framework only allows to set a simple\n  probability for failure. Now the probability that a ww mutex acquire\n  stage with N locks will never complete (due to too many injected\n  EDEADLK backoffs) is zero. But the expected number of ww_mutex_lock\n  operations for the completely uncontended case would be O(exp(N)).\n  The per-acuiqire ctx exponential backoff solution choosen here only\n  results in O(log N) overhead due to injection and so O(log N * N)\n  lock operations. This way we can fail with high probability (and so\n  have good test coverage even for fancy backoff and lock acquisition\n  paths) without running into patalogical cases.\n\nNote that EDEADLK will only ever be injected when we managed to\nacquire the lock. This prevents any behaviour changes for users\nwhich rely on the EALREADY semantics.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: dri-devel@lists.freedesktop.org\nCc: linaro-mm-sig@lists.linaro.org\nCc: rostedt@goodmis.org\nCc: daniel@ffwll.ch\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20130620113117.4001.21681.stgit@patser\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "040a0a37100563754bb1fee6ff6427420bcfa609",
      "tree": "153e76b27ef95f57ad2055d42b8bb07cb1f8d493",
      "parents": [
        "a41b56efa70e060f650aeb54740aaf52044a1ead"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "maarten.lankhorst@canonical.com",
        "time": "Mon Jun 24 10:30:04 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 26 12:10:56 2013 +0200"
      },
      "message": "mutex: Add support for wound/wait style locks\n\nWound/wait mutexes are used when other multiple lock\nacquisitions of a similar type can be done in an arbitrary\norder. The deadlock handling used here is called wait/wound in\nthe RDBMS literature: The older tasks waits until it can acquire\nthe contended lock. The younger tasks needs to back off and drop\nall the locks it is currently holding, i.e. the younger task is\nwounded.\n\nFor full documentation please read Documentation/ww-mutex-design.txt.\n\nReferences: https://lwn.net/Articles/548909/\nSigned-off-by: Maarten Lankhorst \u003cmaarten.lankhorst@canonical.com\u003e\nAcked-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nAcked-by: Rob Clark \u003crobdclark@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: dri-devel@lists.freedesktop.org\nCc: linaro-mm-sig@lists.linaro.org\nCc: rostedt@goodmis.org\nCc: daniel@ffwll.ch\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/51C8038C.9000106@canonical.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a857c6e7d5fda19c39674a61d9f360bc43a7dcf6",
      "tree": "149ce92604fc9b649653ec0b273810162d21793b",
      "parents": [
        "930d800bded771b26d9944c47810829130ff7c8c"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jan 08 19:09:14 2013 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Jun 19 17:54:06 2013 +0200"
      },
      "message": "X.509: do not emit any informational output\n\nWhen building a kernel using \u0027make -s\u0027, I expect to see an empty output,\nexcept for build warnings and errors. The build_OID_registry code\nalways prints one line when run, which is not helpful to most people\nbuilding the kernels, and which makes it harder to automatically\ncheck for build warnings.\n\nLet\u0027s just remove the one line output.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "278cee0515a3b3abb0d4e614d969b5be35c2c288",
      "tree": "84c5b7eb509ee8f70636d87f9b1099b2e15094fa",
      "parents": [
        "b6f4287c493d666c6d97f2c1dff82cf63b143153"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Sat Jun 01 01:30:56 2013 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jun 18 13:48:45 2013 +0200"
      },
      "message": "treewide: Fix typo in printk\n\nCorrect spelling typo in printk within various drivers.\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "bb07b00be77fb33274cb44a03bdbf2471e556189",
      "tree": "620390077de843dd7626998f0d8441d14a6c66d9",
      "parents": [
        "b7165ebbf0898bad9aaeddfa22b918e94ed90e07",
        "7d132055814ef17a6c7b69f342244c410a5e000f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jun 17 16:57:20 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jun 17 16:57:20 2013 -0700"
      },
      "message": "Merge 3.10-rc6 into driver-core-next\n\nWe want these fixes here too.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0e496b8e84410c96d1ffc86f0b37b0328a4234da",
      "tree": "d8a2aeeaee03eb4f305ba4dc5ab9395c4ee31321",
      "parents": [
        "214da6728acac285cac0e8e9b6c4c13838b8e1b0",
        "7d132055814ef17a6c7b69f342244c410a5e000f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jun 17 11:54:25 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jun 17 11:54:25 2013 -0700"
      },
      "message": "Merge 3.10-rc6 into char-misc-next\n\nWe want the fixes in here.\n"
    },
    {
      "commit": "a4244454df1296e90cc961c1b636b1176ef0d9a0",
      "tree": "9be151f1e7a791dbf2d146fc5283ed246562d7f1",
      "parents": [
        "dbece3a0f1ef0b19aff1cc6ed0942fec9ab98de1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Jun 16 16:12:26 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Jun 16 16:12:26 2013 -0700"
      },
      "message": "percpu-refcount: use RCU-sched insted of normal RCU\n\npercpu-refcount was incorrectly using preempt_disable/enable() for RCU\ncritical sections against call_rcu().  6a24474da8 (\"percpu-refcount:\nconsistently use plain (non-sched) RCU\") fixed it by converting the\npreepmtion operations with rcu_read_[un]lock() citing that there isn\u0027t\nany advantage in using sched-RCU over using the usual one; however,\nrcu_read_[un]lock() for the preemptible RCU implementation -\nCONFIG_TREE_PREEMPT_RCU, chosen when CONFIG_PREEMPT - are slightly\nmore expensive than preempt_disable/enable().\n\nIn a contrived microbench which repeats the followings,\n\n - percpu_ref_get()\n - copy 32 bytes of data into percpu buffer\n - percpu_put_get()\n - copy 32 bytes of data into percpu buffer\n\nrcu_read_[un]lock() used in percpu_ref_get/put() makes it go slower by\nabout 15% when compared to using sched-RCU.\n\nAs the RCU critical sections are extremely short, using sched-RCU\nshouldn\u0027t have any latency implications.  Convert to RCU-sched.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "dbece3a0f1ef0b19aff1cc6ed0942fec9ab98de1",
      "tree": "3f594245c15b2f3ae8de6ec0c339e024988d22c4",
      "parents": [
        "bc497bd33b2d6a6f07bc8574b4764edbd7fdffa8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 13 19:23:53 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 13 19:23:53 2013 -0700"
      },
      "message": "percpu-refcount: implement percpu_tryget() along with percpu_ref_kill_and_confirm()\n\nImplement percpu_tryget() which stops giving out references once the\npercpu_ref is visible as killed.  Because the refcnt is per-cpu,\ndifferent CPUs will start to see a refcnt as killed at different\npoints in time and tryget() may continue to succeed on subset of cpus\nfor a while after percpu_ref_kill() returns.\n\nFor use cases where it\u0027s necessary to know when all CPUs start to see\nthe refcnt as dead, percpu_ref_kill_and_confirm() is added.  The new\nfunction takes an extra argument @confirm_kill which is invoked when\nthe refcnt is guaranteed to be viewed as killed on all CPUs.\n\nWhile this isn\u0027t the prettiest interface, it doesn\u0027t force synchronous\nwait and is much safer than requiring the caller to do its own\ncall_rcu().\n\nv2: Patch description rephrased to emphasize that tryget() may\n    continue to succeed on some CPUs after kill() returns as suggested\n    by Kent.\n\nv3: Function comment in percpu_ref_kill_and_confirm() updated warning\n    people to not depend on the implied RCU grace period from the\n    confirm callback as it\u0027s an implementation detail.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSlightly-Grumpily-Acked-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\n"
    },
    {
      "commit": "bc497bd33b2d6a6f07bc8574b4764edbd7fdffa8",
      "tree": "2425880399cae042dcb7bf9c4fefdbdaf67f6ab5",
      "parents": [
        "acac7883ee7bcc32476963bce7baf73d44574dd1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 12 20:52:35 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 13 11:08:27 2013 -0700"
      },
      "message": "percpu-refcount: implement percpu_ref_cancel_init()\n\nNormally, percpu_ref_init() initializes and percpu_ref_kill()\ninitiates destruction which completes asynchronously.  The\nasynchronous destruction can be problematic in init failure path where\nthe caller wants to destroy half-constructed object - distinguishing\nhalf-constructed objects from the usual release method can be painful\nfor complex objects.\n\nThis patch implements percpu_ref_cancel_init() which synchronously\ndestroys the percpu_ref without invoking release.  To avoid\nunintentional misuses, the function requires the ref to have finished\npercpu_ref_init() but never used and triggers WARN otherwise.\n\nv2: Explain the weird name and usage restriction in the function\n    comment.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\n"
    },
    {
      "commit": "acac7883ee7bcc32476963bce7baf73d44574dd1",
      "tree": "1ac595ff0f048b4beb74fd59819233b066c2d2f2",
      "parents": [
        "ac899061a93250c28562f05ad94d5c74603415bc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 12 20:52:01 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 13 11:08:26 2013 -0700"
      },
      "message": "percpu-refcount: add __must_check to percpu_ref_init() and don\u0027t use ACCESS_ONCE() in percpu_ref_kill_rcu()\n\nTwo small changes.\n\n* Unlike most init functions, percpu_ref_init() allocates memory and\n  may fail.  Let\u0027s mark it with __must_check in case the caller\n  forgets.\n\n* percpu_ref_kill_rcu() is unnecessarily using ACCESS_ONCE() to\n  dereference @ref-\u003epcpu_count, which can be misleading.  The pointer\n  is guaranteed to be valid and visible and can\u0027t change underneath\n  the function.  Drop ACCESS_ONCE().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "ac899061a93250c28562f05ad94d5c74603415bc",
      "tree": "26acc69d4b0f509b2ee0693d3fd7b0fd12232059",
      "parents": [
        "6a24474da83ea7c8b7d32f05f858b1259994067a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 12 20:43:06 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 12 20:43:06 2013 -0700"
      },
      "message": "percpu-refcount: cosmetic updates\n\n* s/percpu_ref_release/percpu_ref_func_t/ as it\u0027s customary to have _t\n  postfix for types and the type is gonna be used for a different type\n  of callback too.\n\n* Add @ARG to function comments.\n\n* Drop unnecessary and unaligned indentation from percpu_ref_init()\n  function comment.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\n"
    },
    {
      "commit": "5402b8047b0d286b6501f9097891cbf1e06daa3a",
      "tree": "9b656a3842c07b1407579a5096f500998ccf95ed",
      "parents": [
        "637241a900cbd982f744d44646b48a273d609b34"
      ],
      "author": {
        "name": "Chen Gang",
        "email": "gang.chen@asianux.com",
        "time": "Wed Jun 12 14:04:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 12 16:29:44 2013 -0700"
      },
      "message": "lib/mpi/mpicoder.c: looping issue, need stop when equal to zero, found by \u0027EXTRA_FLAGS\u003d-W\u0027.\n\nFor \u0027while\u0027 looping, need stop when \u0027nbytes \u003d\u003d 0\u0027, or will cause issue.\n(\u0027nbytes\u0027 is size_t which is always bigger or equal than zero).\n\nThe related warning: (with EXTRA_CFLAGS\u003d-W)\n\n  lib/mpi/mpicoder.c:40:2: warning: comparison of unsigned expression \u003e\u003d 0 is always true [-Wtype-limits]\n\nSigned-off-by: Chen Gang \u003cgang.chen@asianux.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7165ebbf0898bad9aaeddfa22b918e94ed90e07",
      "tree": "1256297e5ed27757724770a5f6f5a40589be031f",
      "parents": [
        "fc60bb8339b66183f40ea9a001538c958f6d2c9e"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Jun 06 13:52:19 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 07 16:05:50 2013 -0700"
      },
      "message": "kobject: sanitize argument for format string\n\nUnlike kobject_set_name(), the kset_create_and_add() interface does not\nprovide a way to use format strings, so make sure that the interface\ncannot be abused accidentally. It looks like all current callers use\nstatic strings, so there\u0027s no existing flaw.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4cd5773a2ae6facdde3f563087a4cc50f00d9530",
      "tree": "f473e0a20e69f056394d3b268bfb4256cedff4ed",
      "parents": [
        "143e9c76c487957de89808cf2a3c828518ad131b"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andy.shevchenko@gmail.com",
        "time": "Tue Jun 04 19:46:26 2013 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jun 05 12:00:27 2013 -0700"
      },
      "message": "net: core: move mac_pton() to lib/net_utils.c\n\nSince we have at least one user of this function outside of CONFIG_NET\nscope, we have to provide this function independently. The proposed\nsolution is to move it under lib/net_utils.c with corresponding\nconfiguration variable and select wherever it is needed.\n\nSigned-off-by: Andy Shevchenko \u003candy.shevchenko@gmail.com\u003e\nReported-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "67822649d7305caf3dd50ed46c27b99c94eff996",
      "tree": "e12f15bf5e8ebad64f33df36ac8a6a8f95f811e0",
      "parents": [
        "bbb85b25688fcdc70b895711870c23de7b12721b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 05 16:27:51 2013 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 05 16:27:51 2013 +0800"
      },
      "message": "crypto: crct10dif - Use PTR_RET\n\nlib/crc-t10dif.c:42:1-3: WARNING: PTR_RET can be used\n\n Use PTR_RET rather than if(IS_ERR(...)) + PTR_ERR\n\nGenerated by: coccinelle/api/ptr_ret.cocci\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "c1ae6e9b4db00023b9caed72af49a93abad46452",
      "tree": "3bd3a5c78af7a7a18d6f390f651b8f5dbaba4c0b",
      "parents": [
        "215e262f2aeba378aa192da07c30770f9925a4bf"
      ],
      "author": {
        "name": "Kent Overstreet",
        "email": "koverstreet@google.com",
        "time": "Mon Jun 03 16:02:29 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Jun 03 16:04:04 2013 -0700"
      },
      "message": "percpu-refcount: Don\u0027t use silly cmpxchg()\n\nThe cmpxchg() was just to ensure the debug check didn\u0027t race, which was\na bit excessive. The caller is supposed to do the appropriate\nsynchronization, which means percpu_ref_kill() can just do a simple\nstore.\n\nSigned-off-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "215e262f2aeba378aa192da07c30770f9925a4bf",
      "tree": "c854461e40f3ce9dde45f7128679b20a362643f8",
      "parents": [
        "042dd60ca6dec9a02cefa8edd67de386e35755d6"
      ],
      "author": {
        "name": "Kent Overstreet",
        "email": "koverstreet@google.com",
        "time": "Fri May 31 15:26:45 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Jun 03 15:36:41 2013 -0700"
      },
      "message": "percpu: implement generic percpu refcounting\n\nThis implements a refcount with similar semantics to\natomic_get()/atomic_dec_and_test() - but percpu.\n\nIt also implements two stage shutdown, as we need it to tear down the\npercpu counts.  Before dropping the initial refcount, you must call\npercpu_ref_kill(); this puts the refcount in \"shutting down mode\" and\nswitches back to a single atomic refcount with the appropriate\nbarriers (synchronize_rcu()).\n\nIt\u0027s also legal to call percpu_ref_kill() multiple times - it only\nreturns true once, so callers don\u0027t have to reimplement shutdown\nsynchronization.\n\n[akpm@linux-foundation.org: fix build]\n[akpm@linux-foundation.org: coding-style tweak]\nSigned-off-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\nCc: Zach Brown \u003czab@redhat.com\u003e\nCc: Felipe Balbi \u003cbalbi@ti.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nCc: Selvan Mani \u003csmani@micron.com\u003e\nCc: Sam Bradshaw \u003csbradshaw@micron.com\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nReviewed-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "3a76e5e09fbb51e756b4e732e3e65446f4984cf5",
      "tree": "b08061613e352317bc3189abff31609279c0f2fa",
      "parents": [
        "4993632218e2202d4f110c8e83ae819ca26e6845"
      ],
      "author": {
        "name": "Seth Jennings",
        "email": "sjenning@linux.vnet.ibm.com",
        "time": "Mon Jun 03 15:33:02 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jun 03 13:55:01 2013 -0700"
      },
      "message": "debugfs: add get/set for atomic types\n\ndebugfs currently lack the ability to create attributes\nthat set/get atomic_t values.\n\nThis patch adds support for this through a new\ndebugfs_create_atomic_t() function.\n\nSigned-off-by: Seth Jennings \u003csjenning@linux.vnet.ibm.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "360603a1be2c7dc940105575f7dd1b8b82d1c3b3",
      "tree": "58dc2ff7b263d8e9e2d1cd7105d848f5bbe4fb34",
      "parents": [
        "a7d4e022ca350bd6a0b45382bb58d907092139dd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 28 15:47:39 2013 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed May 29 01:14:46 2013 +0200"
      },
      "message": "sprintf: hex_string(): fix comment\n\nhex_string() had a typo in a comment.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "70ef5578dd8011eeafa999a18194d9b548a4d889",
      "tree": "9d6c403711e784ccca4a38761435424e44c27306",
      "parents": [
        "17fdfd0851617b6c18c0913364caf2a54171ce85"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Sun May 05 22:08:22 2013 +0000"
      },
      "committer": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Fri May 24 22:30:11 2013 +0200"
      },
      "message": "MPILIB: disable usage of floating point registers on parisc\n\nThe umul_ppmm() macro for parisc uses the xmpyu assembler statement\nwhich does calculation via a floating point register.\n\nBut usage of floating point registers inside the Linux kernel are not\nallowed and gcc will stop compilation due to the -mdisable-fpregs\ncompiler option.\n\nFix this by disabling the umul_ppmm() and udiv_qrnnd() macros. The\nmpilib will then use the generic built-in implementations instead.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "c7153d0643dd161df9e7a2fcb952418055aa5fca",
      "tree": "b6db0c75eb77ce920c3aa3c8b63071f661a14e98",
      "parents": [
        "5cc0c03823ca18c490f8223f85ed40f2a9d936c4",
        "ac5a2962b02f57dea76d314ef2521a2170b28ab6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 23 09:27:08 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 23 09:27:08 2013 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.10-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core fixes from Greg Kroah-Hartman:\n \"Here are 3 tiny driver core fixes for 3.10-rc2.\n\n  A needed symbol export, a change to make it easier to track down\n  offending sysfs files with incorrect attributes, and a klist bugfix.\n\n  All have been in linux-next for a while\"\n\n* tag \u0027driver-core-3.10-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  klist: del waiter from klist_remove_waiters before wakeup waitting process\n  driver core: print sysfs attribute name when warning about bogus permissions\n  driver core: export subsys_virtual_register\n"
    },
    {
      "commit": "b4d3ba3346f092b9185da991414775281ceacaac",
      "tree": "d18fa278f09e9717a000e14728f9c55960dc5126",
      "parents": [
        "101b82f56d50a445bb5281f834c86e106732070f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@infradead.org",
        "time": "Wed May 22 22:46:09 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 23 09:17:11 2013 -0700"
      },
      "message": "lib: make iovec obj instead of lib\n\nFix build error io vmw_vmci.ko when CONFIG_VMWARE_VMCI\u003dm by chaning\niovec.o from lib-y to obj-y.\n\n  ERROR: \"memcpy_toiovec\" [drivers/misc/vmw_vmci/vmw_vmci.ko] undefined!\n  ERROR: \"memcpy_fromiovec\" [drivers/misc/vmw_vmci/vmw_vmci.ko] undefined!\n\nSigned-off-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac5a2962b02f57dea76d314ef2521a2170b28ab6",
      "tree": "07c5b125c8b80182fedd9fd74098b79647f7a08f",
      "parents": [
        "97521978c5ea80857d4f4f74d4e1fc93721482cf"
      ],
      "author": {
        "name": "wang, biao",
        "email": "biao.wang@intel.com",
        "time": "Thu May 16 09:50:13 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 21 10:16:39 2013 -0700"
      },
      "message": "klist: del waiter from klist_remove_waiters before wakeup waitting process\n\nThere is a race between klist_remove and klist_release. klist_remove\nuses a local var waiter saved on stack. When klist_release calls\nwake_up_process(waiter-\u003eprocess) to wake up the waiter, waiter might run\nimmediately and reuse the stack. Then, klist_release calls\nlist_del(\u0026waiter-\u003elist) to change previous\nwait data and cause prior waiter thread corrupt.\n\nThe patch fixes it against kernel 3.9.\n\nSigned-off-by: wang, biao \u003cbiao.wang@intel.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2d31e518a42828df7877bca23a958627d60408bc",
      "tree": "83630715e5a962e734a936310adae2731edb8a3d",
      "parents": [
        "986dfbcf8b493928188f0e634068993bf2067ad7"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Wed May 01 12:52:48 2013 -0700"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 20 20:11:01 2013 +0800"
      },
      "message": "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework\n\nWhen CRC T10 DIF is calculated using the crypto transform framework, we\nwrap the crc_t10dif function call to utilize it.  This allows us to\ntake advantage of any accelerated CRC T10 DIF transform that is\nplugged into the crypto framework.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "d2f83e9078b8114e3b9d09082856c1aac299aa37",
      "tree": "707f0d810d28e000eb3f9a775be880687dde1030",
      "parents": [
        "d5fe85af85367d5892e4308f596de4e2a5fb9017"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 17 09:05:21 2013 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 20 10:24:22 2013 +0930"
      },
      "message": "Hoist memcpy_fromiovec/memcpy_toiovec into lib/\n\nERROR: \"memcpy_fromiovec\" [drivers/vhost/vhost_scsi.ko] undefined!\n\nThat function is only present with CONFIG_NET.  Turns out that\ncrypto/algif_skcipher.c also uses that outside net, but it actually\nneeds sockets anyway.\n\nIn addition, commit 6d4f0139d642c45411a47879325891ce2a7c164a added\nCONFIG_NET dependency to CONFIG_VMCI for memcpy_toiovec, so hoist\nthat function and revert that commit too.\n\nsocket.h already includes uio.h, so no callers need updating; trying\nonly broke things fo x86_64 randconfig (thanks Fengguang!).\n\nReported-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ebb37277796269da36a8bc5d72ed1e8e1fb7d34b",
      "tree": "0ded627a62a5cec70b18d12825dd858855c135d3",
      "parents": [
        "4de13d7aa8f4d02f4dc99d4609575659f92b3c5a",
        "f50efd2fdbd9b35b11f5778ed85beb764184bda9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 08 11:51:05 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 08 11:51:05 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.10/drivers\u0027 of git://git.kernel.dk/linux-block\n\nPull block driver updates from Jens Axboe:\n \"It might look big in volume, but when categorized, not a lot of\n  drivers are touched.  The pull request contains:\n\n   - mtip32xx fixes from Micron.\n\n   - A slew of drbd updates, this time in a nicer series.\n\n   - bcache, a flash/ssd caching framework from Kent.\n\n   - Fixes for cciss\"\n\n* \u0027for-3.10/drivers\u0027 of git://git.kernel.dk/linux-block: (66 commits)\n  bcache: Use bd_link_disk_holder()\n  bcache: Allocator cleanup/fixes\n  cciss: bug fix to prevent cciss from loading in kdump crash kernel\n  cciss: add cciss_allow_hpsa module parameter\n  drivers/block/mg_disk.c: add CONFIG_PM_SLEEP to suspend/resume functions\n  mtip32xx: Workaround for unaligned writes\n  bcache: Make sure blocksize isn\u0027t smaller than device blocksize\n  bcache: Fix merge_bvec_fn usage for when it modifies the bvm\n  bcache: Correctly check against BIO_MAX_PAGES\n  bcache: Hack around stuff that clones up to bi_max_vecs\n  bcache: Set ra_pages based on backing device\u0027s ra_pages\n  bcache: Take data offset from the bdev superblock.\n  mtip32xx: mtip32xx: Disable TRIM support\n  mtip32xx: fix a smatch warning\n  bcache: Disable broken btree fuzz tester\n  bcache: Fix a format string overflow\n  bcache: Fix a minor memory leak on device teardown\n  bcache: Documentation updates\n  bcache: Use WARN_ONCE() instead of __WARN()\n  bcache: Add missing #include \u003clinux/prefetch.h\u003e\n  ...\n"
    },
    {
      "commit": "9607a85b67a9714290a78c1a56630ab1c9fa2c23",
      "tree": "b1f5f8c8a056f39f160bdd08f1f2340d5a700710",
      "parents": [
        "2d864e41710f1d2ba406fb62018ab0487152e6f2"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "davidlohr.bueso@hp.com",
        "time": "Tue May 07 15:39:03 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 16:11:51 2013 -0700"
      },
      "message": "rwsem: check counter to avoid cmpxchg calls\n\nThis patch tries to reduce the amount of cmpxchg calls in the writer\nfailed path by checking the counter value first before issuing the\ninstruction.  If -\u003ecount is not set to RWSEM_WAITING_BIAS then there is\nno point wasting a cmpxchg call.\n\nFurthermore, Michel states \"I suppose it helps due to the case where\nsomeone else steals the lock while we\u0027re trying to acquire\nsem-\u003ewait_lock.\"\n\nTwo very different workloads and machines were used to see how this\npatch improves throughput: pgbench on a quad-core laptop and aim7 on a\nlarge 8 socket box with 80 cores.\n\nSome results comparing Michel\u0027s fast-path write lock stealing\n(tps-rwsem) on a quad-core laptop running pgbench:\n\n  | db_size | clients  |  tps-rwsem     |   tps-patch  |\n  +---------+----------+----------------+--------------+\n  | 160 MB   |       1 |           6906 |         9153 | + 32.5\n  | 160 MB   |       2 |          15931 |        22487 | + 41.1%\n  | 160 MB   |       4 |          33021 |        32503 |\n  | 160 MB   |       8 |          34626 |        34695 |\n  | 160 MB   |      16 |          33098 |        34003 |\n  | 160 MB   |      20 |          31343 |        31440 |\n  | 160 MB   |      30 |          28961 |        28987 |\n  | 160 MB   |      40 |          26902 |        26970 |\n  | 160 MB   |      50 |          25760 |        25810 |\n  ------------------------------------------------------\n  | 1.6 GB   |       1 |           7729 |         7537 |\n  | 1.6 GB   |       2 |          19009 |        23508 | + 23.7%\n  | 1.6 GB   |       4 |          33185 |        32666 |\n  | 1.6 GB   |       8 |          34550 |        34318 |\n  | 1.6 GB   |      16 |          33079 |        32689 |\n  | 1.6 GB   |      20 |          31494 |        31702 |\n  | 1.6 GB   |      30 |          28535 |        28755 |\n  | 1.6 GB   |      40 |          27054 |        27017 |\n  | 1.6 GB   |      50 |          25591 |        25560 |\n  ------------------------------------------------------\n  | 7.6 GB   |       1 |           6224 |         7469 | + 20.0%\n  | 7.6 GB   |       2 |          13611 |        12778 |\n  | 7.6 GB   |       4 |          33108 |        32927 |\n  | 7.6 GB   |       8 |          34712 |        34878 |\n  | 7.6 GB   |      16 |          32895 |        33003 |\n  | 7.6 GB   |      20 |          31689 |        31974 |\n  | 7.6 GB   |      30 |          29003 |        28806 |\n  | 7.6 GB   |      40 |          26683 |        26976 |\n  | 7.6 GB   |      50 |          25925 |        25652 |\n  ------------------------------------------------------\n\nFor the aim7 worloads, they overall improved on top of Michel\u0027s\npatchset.  For full graphs on how the rwsem series plus this patch\nbehaves on a large 8 socket machine against a vanilla kernel:\n\n  http://stgolabs.net/rwsem-aim7-results.tar.gz\n\nSigned-off-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d864e41710f1d2ba406fb62018ab0487152e6f2",
      "tree": "52c6a3172b7a4099830962323f2a1742fa166b01",
      "parents": [
        "292088ee032d0df59e7c8a7a00e9b97260146078"
      ],
      "author": {
        "name": "Anatol Pomozov",
        "email": "anatol.pomozov@gmail.com",
        "time": "Tue May 07 15:37:48 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 16:09:00 2013 -0700"
      },
      "message": "kref: minor cleanup\n\n - make warning smp-safe\n - result of atomic _unless_zero functions should be checked by caller\n   to avoid use-after-free error\n - trivial whitespace fix.\n\nLink: https://lkml.org/lkml/2013/4/12/391\n\nTested: compile x86, boot machine and run xfstests\nSigned-off-by: Anatol Pomozov \u003canatol.pomozov@gmail.com\u003e\n[ Removed line-break, changed to use WARN_ON_ONCE()  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8de2fa4dc2778ae3605925c127b3deac54b2b3a",
      "tree": "3b123a360b3b118d0f43efdb9180d205f8d4ccd7",
      "parents": [
        "0f47c9423c0fe468d0b5b153f9b9d6e8e20707eb",
        "b5f541810ea9fb98d93c0ee0e00e07a22874856f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 09:22:03 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 09:22:03 2013 -0700"
      },
      "message": "Merge branch \u0027rwsem-optimizations\u0027\n\nMerge rwsem optimizations from Michel Lespinasse:\n \"These patches extend Alex Shi\u0027s work (which added write lock stealing\n  on the rwsem slow path) in order to provide rwsem write lock stealing\n  on the fast path (that is, without taking the rwsem\u0027s wait_lock).\n\n  I have unfortunately been unable to push this through -next before due\n  to Ingo Molnar / David Howells / Peter Zijlstra being busy with other\n  things.  However, this has gotten some attention from Rik van Riel and\n  Davidlohr Bueso who both commented that they felt this was ready for\n  v3.10, and Ingo Molnar has said that he was OK with me pushing\n  directly to you.  So, here goes :)\n\n  Davidlohr got the following test results from pgbench running on a\n  quad-core laptop:\n\n    | db_size | clients  |  tps-vanilla   |   tps-rwsem  |\n    +---------+----------+----------------+--------------+\n    | 160 MB   |       1 |           5803 |         6906 | + 19.0%\n    | 160 MB   |       2 |          13092 |        15931 |\n    | 160 MB   |       4 |          29412 |        33021 |\n    | 160 MB   |       8 |          32448 |        34626 |\n    | 160 MB   |      16 |          32758 |        33098 |\n    | 160 MB   |      20 |          26940 |        31343 | + 16.3%\n    | 160 MB   |      30 |          25147 |        28961 |\n    | 160 MB   |      40 |          25484 |        26902 |\n    | 160 MB   |      50 |          24528 |        25760 |\n    ------------------------------------------------------\n    | 1.6 GB   |       1 |           5733 |         7729 | + 34.8%\n    | 1.6 GB   |       2 |           9411 |        19009 | + 101.9%\n    | 1.6 GB   |       4 |          31818 |        33185 |\n    | 1.6 GB   |       8 |          33700 |        34550 |\n    | 1.6 GB   |      16 |          32751 |        33079 |\n    | 1.6 GB   |      20 |          30919 |        31494 |\n    | 1.6 GB   |      30 |          28540 |        28535 |\n    | 1.6 GB   |      40 |          26380 |        27054 |\n    | 1.6 GB   |      50 |          25241 |        25591 |\n    ------------------------------------------------------\n    | 7.6 GB   |       1 |           5779 |         6224 |\n    | 7.6 GB   |       2 |          10897 |        13611 | + 24.9%\n    | 7.6 GB   |       4 |          32683 |        33108 |\n    | 7.6 GB   |       8 |          33968 |        34712 |\n    | 7.6 GB   |      16 |          32287 |        32895 |\n    | 7.6 GB   |      20 |          27770 |        31689 | + 14.1%\n    | 7.6 GB   |      30 |          26739 |        29003 |\n    | 7.6 GB   |      40 |          24901 |        26683 |\n    | 7.6 GB   |      50 |          17115 |        25925 | + 51.5%\n    ------------------------------------------------------\n\n  (Davidlohr also has one additional patch which further improves\n  throughput, though I will ask him to send it directly to you as I have\n  suggested some minor changes).\"\n\n* emailed patches from Michel Lespinasse \u003cwalken@google.com\u003e:\n  rwsem: no need for explicit signed longs\n  x86 rwsem: avoid taking slow path when stealing write lock\n  rwsem: do not block readers at head of queue if other readers are active\n  rwsem: implement support for write lock stealing on the fastpath\n  rwsem: simplify __rwsem_do_wake\n  rwsem: skip initial trylock in rwsem_down_write_failed\n  rwsem: avoid taking wait_lock in rwsem_down_write_failed\n  rwsem: use cmpxchg for trying to steal write lock\n  rwsem: more agressive lock stealing in rwsem_down_write_failed\n  rwsem: simplify rwsem_down_write_failed\n  rwsem: simplify rwsem_down_read_failed\n  rwsem: move rwsem_down_failed_common code into rwsem_down_{read,write}_failed\n  rwsem: shorter spinlocked section in rwsem_down_failed_common()\n  rwsem: make the waiter type an enumeration rather than a bitmask\n"
    },
    {
      "commit": "b5f541810ea9fb98d93c0ee0e00e07a22874856f",
      "tree": "eb6cbe19735fe7f9b6928cf21108e79bbe434258",
      "parents": [
        "a31a369b07cf306ae1de0b2d4a52c3821a570bf6"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "davidlohr.bueso@hp.com",
        "time": "Tue May 07 06:46:02 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:17 2013 -0700"
      },
      "message": "rwsem: no need for explicit signed longs\n\nChange explicit \"signed long\" declarations into plain \"long\" as suggested\nby Peter Hurley.\n\nSigned-off-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25c39325968bbcebe6cd2a1991228c9dfb48d655",
      "tree": "627e32434338adcf4f7583219e9b4014b738dcc3",
      "parents": [
        "fe6e674c6187d4f452a679ced7e95262bd517936"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:46:00 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:17 2013 -0700"
      },
      "message": "rwsem: do not block readers at head of queue if other readers are active\n\nThis change fixes a race condition where a reader might determine it\nneeds to block, but by the time it acquires the wait_lock the rwsem has\nactive readers and no queued waiters.\n\nIn this situation the reader can run in parallel with the existing\nactive readers; it does not need to block until the active readers\ncomplete.\n\nThanks to Peter Hurley for noticing this possible race.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe6e674c6187d4f452a679ced7e95262bd517936",
      "tree": "ba04818049ec225a541f278940532473d3005b9c",
      "parents": [
        "8cf5322ce69afea1fab6a6270db24d057d664798"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:59 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: implement support for write lock stealing on the fastpath\n\nWhen we decide to wake up readers, we must first grant them as many read\nlocks as necessary, and then actually wake up all these readers.  But in\norder to know how many read shares to grant, we must first count the\nreaders at the head of the queue.  This might take a while if there are\nmany readers, and we want to be protected against a writer stealing the\nlock while we\u0027re counting.  To that end, we grant the first reader lock\nbefore counting how many more readers are queued.\n\nWe also require some adjustments to the wake_type semantics.\n\nRWSEM_WAKE_NO_ACTIVE used to mean that we had found the count to be\nRWSEM_WAITING_BIAS, in which case the rwsem was known to be free as\nnobody could steal it while we hold the wait_lock.  This doesn\u0027t make\nsense once we implement fastpath write lock stealing, so we now use\nRWSEM_WAKE_ANY in that case.\n\nSimilarly, when rwsem_down_write_failed found that a read lock was\nactive, it would use RWSEM_WAKE_READ_OWNED which signalled that new\nreaders could be woken without checking first that the rwsem was\navailable.  We can\u0027t do that anymore since the existing readers might\nrelease their read locks, and a writer could steal the lock before we\nwake up additional readers.  So, we have to use a new RWSEM_WAKE_READERS\nvalue to indicate we only want to wake readers, but we don\u0027t currently\nhold any read lock.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8cf5322ce69afea1fab6a6270db24d057d664798",
      "tree": "a7b49b135dc7703a4a709562178a847fb9bc4f77",
      "parents": [
        "9b0fc9c09f1b262b7fe697eba6b05095d78850e5"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:58 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: simplify __rwsem_do_wake\n\nThis is mostly for cleanup value:\n\n- We don\u0027t need several gotos to handle the case where the first\n  waiter is a writer. Two simple tests will do (and generate very\n  similar code).\n\n- In the remainder of the function, we know the first waiter is a reader,\n  so we don\u0027t have to double check that. We can use do..while loops\n  to iterate over the readers to wake (generates slightly better code).\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b0fc9c09f1b262b7fe697eba6b05095d78850e5",
      "tree": "5fb25ae32c9aed77f604858a77a27cd4b37bbfc6",
      "parents": [
        "a7d2c573ae7fad1b2c877d1a1342fa5bb0d6478c"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:57 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: skip initial trylock in rwsem_down_write_failed\n\nWe can skip the initial trylock in rwsem_down_write_failed() if there\nare known active lockers already, thus saving one likely-to-fail\ncmpxchg.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7d2c573ae7fad1b2c877d1a1342fa5bb0d6478c",
      "tree": "1494f94f71a299d32a3584565a538e5ffdef1163",
      "parents": [
        "5ede972df1cd9294c82e9515949fd2103be81d7b"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:56 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: avoid taking wait_lock in rwsem_down_write_failed\n\nIn rwsem_down_write_failed(), if there are active locks after we wake up\n(i.e.  the lock got stolen from us), skip taking the wait_lock and go\nback to sleep immediately.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ede972df1cd9294c82e9515949fd2103be81d7b",
      "tree": "2c6df4c16fbe4430ea2723f2aec284105aab08db",
      "parents": [
        "ed00f64346631dff035adfb9b0240daaa8b46c4e"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:55 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: use cmpxchg for trying to steal write lock\n\nUsing rwsem_atomic_update to try stealing the write lock forced us to\nundo the adjustment in the failure path.  We can have simpler and faster\ncode by using cmpxchg instead.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed00f64346631dff035adfb9b0240daaa8b46c4e",
      "tree": "61afae642c8a3333587bf73a8dc19849416e243d",
      "parents": [
        "023fe4f712028d25b42d31984abae1f3d3f0e3e2"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: more agressive lock stealing in rwsem_down_write_failed\n\nSome small code simplifications can be achieved by doing more agressive\nlock stealing:\n\n- When rwsem_down_write_failed() notices that there are no active locks\n  (and thus no thread to wake us if we decided to sleep), it used to wake\n  the first queued process. However, stealing the lock is also sufficient\n  to deal with this case, so we don\u0027t need this check anymore.\n\n- In try_get_writer_sem(), we can steal the lock even when the first waiter\n  is a reader. This is correct because the code path that wakes readers is\n  protected by the wait_lock. As to the performance effects of this change,\n  they are expected to be minimal: readers are still granted the lock\n  (rather than having to acquire it themselves) when they reach the front\n  of the wait queue, so we have essentially the same behavior as in\n  rwsem-spinlock.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "023fe4f712028d25b42d31984abae1f3d3f0e3e2",
      "tree": "59d1f890bfd4047c36808f7f7313bb2e0f39503c",
      "parents": [
        "da16922cc031b9c0221c836994276ab193b31de8"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:53 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: simplify rwsem_down_write_failed\n\nWhen waking writers, we never grant them the lock - instead, they have\nto acquire it themselves when they run, and remove themselves from the\nwait_list when they succeed.\n\nAs a result, we can do a few simplifications in rwsem_down_write_failed():\n\n- We don\u0027t need to check for !waiter.task since __rwsem_do_wake() doesn\u0027t\n  remove writers from the wait_list\n\n- There is no point releaseing the wait_lock before entering the wait loop,\n  as we will need to reacquire it immediately. We can change the loop so\n  that the lock is always held at the start of each loop iteration.\n\n- We don\u0027t need to get a reference on the task structure, since the task\n  is responsible for removing itself from the wait_list. There is no risk,\n  like in the rwsem_down_read_failed() case, that a task would wake up and\n  exit (thus destroying its task structure) while __rwsem_do_wake() is\n  still running - wait_lock protects against that.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da16922cc031b9c0221c836994276ab193b31de8",
      "tree": "8765a482ab31db66f3cc9cab83bf67eaafe88f75",
      "parents": [
        "1e78277ccbbb48af32a618d1ef0e8534e0b648d7"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:52 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: simplify rwsem_down_read_failed\n\nWhen trying to acquire a read lock, the RWSEM_ACTIVE_READ_BIAS\nadjustment doesn\u0027t cause other readers to block, so we never have to\nworry about waking them back after canceling this adjustment in\nrwsem_down_read_failed().\n\nWe also never want to steal the lock in rwsem_down_read_failed(), so we\ndon\u0027t have to grab the wait_lock either.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e78277ccbbb48af32a618d1ef0e8534e0b648d7",
      "tree": "033542c27093b7a24131bee12e84e8ca18cb19dc",
      "parents": [
        "f7dd1cee9a4e2b1450e4a3732636dfbf28562ee4"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:51 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: move rwsem_down_failed_common code into rwsem_down_{read,write}_failed\n\nRemove the rwsem_down_failed_common function and replace it with two\nidentical copies of its code in rwsem_down_{read,write}_failed.\n\nThis is because we want to make different optimizations in\nrwsem_down_{read,write}_failed; we are adding this pure-duplication\nstep as a separate commit in order to make it easier to check the\nfollowing steps.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7dd1cee9a4e2b1450e4a3732636dfbf28562ee4",
      "tree": "4dc69d1b121d07d25d6dac56fd33eaffd6dac91f",
      "parents": [
        "e2d57f782c8a906f80d5b5f54da803c1638929d7"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:16 2013 -0700"
      },
      "message": "rwsem: shorter spinlocked section in rwsem_down_failed_common()\n\nThis change reduces the size of the spinlocked and TASK_UNINTERRUPTIBLE\nsections in rwsem_down_failed_common():\n\n- We only need the sem-\u003ewait_lock to insert ourselves on the wait_list;\n  the waiter node can be prepared outside of the wait_lock.\n\n- The task state only needs to be set to TASK_UNINTERRUPTIBLE immediately\n  before checking if we actually need to sleep; it doesn\u0027t need to protect\n  the entire function.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2d57f782c8a906f80d5b5f54da803c1638929d7",
      "tree": "96a3d2f26b8257d39db40ec4cd3cd52b3ef14588",
      "parents": [
        "c1be5a5b1b355d40e6cf79cc979eb66dafa24ad1"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue May 07 06:45:49 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 07 07:20:15 2013 -0700"
      },
      "message": "rwsem: make the waiter type an enumeration rather than a bitmask\n\nWe are not planning to add some new waiter flags, so we can convert the\nwaiter type into an enumeration.\n\nBackground: David Howells suggested I do this back when I tried adding\na new waiter type for unfair readers. However, I believe the cleanup\napplies regardless of that use case.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nAcked-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e6879460c8edb0cd3c24c09b83d06541b5af0dc",
      "tree": "1f3b8b270280841c16771d02b9ceab5fc1733957",
      "parents": [
        "534c97b0950b1967bca1c753aeaed32f5db40264"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat May 04 08:48:27 2013 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 05 14:38:00 2013 -0700"
      },
      "message": "Give the OID registry file module info to avoid kernel tainting\n\nGive the OID registry file module information so that it doesn\u0027t taint the\nkernel when compiled as a module and loaded.\n\nReported-by: Dros Adamson \u003cWeston.Adamson@netapp.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\ncc: stable@vger.kernel.org\ncc: linux-nfs@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20a2078ce7705a6e0722ef5184336eb8657a58d8",
      "tree": "5b927c96516380aa0ecd68d8a609f7cd72120ad5",
      "parents": [
        "0279b3c0ada1d78882f24acf94ac4595bd657a89",
        "307b9c022720f9de90d58e51743e01e9a42aec59"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 19:40:34 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 19:40:34 2013 -0700"
      },
      "message": "Merge branch \u0027drm-next\u0027 of git://people.freedesktop.org/~airlied/linux\n\nPull drm updates from Dave Airlie:\n \"This is the main drm pull request for 3.10.\n\n  Wierd bits:\n   - OMAP drm changes required OMAP dss changes, in drivers/video, so I\n     took them in here.\n   - one more fbcon fix for font handover\n   - VT switch avoidance in pm code\n   - scatterlist helpers for gpu drivers - have acks from akpm\n\n  Highlights:\n   - qxl kms driver - driver for the spice qxl virtual GPU\n\n  Nouveau:\n   - fermi/kepler VRAM compression\n   - GK110/nvf0 modesetting support.\n\n  Tegra:\n   - host1x core merged with 2D engine support\n\n  i915:\n   - vt switchless resume\n   - more valleyview support\n   - vblank fixes\n   - modesetting pipe config rework\n\n  radeon:\n   - UVD engine support\n   - SI chip tiling support\n   - GPU registers initialisation from golden values.\n\n  exynos:\n   - device tree changes\n   - fimc block support\n\n  Otherwise:\n   - bunches of fixes all over the place.\"\n\n* \u0027drm-next\u0027 of git://people.freedesktop.org/~airlied/linux: (513 commits)\n  qxl: update to new idr interfaces.\n  drm/nouveau: fix build with nv50-\u003envc0\n  drm/radeon: fix handling of v6 power tables\n  drm/radeon: clarify family checks in pm table parsing\n  drm/radeon: consolidate UVD clock programming\n  drm/radeon: fix UPLL_REF_DIV_MASK definition\n  radeon: add bo tracking debugfs\n  drm/radeon: add new richland pci ids\n  drm/radeon: add some new SI PCI ids\n  drm/radeon: fix scratch reg handling for UVD fence\n  drm/radeon: allocate SA bo in the requested domain\n  drm/radeon: fix possible segfault when parsing pm tables\n  drm/radeon: fix endian bugs in atom_allocate_fb_scratch()\n  OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found\n  OMAPDSS: VENC: Add error handling for venc_probe_pdata\n  OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata\n  OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata\n  OMAPDSS: DSI: Add error handling for dsi_probe_pdata\n  OMAPDSS: SDI: Add error handling for sdi_probe_pdata\n  OMAPDSS: DPI: Add error handling for dpi_probe_pdata\n  ...\n"
    },
    {
      "commit": "0279b3c0ada1d78882f24acf94ac4595bd657a89",
      "tree": "ba31505ea6581b840604493d0233857bb7ce58d1",
      "parents": [
        "797994f81a8b2bdca2eecffa415c1e7a89a4f961",
        "f3002134158092178be81339ec5a22ff80e6c308"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 14:56:31 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 14:56:31 2013 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar:\n \"This fixes the cputime scaling overflow problems for good without\n  having bad 32-bit overhead, and gets rid of the div64_u64_rem() helper\n  as well.\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"math64: New div64_u64_rem helper\"\n  sched: Avoid prev-\u003estime underflow\n  sched: Do not account bogus utime\n  sched: Avoid cputime scaling overflow\n"
    },
    {
      "commit": "20b4fb485227404329e41ad15588afad3df23050",
      "tree": "f3e099f0ab3da8a93b447203e294d2bb22f6dc05",
      "parents": [
        "b9394d8a657cd3c064fa432aa0905c1b58b38fe9",
        "ac3e3c5b1164397656df81b9e9ab4991184d3236"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 01 17:51:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 01 17:51:54 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull VFS updates from Al Viro,\n\nMisc cleanups all over the place, mainly wrt /proc interfaces (switch\ncreate_proc_entry to proc_create(), get rid of the deprecated\ncreate_proc_read_entry() in favor of using proc_create_data() and\nseq_file etc).\n\n7kloc removed.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)\n  don\u0027t bother with deferred freeing of fdtables\n  proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h\n  proc: Make the PROC_I() and PDE() macros internal to procfs\n  proc: Supply a function to remove a proc entry by PDE\n  take cgroup_open() and cpuset_open() to fs/proc/base.c\n  ppc: Clean up scanlog\n  ppc: Clean up rtas_flash driver somewhat\n  hostap: proc: Use remove_proc_subtree()\n  drm: proc: Use remove_proc_subtree()\n  drm: proc: Use minor-\u003eindex to label things, not PDE-\u003ename\n  drm: Constify drm_proc_list[]\n  zoran: Don\u0027t print proc_dir_entry data in debug\n  reiserfs: Don\u0027t access the proc_dir_entry in r_open(), r_start() r_show()\n  proc: Supply an accessor for getting the data from a PDE\u0027s parent\n  airo: Use remove_proc_subtree()\n  rtl8192u: Don\u0027t need to save device proc dir PDE\n  rtl8187se: Use a dir under /proc/net/r8180/\n  proc: Add proc_mkdir_data()\n  proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}\n  proc: Move PDE_NET() to fs/proc/proc_net.c\n  ...\n"
    },
    {
      "commit": "5f56886521d6ddd3648777fae44d82382dd8c87f",
      "tree": "aa0db6331cdb01c23f1884439840aadd31bbcca4",
      "parents": [
        "f1e9a236e5ddab6c349611ee86f54291916f226c",
        "e2a8b0a779787314eca1061308a8182e6c5bfabd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:37:43 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:37:43 2013 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (incoming from Andrew)\n\nMerge third batch of fixes from Andrew Morton:\n \"Most of the rest.  I still have two large patchsets against AIO and\n  IPC, but they\u0027re a bit stuck behind other trees and I\u0027m about to\n  vanish for six days.\n\n   - random fixlets\n   - inotify\n   - more of the MM queue\n   - show_stack() cleanups\n   - DMI update\n   - kthread/workqueue things\n   - compat cleanups\n   - epoll udpates\n   - binfmt updates\n   - nilfs2\n   - hfs\n   - hfsplus\n   - ptrace\n   - kmod\n   - coredump\n   - kexec\n   - rbtree\n   - pids\n   - pidns\n   - pps\n   - semaphore tweaks\n   - some w1 patches\n   - relay updates\n   - core Kconfig changes\n   - sysrq tweaks\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (109 commits)\n  Documentation/sysrq: fix inconstistent help message of sysrq key\n  ethernet/emac/sysrq: fix inconstistent help message of sysrq key\n  sparc/sysrq: fix inconstistent help message of sysrq key\n  powerpc/xmon/sysrq: fix inconstistent help message of sysrq key\n  ARM/etm/sysrq: fix inconstistent help message of sysrq key\n  power/sysrq: fix inconstistent help message of sysrq key\n  kgdb/sysrq: fix inconstistent help message of sysrq key\n  lib/decompress.c: fix initconst\n  notifier-error-inject: fix module names in Kconfig\n  kernel/sys.c: make prctl(PR_SET_MM) generally available\n  UAPI: remove empty Kbuild files\n  menuconfig: print more info for symbol without prompts\n  init/Kconfig: re-order CONFIG_EXPERT options to fix menuconfig display\n  kconfig menu: move Virtualization drivers near other virtualization options\n  Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS\n  relay: use macro PAGE_ALIGN instead of FIX_SIZE\n  kernel/relay.c: move FIX_SIZE macro into relay.c\n  kernel/relay.c: remove unused function argument actor\n  drivers/w1/slaves/w1_ds2760.c: fix the error handling in w1_ds2760_add_slave()\n  drivers/w1/slaves/w1_ds2781.c: fix the error handling in w1_ds2781_add_slave()\n  ...\n"
    },
    {
      "commit": "6f9982bdde99d4e6f248613ca780c63de26ba086",
      "tree": "ce2b8576bf00be1aa4b45ac8dc8e9b8d392d324f",
      "parents": [
        "e12a95f40ac78f223deab743a5228f9eb3df8ed1"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Apr 30 15:28:50 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "lib/decompress.c: fix initconst\n\nSigned-off-by: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e12a95f40ac78f223deab743a5228f9eb3df8ed1",
      "tree": "e0eb25b9a232e682115e02f80010c8842db36ff0",
      "parents": [
        "52b3694157e3aa6df871e283115652ec6f2d31e0"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Apr 30 15:28:49 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "notifier-error-inject: fix module names in Kconfig\n\nThe Kconfig help text for MEMORY_NOTIFIER_ERROR_INJECT and\nOF_RECONFIG_NOTIFIER_ERROR_INJECT has mismatched module names.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "446f24d1199e8a546ba7c97da3fbb9a505a94795",
      "tree": "42c44a565fbdd6f923e0c2403b1c62154acab1b2",
      "parents": [
        "a05342cbd62b7f6dacb8d71683d799f5e5e694b8"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue Apr 30 15:28:42 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:09 2013 -0700"
      },
      "message": "Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS\n\nThe help text for this config is duplicated across the x86, parisc, and\ns390 Kconfig.debug files.  Arnd Bergman noted that the help text was\nslightly misleading and should be fixed to state that enabling this\noption isn\u0027t a problem when using pre 4.4 gcc.\n\nTo simplify the rewording, consolidate the text into lib/Kconfig.debug\nand modify it there to be more explicit about when you should say N to\nthis config.\n\nAlso, make the text a bit more generic by stating that this option\nenables compile time checks so we can cover architectures which emit\nwarnings vs.  ones which emit errors.  The details of how an\narchitecture decided to implement the checks isn\u0027t as important as the\nconcept of compile time checking of copy_from_user() calls.\n\nWhile we\u0027re doing this, remove all the copy_from_user_overflow() code\nthat\u0027s duplicated many times and place it into lib/ so that any\narchitecture supporting this option can get the function for free.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Helge Deller \u003cdeller@gmx.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c75aaa8ed03eb1312ed2990f1a716b2b9cc0df42",
      "tree": "7646064b514d7e799ef59abe3f4f445bf2cbd029",
      "parents": [
        "4130f0efbfe5adb360328b777afa8e45f7e467f7"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "davidlohr.bueso@hp.com",
        "time": "Tue Apr 30 15:28:25 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "rbtree_test: add __init/__exit annotations\n\nSigned-off-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4130f0efbfe5adb360328b777afa8e45f7e467f7",
      "tree": "1067bb405268e345a2faa59f987491157bc82d2a",
      "parents": [
        "31c3a3fe0777642816045a8dd1b666f1718851d7"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "davidlohr.bueso@hp.com",
        "time": "Tue Apr 30 15:28:24 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:07 2013 -0700"
      },
      "message": "rbtree_test: add extra rbtree integrity check\n\nAccount for the rbtree having  2**bh(v)-1 internal nodes.\n\nWhile this can be seen as a consequence of other checks, Michel states\nthat it nicely sums up what the other properties are for.\n\nSigned-off-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d338b1379f96b20e63aa65082e19e9a18a93b608",
      "tree": "fce537cd0f14c8664de42be3cc7f6465adf15b79",
      "parents": [
        "576d742e4a0d0f1bab7950012addccb82fbc172a"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Tue Apr 30 15:27:32 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "dynamic_debug: reuse generic string_unescape function\n\nThere is kernel function to do the job in generic way. Let\u0027s use it.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16c7fa05829e8b91db48e3539c5d6ff3c2b18a23",
      "tree": "6658e9f27c033e5f6de19284fe9a6b8485360aa6",
      "parents": [
        "e1d12f327037a59e06c66520951ab4e0bd29f9c4"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Tue Apr 30 15:27:30 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:03 2013 -0700"
      },
      "message": "lib/string_helpers: introduce generic string_unescape\n\nThere are several places in kernel where modules unescapes input to convert\nC-Style Escape Sequences into byte codes.\n\nThe patch provides generic implementation of such approach. Test cases are\nalso included into the patch.\n\n[akpm@linux-foundation.org: clarify comment]\n[akpm@linux-foundation.org: export get_random_int() to modules]\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: William Hubbs \u003cw.d.hubbs@gmail.com\u003e\nCc: Chris Brannon \u003cchris@the-brannons.com\u003e\nCc: Kirk Reiser \u003ckirk@braille.uwo.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "196779b9b4ce1922afabdc20d0270720603bd46c",
      "tree": "9628ad58fef85b4cc060f434e01fe50a8e0e333c",
      "parents": [
        "89e3f23da9c827bfa9806c3d4da83a12c1c8543a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:12 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "dump_stack: consolidate dump_stack() implementations and unify their behaviors\n\nBoth dump_stack() and show_stack() are currently implemented by each\narchitecture.  show_stack(NULL, NULL) dumps the backtrace for the\ncurrent task as does dump_stack().  On some archs, dump_stack() prints\nextra information - pid, utsname and so on - in addition to the\nbacktrace while the two are identical on other archs.\n\nThe usages in arch-independent code of the two functions indicate\nshow_stack(NULL, NULL) should print out bare backtrace while\ndump_stack() is used for debugging purposes when something went wrong,\nso it does make sense to print additional information on the task which\ntriggered dump_stack().\n\nThere\u0027s no reason to require archs to implement two separate but mostly\nidentical functions.  It leads to unnecessary subtle information.\n\nThis patch expands the dummy fallback dump_stack() implementation in\nlib/dump_stack.c such that it prints out debug information (taken from\nx86) and invokes show_stack(NULL, NULL) and drops arch-specific\ndump_stack() implementations in all archs except blackfin.  Blackfin\u0027s\ndump_stack() does something wonky that I don\u0027t understand.\n\nDebug information can be printed separately by calling\ndump_stack_print_info() so that arch-specific dump_stack()\nimplementation can still emit the same debug information.  This is used\nin blackfin.\n\nThis patch brings the following behavior changes.\n\n* On some archs, an extra level in backtrace for show_stack() could be\n  printed.  This is because the top frame was determined in\n  dump_stack() on those archs while generic dump_stack() can\u0027t do that\n  reliably.  It can be compensated by inlining dump_stack() but not\n  sure whether that\u0027d be necessary.\n\n* Most archs didn\u0027t use to print debug info on dump_stack().  They do\n  now.\n\nAn example WARN dump follows.\n\n WARNING: at kernel/workqueue.c:4841 init_workqueues+0x35/0x505()\n Hardware name: empty\n Modules linked in:\n CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0-rc1-work+ #9\n  0000000000000009 ffff88007c861e08 ffffffff81c614dc ffff88007c861e48\n  ffffffff8108f50f ffffffff82228240 0000000000000040 ffffffff8234a03c\n  0000000000000000 0000000000000000 0000000000000000 ffff88007c861e58\n Call Trace:\n  [\u003cffffffff81c614dc\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f50f\u003e] warn_slowpath_common+0x7f/0xc0\n  [\u003cffffffff8108f56a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff8234a071\u003e] init_workqueues+0x35/0x505\n  ...\n\nv2: CPU number added to the generic debug info as requested by s390\n    folks and dropped the s390 specific dump_stack().  This loses %ksp\n    from the debug message which the maintainers think isn\u0027t important\n    enough to keep the s390-specific dump_stack() implementation.\n\n    dump_stack_print_info() is moved to kernel/printk.c from\n    lib/dump_stack.c.  Because linkage is per objecct file,\n    dump_stack_print_info() living in the same lib file as generic\n    dump_stack() means that archs which implement custom dump_stack()\n    - at this point, only blackfin - can\u0027t use dump_stack_print_info()\n    as that will bring in the generic version of dump_stack() too.  v1\n    The v1 patch broke build on blackfin due to this issue.  The build\n    breakage was reported by Fengguang Wu.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Vineet Gupta \u003cvgupta@synopsys.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\t[s390 bits]\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\t\t[hexagon bits]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30945669593df14692e933c557d00c4bb2727857",
      "tree": "69dee0556b482898ae95f1bdfa25c63f4ce16f57",
      "parents": [
        "5aa1c98862d3f365d9cf6d0833d5dc127d2a76e7",
        "b0d33c2bd77bcf2d7c9427d2361ac57fe5b33aa1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 13:47:37 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 13:47:37 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull fixup for trivial branch from Jiri Kosina:\n \"Unfortunately I made a mistake when merging into for-linus branch, and\n  omitted one pre-requisity patch for a few other patches (which have\n  been Acked by the appropriate maintainers) in the series.  Mea culpa\n  maxima, sorry for that.\"\n\nThe trivial branch added %pSR usage before actually teaching vsnprintf()\nabout the \u0027R\u0027 part of %pSR.  The \u0027R\u0027 causes the symbol translation to do\na \"__builtin_extract_return_addr()\" before symbol lookup.\n\nThat said, on most architectures __builtin_extract_return_addr() isn\u0027t\nlikely to do anything special, so it probably is not normally\nnoticeable.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:\n  vsprintf: Add extension %pSR - print_symbol replacement\n"
    },
    {
      "commit": "b0d33c2bd77bcf2d7c9427d2361ac57fe5b33aa1",
      "tree": "2acb72d0e39aee019cf8aecc917685b120e506a3",
      "parents": [
        "071361d3473ebb8142907470ff12d59c59f6be72"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Dec 12 10:18:50 2012 -0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 30 22:31:16 2013 +0200"
      },
      "message": "vsprintf: Add extension %pSR - print_symbol replacement\n\nprint_symbol takes a long and converts it to a function\nname and offset.  %pS does something similar, but doesn\u0027t\ntranslate the address via __builtin_extract_return_addr.\n%pSR does the translation.\n\nThis will enable replacing multiple calls like\n\tprintk(...);\n\tprintk_symbol(addr);\n\tprintk(\"\\n\");\nwith a single non-interleavable in dmesg\n\tprintk(\"... %pSR\\n\", (void *)addr);\n\nUpdate documentation too.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "f3002134158092178be81339ec5a22ff80e6c308",
      "tree": "fe82b1e293e77b316b797ad2f477b508aa2c784f",
      "parents": [
        "68aa8efcd1ab961e4684ef5af32f72a6ec1911de"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Apr 30 11:35:07 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Apr 30 19:13:05 2013 +0200"
      },
      "message": "Revert \"math64: New div64_u64_rem helper\"\n\nThis reverts commit f792685006274a850e6cc0ea9ade275ccdfc90bc.\n\nThe cputime scaling code was changed/fixed and does not need the\ndiv64_u64_rem() primitive anymore. It has no other users, so let\u0027s\nremove them.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: rostedt@goodmis.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Dave Hansen \u003cdave@sr71.net\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1367314507-9728-4-git-send-email-sgruszka@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "16fa94b532b1958f508e07eca1a9256351241fbc",
      "tree": "90012a7b7fe2b8cf96f6f5ec12490e0c5e152291",
      "parents": [
        "e0972916e8fe943f342b0dd1c9d43dbf5bc261c2",
        "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:43:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:43:28 2013 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"The main changes in this development cycle were:\n\n   - full dynticks preparatory work by Frederic Weisbecker\n\n   - factor out the cpu time accounting code better, by Li Zefan\n\n   - multi-CPU load balancer cleanups and improvements by Joonsoo Kim\n\n   - various smaller fixes and cleanups\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  sched: Fix init NOHZ_IDLE flag\n  sched: Prevent to re-select dst-cpu in load_balance()\n  sched: Rename load_balance_tmpmask to load_balance_mask\n  sched: Move up affinity check to mitigate useless redoing overhead\n  sched: Don\u0027t consider other cpus in our group in case of NEWLY_IDLE\n  sched: Explicitly cpu_idle_type checking in rebalance_domains()\n  sched: Change position of resched_cpu() in load_balance()\n  sched: Fix wrong rq\u0027s runnable_avg update with rt tasks\n  sched: Document task_struct::personality field\n  sched/cpuacct/UML: Fix header file dependency bug on the UML build\n  cgroup: Kill subsys.active flag\n  sched/cpuacct: No need to check subsys active state\n  sched/cpuacct: Initialize cpuacct subsystem earlier\n  sched/cpuacct: Initialize root cpuacct earlier\n  sched/cpuacct: Allocate per_cpu cpuusage for root cpuacct statically\n  sched/cpuacct: Clean up cpuacct.h\n  sched/cpuacct: Remove redundant NULL checks in cpuacct_acount_field()\n  sched/cpuacct: Remove redundant NULL checks in cpuacct_charge()\n  sched/cpuacct: Add cpuacct_acount_field()\n  sched/cpuacct: Add cpuacct_init()\n  ...\n"
    },
    {
      "commit": "f39fee5f11f7adfcf5c9643f87718b80450be18a",
      "tree": "5565b5c7d22b4f16327dd675c9764669b5b81219",
      "parents": [
        "56a1ba5fd1802c059d08d72d09c1fec6e02e2c35"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Apr 29 16:21:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:42 2013 -0700"
      },
      "message": "lib/: rename random32() to prandom_u32()\n\nUse preferable function name which implies using a pseudo-random\nnumber generator.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "cedddb00023b1321f2bb2739739aa8c9927fc063",
      "tree": "425bb1e104ffd4693b28076ee35bcad8f7fbfcd9",
      "parents": [
        "3ec39abdcc0d3099e8d8894dcbcc8c9490ee48e2"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Apr 29 16:21:25 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:42 2013 -0700"
      },
      "message": "uuid: use prandom_bytes()\n\nUse prandom_bytes() to generate 16 bytes of pseudo-random bytes.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Huang Ying \u003cying.huang@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": "3e6628c4b347a558965041290c5a92791dd4c741",
      "tree": "7f437ed24761f467b61c0a401fc8d6a6ca7fee3a",
      "parents": [
        "27cf10e133c393f39399137b028c7b24d64ca06e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Apr 29 16:21:16 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:41 2013 -0700"
      },
      "message": "idr: introduce idr_alloc_cyclic()\n\nAs Tejun points out, there are several users of the IDR facility that\nattempt to use it in a cyclic fashion.  These users are likely to see\n-ENOSPC errors after the counter wraps one or more times however.\n\nThis patchset adds a new idr_alloc_cyclic routine and converts several\nof these users to it.  Many of these users are in obscure parts of the\nkernel, and I don\u0027t have a good way to test some of them.  The change is\npretty straightforward though, so hopefully it won\u0027t be an issue.\n\nThere is one other cyclic user of idr_alloc that I didn\u0027t touch in\nipc/util.c.  That one is doing some strange stuff that I didn\u0027t quite\nunderstand, but it looks like it should probably be converted later\nsomehow.\n\nThis patch:\n\nThus spake Tejun Heo:\n\n    Ooh, BTW, the cyclic allocation is broken.  It\u0027s prone to -ENOSPC\n    after the first wraparound.  There are several cyclic users in the\n    kernel and I think it probably would be best to implement cyclic\n    support in idr.\n\nThis patch does that by adding new idr_alloc_cyclic function that such\nusers in the kernel can use.  With this, there\u0027s no need for a caller to\nkeep track of the last value used as that\u0027s now tracked internally.  This\nshould prevent the ENOSPC problems that can hit when the \"last allocated\"\ncounter exceeds INT_MAX.\n\nLater patches will convert existing cyclic users to the new interface.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nCc: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nCc: John McCutchan \u003cjohn@johnmccutchan.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nCc: Robert Love \u003crlove@rlove.org\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nCc: Vlad Yasevich \u003cvyasevich@gmail.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e0fb404c86d6c86dc33e284310eb5d28d192dcf",
      "tree": "c75a1dd1cab54473d3174aa00fc49d18deabfa5e",
      "parents": [
        "095d141b2e40665289d44a42d387ffac2841ef82"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Apr 29 16:18:11 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:19 2013 -0700"
      },
      "message": "lib, net: make isodigit() public and use it\n\nThere are at least two users of isodigit().  Let\u0027s make it a public\nfunction of ctype.h.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.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": "095d141b2e40665289d44a42d387ffac2841ef82",
      "tree": "3a70ce1eb403955647ab80d1089ea47e95afd9f3",
      "parents": [
        "30493cc9dddb68066dcc4878015660fdaa8e0965"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Apr 29 16:18:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:19 2013 -0700"
      },
      "message": "argv_split(): teach it to handle mutable strings\n\nargv_split() allocates argv[count_argc(str)] array and assumes that it\nwill find the same number of arguments later.  This is obviously wrong if\nthis string can be changed, say, by sysctl.\n\nWith this patch argv_split() kstrndup\u0027s the whole string and does not\nsplit it, we simply replace the spaces with zeroes and keep the allocated\nmemory in argv[-1] for argv_free(arg).\n\nWe do not use argv[0] because:\n\n\t- str can be all-spaces or empty. In fact this case is fine,\n\t  we could kfree() it before return, but:\n\n\t- str can have a space at the start, and we can not rely on\n\t  kstrndup(skip_spaces(str)) because it can equally race if\n\t  this string is mutable.\n\nAlso, simplify count_argc() and kill the no longer used skip_arg().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30493cc9dddb68066dcc4878015660fdaa8e0965",
      "tree": "89d750aea6ea06bbb95e5c76fa6c2279fcf6b116",
      "parents": [
        "4d22f8c306233433bdf9298b2e7806e9c71674bc"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "davidlohr.bueso@hp.com",
        "time": "Mon Apr 29 16:18:09 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:19 2013 -0700"
      },
      "message": "lib/int_sqrt.c: optimize square root algorithm\n\nOptimize the current version of the shift-and-subtract (hardware)\nalgorithm, described by John von Newmann[1] and Guy L Steele.\n\nIterating 1,000,000 times, perf shows for the current version:\n\n Performance counter stats for \u0027./sqrt-curr\u0027 (10 runs):\n\n         27.170996 task-clock                #    0.979 CPUs utilized            ( +-  3.19% )\n                 3 context-switches          #    0.103 K/sec                    ( +-  4.76% )\n                 0 cpu-migrations            #    0.004 K/sec                    ( +-100.00% )\n               104 page-faults               #    0.004 M/sec                    ( +-  0.16% )\n        64,921,199 cycles                    #    2.389 GHz                      ( +-  0.03% )\n        28,967,789 stalled-cycles-frontend   #   44.62% frontend cycles idle     ( +-  0.18% )\n   \u003cnot supported\u003e stalled-cycles-backend\n       104,502,623 instructions              #    1.61  insns per cycle\n                                             #    0.28  stalled cycles per insn  ( +-  0.00% )\n        34,088,368 branches                  # 1254.587 M/sec                    ( +-  0.00% )\n             4,901 branch-misses             #    0.01% of all branches          ( +-  1.32% )\n\n       0.027763015 seconds time elapsed                                          ( +-  3.22% )\n\nAnd for the new version:\n\nPerformance counter stats for \u0027./sqrt-new\u0027 (10 runs):\n\n          0.496869 task-clock                #    0.519 CPUs utilized            ( +-  2.38% )\n                 0 context-switches          #    0.000 K/sec\n                 0 cpu-migrations            #    0.403 K/sec                    ( +-100.00% )\n               104 page-faults               #    0.209 M/sec                    ( +-  0.15% )\n           590,760 cycles                    #    1.189 GHz                      ( +-  2.35% )\n           395,053 stalled-cycles-frontend   #   66.87% frontend cycles idle     ( +-  3.67% )\n   \u003cnot supported\u003e stalled-cycles-backend\n           398,963 instructions              #    0.68  insns per cycle\n                                             #    0.99  stalled cycles per insn  ( +-  0.39% )\n            70,228 branches                  #  141.341 M/sec                    ( +-  0.36% )\n             3,364 branch-misses             #    4.79% of all branches          ( +-  5.45% )\n\n       0.000957440 seconds time elapsed                                          ( +-  2.42% )\n\nFurthermore, this saves space in instruction text:\n\n   text    data     bss     dec     hex filename\n    111       0       0     111      6f lib/int_sqrt-baseline.o\n     89       0       0      89      59 lib/int_sqrt.o\n\n[1] http://en.wikipedia.org/wiki/First_Draft_of_a_Report_on_the_EDVAC\n\nSigned-off-by: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nReviewed-by: Jonathan Gonzalez \u003cjgonzlez@linets.cl\u003e\nTested-by: Jonathan Gonzalez \u003cjgonzlez@linets.cl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9375db07adeaeea5f5ea7ca0463a8b371d71ddbb",
      "tree": "8825d1985a7bd6acd9e13de4594c574c81dd11fe",
      "parents": [
        "3119b487e03650b51589a86aac33098b7cc2a09e"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "p.zabel@pengutronix.de",
        "time": "Mon Apr 29 16:17:10 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 18:28:13 2013 -0700"
      },
      "message": "genalloc: add devres support, allow to find a managed pool by device\n\nThis patch adds three exported functions to lib/genalloc.c:\ndevm_gen_pool_create, dev_get_gen_pool, and of_get_named_gen_pool.\n\ndevm_gen_pool_create is a managed version of gen_pool_create that keeps\ntrack of the pool via devres and allows the management code to\nautomatically destroy it after device removal.\n\ndev_get_gen_pool retrieves the gen_pool for a given device, if it was\ncreated with devm_gen_pool_create, using devres_find.\n\nof_get_named_gen_pool retrieves the gen_pool for a given device node and\nproperty name, where the property must contain a phandle pointing to a\nplatform device node.  The corresponding platform device is then fed into\ndev_get_gen_pool and the resulting gen_pool is returned.\n\n[akpm@linux-foundation.org: make the of_get_named_gen_pool() stub static, fixing a zillion link errors]\n[akpm@linux-foundation.org: squish \"struct device declared inside parameter list\" warning]\nSigned-off-by: Philipp Zabel \u003cp.zabel@pengutronix.de\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nCc: Matt Porter \u003cmporter@ti.com\u003e\nCc: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Javier Martin \u003cjavier.martin@vista-silicon.com\u003e\nCc: Huang Shijie \u003cshijie8@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": "4b59e6c4730978679b414a8da61514a2518da512",
      "tree": "241f48acea764191a458c6ae2d058b079b24f12d",
      "parents": [
        "fe0bfaaff84429a35e4447d4ccd646aecf5999fb"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 29 15:06:11 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 15:54:28 2013 -0700"
      },
      "message": "mm, show_mem: suppress page counts in non-blockable contexts\n\nOn large systems with a lot of memory, walking all RAM to determine page\ntypes may take a half second or even more.\n\nIn non-blockable contexts, the page allocator will emit a page allocation\nfailure warning unless __GFP_NOWARN is specified.  In such contexts, irqs\nare typically disabled and such a lengthy delay may even result in NMI\nwatchdog timeouts.\n\nTo fix this, suppress the page walk in such contexts when printing the\npage allocation failure warning.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.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": "830ac8524f301da8867400777d5c19e6d01ec525",
      "tree": "8d8588c66e9d424973304a84e6857d1a87695eaa",
      "parents": [
        "db93f8b42036bd60d95e8d28ee98b308d5846b9f",
        "157752d84f5df47e01577970f9c5f61a0b9f4546"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 20 18:40:36 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 20 18:40:36 2013 -0700"
      },
      "message": "Merge branch \u0027x86-kdump-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull kdump fixes from Peter Anvin:\n \"The kexec/kdump people have found several problems with the support\n  for loading over 4 GiB that was introduced in this merge cycle.  This\n  is partly due to a number of design problems inherent in the way the\n  various pieces of kdump fit together (it is pretty horrifically manual\n  in many places.)\n\n  After a *lot* of iterations this is the patchset that was agreed upon,\n  but of course it is now very late in the cycle.  However, because it\n  changes both the syntax and semantics of the crashkernel option, it\n  would be desirable to avoid a stable release with the broken\n  interfaces.\"\n\nI\u0027m not happy with the timing, since originally the plan was to release\nthe final 3.9 tomorrow.  But apparently I\u0027m doing an -rc8 instead...\n\n* \u0027x86-kdump-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  kexec: use Crash kernel for Crash kernel low\n  x86, kdump: Change crashkernel_high/low\u003d to crashkernel\u003d,high/low\n  x86, kdump: Retore crashkernel\u003d to allocate under 896M\n  x86, kdump: Set crashkernel_low automatically\n"
    },
    {
      "commit": "db93f8b42036bd60d95e8d28ee98b308d5846b9f",
      "tree": "e98018a262346250f9bf8ff68b80132a94fd18ab",
      "parents": [
        "8c3a13c84b90f2551b646ff2956ac68bef69a810",
        "c0a9f451e4e7ecd2ad1a6c27ea5c31d0226bdddf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 20 18:38:48 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 20 18:38:48 2013 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 fixes from Peter Anvin:\n \"Three groups of fixes:\n\n   1. Make sure we don\u0027t execute the early microcode patching if family\n      \u003c 6, since it would touch MSRs which don\u0027t exist on those\n      families, causing crashes.\n\n   2. The Xen partial emulation of HyperV can be dealt with more\n      gracefully than just disabling the driver.\n\n   3. More EFI variable space magic.  In particular, variables hidden\n      from runtime code need to be taken into account too.\"\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, microcode: Verify the family before dispatching microcode patching\n  x86, hyperv: Handle Xen emulation of Hyper-V more gracefully\n  x86,efi: Implement efi_no_storage_paranoia parameter\n  efi: Export efi_query_variable_store() for efivars.ko\n  x86/Kconfig: Make EFI select UCS2_STRING\n  efi: Distinguish between \"remaining space\" and actually used space\n  efi: Pass boot services variable info to runtime code\n  Move utf16 functions to kernel core and rename\n  x86,efi: Check max_size only if it is non-zero.\n  x86, efivars: firmware bug workarounds should be in platform code\n"
    },
    {
      "commit": "c0a9f451e4e7ecd2ad1a6c27ea5c31d0226bdddf",
      "tree": "dcb22c46c33a994db115ec8925093f91f6463f15",
      "parents": [
        "74c3e3fcf350b2e7e3eaf9550528ee3f74e44b37",
        "8c58bf3eec3b8fc8162fe557e9361891c20758f2"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Apr 19 17:09:03 2013 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Apr 19 17:09:03 2013 -0700"
      },
      "message": "Merge remote-tracking branch \u0027efi/urgent\u0027 into x86/urgent\n\nMatt Fleming (1):\n      x86, efivars: firmware bug workarounds should be in platform\n      code\n\nMatthew Garrett (3):\n      Move utf16 functions to kernel core and rename\n      efi: Pass boot services variable info to runtime code\n      efi: Distinguish between \"remaining space\" and actually used\n      space\n\nRichard Weinberger (2):\n      x86,efi: Check max_size only if it is non-zero.\n      x86,efi: Implement efi_no_storage_paranoia parameter\n\nSergey Vlasov (2):\n      x86/Kconfig: Make EFI select UCS2_STRING\n      efi: Export efi_query_variable_store() for efivars.ko\n\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "c729de8fcea37a1c444e81857eace12494c804a9",
      "tree": "9400f7626dcbb7038b524ac2ea73315e6a0b6e55",
      "parents": [
        "41ef2d5678d83af030125550329b6ae8b74618fa"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Apr 15 22:23:45 2013 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Apr 17 12:35:32 2013 -0700"
      },
      "message": "x86, kdump: Set crashkernel_low automatically\n\nChao said that kdump does does work well on his system on 3.8\nwithout extra parameter, even iommu does not work with kdump.\nAnd now have to append crashkernel_low\u003dY in first kernel to make\nkdump work.\n\nWe have now modified crashkernel\u003dX to allocate memory beyong 4G (if\navailable) and do not allocate low range for crashkernel if the user\ndoes not specify that with crashkernel_low\u003dY.  This causes regression\nif iommu is not enabled.  Without iommu, swiotlb needs to be setup in\nfirst 4G and there is no low memory available to second kernel.\n\nSet crashkernel_low automatically if the user does not specify that.\n\nFor system that does support IOMMU with kdump properly, user could\nspecify crashkernel_low\u003d0 to save that 72M low ram.\n\n-v3: add swiotlb_size() according to Konrad.\n-v4: add comments what 8M is for according to hpa.\n     also update more crashkernel_low\u003d in kernel-parameters.txt\n-v5: update changelog according to Vivek.\n-v6: Change description about swiotlb referring according to HATAYAMA.\n\nReported-by: WANG Chao \u003cchaowang@redhat.com\u003e\nTested-by: WANG Chao \u003cchaowang@redhat.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1366089828-19692-2-git-send-email-yinghai@kernel.org\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "0635eb8a54cf0fea64b174bb68bc36b9c3d622db",
      "tree": "9430096d286e5da9044ab7e6cb85bdaca07c9717",
      "parents": [
        "7791c8423f1f7f4dad94e753bae67461d5b80be8"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "matthew.garrett@nebula.com",
        "time": "Mon Apr 15 13:09:45 2013 -0700"
      },
      "committer": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Mon Apr 15 21:23:03 2013 +0100"
      },
      "message": "Move utf16 functions to kernel core and rename\n\nWe want to be able to use the utf16 functions that are currently present\nin the EFI variables code in platform-specific code as well. Move them to\nthe kernel core, and in the process rename them to accurately describe what\nthey do - they don\u0027t handle UTF16, only UCS2.\n\nSigned-off-by: Matthew Garrett \u003cmatthew.garrett@nebula.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\n"
    },
    {
      "commit": "a49b7e82cab0f9b41f483359be83f44fbb6b4979",
      "tree": "dd18125677dd5fbf491029b718610d15d07b4b89",
      "parents": [
        "1de14c3c5cbc9bb17e9dcc648cda51c0c85d54b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 13 15:15:30 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 13 15:15:30 2013 -0700"
      },
      "message": "kobject: fix kset_find_obj() race with concurrent last kobject_put()\n\nAnatol Pomozov identified a race condition that hits module unloading\nand re-loading.  To quote Anatol:\n\n \"This is a race codition that exists between kset_find_obj() and\n  kobject_put().  kset_find_obj() might return kobject that has refcount\n  equal to 0 if this kobject is freeing by kobject_put() in other\n  thread.\n\n  Here is timeline for the crash in case if kset_find_obj() searches for\n  an object tht nobody holds and other thread is doing kobject_put() on\n  the same kobject:\n\n    THREAD A (calls kset_find_obj())     THREAD B (calls kobject_put())\n    splin_lock()\n                                         atomic_dec_return(kobj-\u003ekref), counter gets zero here\n                                         ... starts kobject cleanup ....\n                                         spin_lock() // WAIT thread A in kobj_kset_leave()\n    iterate over kset-\u003elist\n    atomic_inc(kobj-\u003ekref) (counter becomes 1)\n    spin_unlock()\n                                         spin_lock() // taken\n                                         // it does not know that thread A increased counter so it\n                                         remove obj from list\n                                         spin_unlock()\n                                         vfree(module) // frees module object with containing kobj\n\n    // kobj points to freed memory area!!\n    kobject_put(kobj) // OOPS!!!!\n\n  The race above happens because module.c tries to use kset_find_obj()\n  when somebody unloads module.  The module.c code was introduced in\n  commit 6494a93d55fa\"\n\nAnatol supplied a patch specific for module.c that worked around the\nproblem by simply not using kset_find_obj() at all, but rather than make\na local band-aid, this just fixes kset_find_obj() to be thread-safe\nusing the proper model of refusing the get a new reference if the\nrefcount has already dropped to zero.\n\nSee examples of this proper refcount handling not only in the kref\ndocumentation, but in various other equivalent uses of this pattern by\ngrepping for atomic_inc_not_zero().\n\n[ Side note: the module race does indicate that module loading and\n  unloading is not properly serialized wrt sysfs information using the\n  module mutex.  That may require further thought, but this is the\n  correct fix at the kobject layer regardless. ]\n\nReported-analyzed-and-tested-by: Anatol Pomozov \u003canatol.pomozov@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ecc833bac594099505a090cbca6ccd5b83d5975",
      "tree": "399f524f078636335aeb465f805eff6ed27137b1",
      "parents": [
        "aee0c612b12f57f4923f6649fa6fcba618182261"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 29 12:23:28 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 09 14:13:05 2013 -0400"
      },
      "message": "mode_t, whack-a-mole at 11...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ecb135a1a1953d2895d149e78926be479fdc6f2c",
      "tree": "e40aa30eefa5cc42ed1169b9798810a710a1bd9a",
      "parents": [
        "bd6946e87a98fea11907b2a47368e13044458a35",
        "07961ac7c0ee8b546658717034fe692fd12eefa9"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Apr 03 11:25:32 2013 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Apr 03 11:28:48 2013 +0200"
      },
      "message": "Merge tag \u0027v3.9-rc5\u0027 into drm-intel-next-queued\n\nBackmerge Linux 3.9-rc5 since I want to merge a few dp clock cleanups\nfor -next, but they will conflict all over the place with\n\ncommit 9d1a455b0ca1c2c956b4d9ab212864a8695270f1\nAuthor: Takashi Iwai \u003ctiwai@suse.de\u003e\nDate:   Mon Mar 18 11:25:36 2013 +0100\n\n    drm/i915: Use the fixed pixel clock for eDP in intel_dp_set_m_n()\n\nfrom -fixes.\n\nConflicts:\n\tdrivers/gpu/drm/i915/intel_dp.c: Simply adjacent lines changed.\n\tdrivers/gpu/drm/i915/intel_panel.c: A field rename in -next\n\tconflicts with a bugfix in -fixes. Take the version from\n\t-fixes and apply the rename.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    },
    {
      "commit": "2db76d7c3c6db93058f983c8240f7c7c25e87ee6",
      "tree": "a35f01706b353841b71645da050bc721c9f0467b",
      "parents": [
        "693db1842d864ca2771e881127cdb4d09979758b"
      ],
      "author": {
        "name": "Imre Deak",
        "email": "imre.deak@intel.com",
        "time": "Tue Mar 26 15:14:18 2013 +0200"
      },
      "committer": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Wed Mar 27 17:13:44 2013 +0100"
      },
      "message": "lib/scatterlist: sg_page_iter: support sg lists w/o backing pages\n\nThe i915 driver uses sg lists for memory without backing \u0027struct page\u0027\npages, similarly to other IO memory regions, setting only the DMA\naddress for these. It does this, so that it can program the HW MMU\ntables in a uniform way both for sg lists with and without backing pages.\n\nWithout a valid page pointer we can\u0027t call nth_page to get the current\npage in __sg_page_iter_next, so add a helper that relevant users can\ncall separately. Also add a helper to get the DMA address of the current\npage (idea from Daniel).\n\nConvert all places in i915, to use the new API.\n\nSigned-off-by: Imre Deak \u003cimre.deak@intel.com\u003e\nReviewed-by: Damien Lespiau \u003cdamien.lespiau@intel.com\u003e\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n"
    }
  ],
  "next": "cbe5e6109538ddab57764a88d9f0c2accd0c7d48"
}
