)]}'
{
  "log": [
    {
      "commit": "c759b35e6469fe7519e9fe45d5285d49f12cb657",
      "tree": "9a027e1d2fe66b654e07a4cda7e2c87c3df2988e",
      "parents": [
        "887cbce0adead8dc394157b8e53603ed001a3060"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Wed Feb 27 17:05:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:23 2013 -0800"
      },
      "message": "kfifo: move kfifo.c from kernel/ to lib/\n\nMove kfifo.c from kernel/ to lib/\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16e024f30ce96ef5fa651e2914e19d175a924cab",
      "tree": "d68106151a0b36e22625d7af7b23081a48c92e87",
      "parents": [
        "c36e0501ee91d7616a188efbf9714b1fce150032",
        "376bddd34433065aeb9b9a140870537feecf90ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 09:58:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 09:58:09 2012 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nPull powerpc update from Benjamin Herrenschmidt:\n \"The main highlight is probably some base POWER8 support.  There\u0027s more\n  to come such as transactional memory support but that will wait for\n  the next one.\n\n  Overall it\u0027s pretty quiet, or rather I\u0027ve been pretty poor at picking\n  things up from patchwork and reviewing them this time around and Kumar\n  no better on the FSL side it seems...\"\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (73 commits)\n  powerpc+of: Rename and fix OF reconfig notifier error inject module\n  powerpc: mpc5200: Add a3m071 board support\n  powerpc/512x: don\u0027t compile any platform DIU code if the DIU is not enabled\n  powerpc/mpc52xx: use module_platform_driver macro\n  powerpc+of: Export of_reconfig_notifier_[register,unregister]\n  powerpc/dma/raidengine: add raidengine device\n  powerpc/iommu/fsl: Add PAMU bypass enable register to ccsr_guts struct\n  powerpc/mpc85xx: Change spin table to cached memory\n  powerpc/fsl-pci: Add PCI controller ATMU PM support\n  powerpc/86xx: fsl_pcibios_fixup_bus requires CONFIG_PCI\n  drivers/virt: the Freescale hypervisor driver doesn\u0027t need to check MSR[GS]\n  powerpc/85xx: p1022ds: Use NULL instead of 0 for pointers\n  powerpc: Disable relocation on exceptions when kexecing\n  powerpc: Enable relocation on during exceptions at boot\n  powerpc: Move get_longbusy_msecs into hvcall.h and remove duplicate function\n  powerpc: Add wrappers to enable/disable relocation on exceptions\n  powerpc: Add set_mode hcall\n  powerpc: Setup relocation on exceptions for bare metal systems\n  powerpc: Move initial mfspr LPCR out of __init_LPCR\n  powerpc: Add relocation on exception vector handlers\n  ...\n"
    },
    {
      "commit": "22b361d1df7bc25b558e52f22e779286a3d323e4",
      "tree": "a66c2e50d07d87e52dfc74a1e9118b2aff6759fe",
      "parents": [
        "8ebe34731a0d1a9d89b536430afd98d0fadec99b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Dec 17 16:01:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:18 2012 -0800"
      },
      "message": "percpu_rw_semaphore: introduce CONFIG_PERCPU_RWSEM\n\nCurrently only block_dev and uprobes use percpu_rw_semaphore,\nadd the config option selected by BLOCK || UPROBES.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nCc: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@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": "a1fd3e24d8a484b3265a6d485202afe093c058f3",
      "tree": "472f6480a81abbc04b27eccdb798d80b1685bee0",
      "parents": [
        "53809751ac230a3611b5cdd375f3389f3207d471"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Dec 17 16:01:32 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:18 2012 -0800"
      },
      "message": "percpu_rw_semaphore: reimplement to not block the readers unnecessarily\n\nCurrently the writer does msleep() plus synchronize_sched() 3 times to\nacquire/release the semaphore, and during this time the readers are\nblocked completely.  Even if the \"write\" section was not actually started\nor if it was already finished.\n\nWith this patch down_write/up_write does synchronize_sched() twice and\ndown_read/up_read are still possible during this time, just they use the\nslow path.\n\npercpu_down_write() first forces the readers to use rw_semaphore and\nincrement the \"slow\" counter to take the lock for reading, then it\ntakes that rw_semaphore for writing and blocks the readers.\n\nAlso.  With this patch the code relies on the documented behaviour of\nsynchronize_sched(), it doesn\u0027t try to pair synchronize_sched() with\nbarrier.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18dd0bf22b6f0c1bd5e4e813a42245ed86ec57b6",
      "tree": "a4794b6041b44fa94f5d9438cdb5bbfc58b35f05",
      "parents": [
        "2d9c8b5d6a5f5f7a6111cc68a050b5b44729376b",
        "385ddeac7ed99cf7dc62d76274d55fbd7cae1b5a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 14 10:03:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 14 10:03:23 2012 -0800"
      },
      "message": "Merge branch \u0027x86-acpi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 ACPI update from Peter Anvin:\n \"This is a patchset which didn\u0027t make the last merge window.  It adds a\n  debugging capability to feed ACPI tables via the initramfs.\n\n  On a grander scope, it formalizes using the initramfs protocol for\n  feeding arbitrary blobs which need to be accessed early to the kernel:\n  they are fed first in the initramfs blob (lots of bootloaders can\n  concatenate this at boot time, others can use a single file) in an\n  uncompressed cpio archive using filenames starting with \"kernel/\".\n\n  The ACPI maintainers requested that this patchset be fed via the x86\n  tree rather than the ACPI tree as the footprint in the general x86\n  code is much bigger than in the ACPI code proper.\"\n\n* \u0027x86-acpi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  X86 ACPI: Use #ifdef not #if for CONFIG_X86 check\n  ACPI: Fix build when disabled\n  ACPI: Document ACPI table overriding via initrd\n  ACPI: Create acpi_table_taint() function to avoid code duplication\n  ACPI: Implement physical address table override\n  ACPI: Store valid ACPI tables passed via early initrd in reserved memblock areas\n  x86, acpi: Introduce x86 arch specific arch_reserve_mem_area() for e820 handling\n  lib: Add early cpio decoder\n"
    },
    {
      "commit": "d526e85f60fce9aa2a1432cbd06e3cf20c1644c8",
      "tree": "8432d5f7f36254fcfea5a1c2d38a93a4fac42a8b",
      "parents": [
        "1a9bd45412665e73c72612b6f744378d860e02a8"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Dec 14 10:32:52 2012 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Dec 14 10:32:52 2012 +1100"
      },
      "message": "powerpc+of: Rename and fix OF reconfig notifier error inject module\n\nThis module used to inject errors in the pSeries specific dynamic\nreconfiguration notifiers. Those are gone however, replaced by\ngeneric notifiers for changes to the device-tree. So let\u0027s update\nthe module to deal with these instead and rename it along the way.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\n"
    },
    {
      "commit": "cff2f741b8ee8a70b208830e330de053efd4fc45",
      "tree": "83367ed74d889e2c8179f1f8b5d6f6f73b857982",
      "parents": [
        "b0885d01f9ab1274109c02942c881d598f939623",
        "92e9e6d1f9844b73a26215025a922e7d7aeae361"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 13:13:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 13:13:55 2012 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.8-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core updates from Greg Kroah-Hartman:\n \"Here\u0027s the large driver core updates for 3.8-rc1.\n\n  The biggest thing here is the various __dev* marking removals.  This\n  is going to be a pain for the merge with different subsystem trees, I\n  know, but all of the patches included here have been ACKed by their\n  various subsystem maintainers, as they wanted them to go through here.\n\n  If this is too much of a pain, I can pull all of them out of this tree\n  and just send you one with the other fixes/updates and then, after\n  3.8-rc1 is out, do the rest of the removals to ensure we catch them\n  all, it\u0027s up to you.  The merges should all be trivial, and Stephen\n  has been doing them all in linux-next for a few weeks now quite\n  easily.\n\n  Other than the __dev* marking removals, there\u0027s nothing major here,\n  some firmware loading updates and other minor things in the driver\n  core.\n\n  All of these have (much to Stephen\u0027s annoyance), been in linux-next\n  for a while.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFixed up trivial conflicts in drivers/gpio/gpio-{em,stmpe}.c due to gpio\nupdate.\n\n* tag \u0027driver-core-3.8-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (93 commits)\n  modpost.c: Stop checking __dev* section mismatches\n  init.h: Remove __dev* sections from the kernel\n  acpi: remove use of __devinit\n  PCI: Remove __dev* markings\n  PCI: Always build setup-bus when PCI is enabled\n  PCI: Move pci_uevent into pci-driver.c\n  PCI: Remove CONFIG_HOTPLUG ifdefs\n  unicore32/PCI: Remove CONFIG_HOTPLUG ifdefs\n  sh/PCI: Remove CONFIG_HOTPLUG ifdefs\n  powerpc/PCI: Remove CONFIG_HOTPLUG ifdefs\n  mips/PCI: Remove CONFIG_HOTPLUG ifdefs\n  microblaze/PCI: Remove CONFIG_HOTPLUG ifdefs\n  dma: remove use of __devinit\n  dma: remove use of __devexit_p\n  firewire: remove use of __devinitdata\n  firewire: remove use of __devinit\n  leds: remove use of __devexit\n  leds: remove use of __devinit\n  leds: remove use of __devexit_p\n  mmc: remove use of __devexit\n  ...\n"
    },
    {
      "commit": "527897ccd968c86ad3265d62962c8beccdb94e47",
      "tree": "7432b19ca679dd2ad2ed1784f4ac4deb31817b5b",
      "parents": [
        "f3537f91f9be2ce5fcbaa1aa6d787ad0436daec6"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Tue Dec 04 12:52:28 2012 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 06 17:25:01 2012 +1030"
      },
      "message": "lib/Makefile: Fix oid_registry build dependency\n\nIt is $(obj)/oid_registry.o that is dependent on $(obj)/oid_registry_data.c.\nThe object file cannot be built until $(obj)/oid_registry_data.c has been\ngenerated.\n\nA periodic and hard to reproduce parallel build failure is due to\nthis incorrect lib/Makefile dependency. The compile error is completely\ndisingenuous.\n\n  GEN     lib/oid_registry_data.c\nCompiling 49 OIDs\n  CC      lib/oid_registry.o\ngcc: error: lib/oid_registry.c: No such file or directory\ngcc: fatal error: no input files\ncompilation terminated.\nmake[3]: *** [lib/oid_registry.o] Error 4\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "610141ee651cee2cd27584434aa9dd9d967f0089",
      "tree": "e2ce67885df12377d8ad8e2a39f426a0a26b5fd4",
      "parents": [
        "e3a1a5ec5cd516c85848611992102fc00e8af601"
      ],
      "author": {
        "name": "Bill Pemberton",
        "email": "wfp5p@virginia.edu",
        "time": "Mon Nov 19 13:21:19 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Nov 28 10:52:58 2012 -0800"
      },
      "message": "lib: kobject_uevent is no longer dependant on CONFIG_HOTPLUG\n\nCONFIG_HOTPLUG is being removed so kobject_uevent needs to always be\npart of the library.\n\nSigned-off-by: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d25282d1c9b9bc4cda7f9d3c0205108e99aa7a9d",
      "tree": "f414482d768b015a609924293b779b4ad0b8f764",
      "parents": [
        "b6eea87fc6850d3531a64a27d2323a4498cd4e43",
        "dbadc17683e6c673a69b236c0f041b931cc55c42"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 14 13:39:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 14 13:39:34 2012 -0700"
      },
      "message": "Merge branch \u0027modules-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull module signing support from Rusty Russell:\n \"module signing is the highlight, but it\u0027s an all-over David Howells frenzy...\"\n\nHmm \"Magrathea: Glacier signing key\". Somebody has been reading too much HHGTTG.\n\n* \u0027modules-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (37 commits)\n  X.509: Fix indefinite length element skip error handling\n  X.509: Convert some printk calls to pr_devel\n  asymmetric keys: fix printk format warning\n  MODSIGN: Fix 32-bit overflow in X.509 certificate validity date checking\n  MODSIGN: Make mrproper should remove generated files.\n  MODSIGN: Use utf8 strings in signer\u0027s name in autogenerated X.509 certs\n  MODSIGN: Use the same digest for the autogen key sig as for the module sig\n  MODSIGN: Sign modules during the build process\n  MODSIGN: Provide a script for generating a key ID from an X.509 cert\n  MODSIGN: Implement module signature checking\n  MODSIGN: Provide module signing public keys to the kernel\n  MODSIGN: Automatically generate module signing keys if missing\n  MODSIGN: Provide Kconfig options\n  MODSIGN: Provide gitignore and make clean rules for extra files\n  MODSIGN: Add FIPS policy\n  module: signature checking hook\n  X.509: Add a crypto key parser for binary (DER) X.509 certificates\n  MPILIB: Provide a function to read raw data into an MPI\n  X.509: Add an ASN.1 decoder\n  X.509: Add simple ASN.1 grammar compiler\n  ...\n"
    },
    {
      "commit": "147e615f83c2c36caf89e7a3bf78090ade6f266c",
      "tree": "0cd64fd67f4b55bbe364217911a8100827c8b04f",
      "parents": [
        "85d3a316c714197f94e75c1e5b2d37607d66e5de"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Mon Oct 08 16:31:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 09 16:22:40 2012 +0900"
      },
      "message": "prio_tree: remove\n\nAfter both prio_tree users have been converted to use red-black trees,\nthere is no need to keep around the prio tree library anymore.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fff3fd8a1210a165252cd7cd01206da7a90d3a06",
      "tree": "3db89d48720ba726999e9d8486d8e991c7664123",
      "parents": [
        "3908836aa77e3621aaf2101f2920e01d7c8460d6"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Mon Oct 08 16:31:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 09 16:22:39 2012 +0900"
      },
      "message": "rbtree: add prio tree and interval tree tests\n\nPatch 1 implements support for interval trees, on top of the augmented\nrbtree API. It also adds synthetic tests to compare the performance of\ninterval trees vs prio trees. Short answers is that interval trees are\nslightly faster (~25%) on insert/erase, and much faster (~2.4 - 3x)\non search. It is debatable how realistic the synthetic test is, and I have\nnot made such measurements yet, but my impression is that interval trees\nwould still come out faster.\n\nPatch 2 uses a preprocessor template to make the interval tree generic,\nand uses it as a replacement for the vma prio_tree.\n\nPatch 3 takes the other prio_tree user, kmemleak, and converts it to use\na basic rbtree. We don\u0027t actually need the augmented rbtree support here\nbecause the intervals are always non-overlapping.\n\nPatch 4 removes the now-unused prio tree library.\n\nPatch 5 proposes an additional optimization to rb_erase_augmented, now\nproviding it as an inline function so that the augmented callbacks can be\ninlined in. This provides an additional 5-10% performance improvement\nfor the interval tree insert/erase benchmark. There is a maintainance cost\nas it exposes augmented rbtree users to some of the rbtree library internals;\nhowever I think this cost shouldn\u0027t be too high as I expect the augmented\nrbtree will always have much less users than the base rbtree.\n\nI should probably add a quick summary of why I think it makes sense to\nreplace prio trees with augmented rbtree based interval trees now.  One of\nthe drivers is that we need augmented rbtrees for Rik\u0027s vma gap finding\ncode, and once you have them, it just makes sense to use them for interval\ntrees as well, as this is the simpler and more well known algorithm.  prio\ntrees, in comparison, seem *too* clever: they impose an additional \u0027heap\u0027\nconstraint on the tree, which they use to guarantee a faster worst-case\ncomplexity of O(k+log N) for stabbing queries in a well-balanced prio\ntree, vs O(k*log N) for interval trees (where k\u003dnumber of matches,\nN\u003dnumber of intervals).  Now this sounds great, but in practice prio trees\ndon\u0027t realize this theorical benefit.  First, the additional constraint\nmakes them harder to update, so that the kernel implementation has to\nsimplify things by balancing them like a radix tree, which is not always\nideal.  Second, the fact that there are both index and heap properties\nmakes both tree manipulation and search more complex, which results in a\nhigher multiplicative time constant.  As it turns out, the simple interval\ntree algorithm ends up running faster than the more clever prio tree.\n\nThis patch:\n\nAdd two test modules:\n\n- prio_tree_test measures the performance of lib/prio_tree.c, both for\n  insertion/removal and for stabbing searches\n\n- interval_tree_test measures the performance of a library of equivalent\n  functionality, built using the augmented rbtree support.\n\nIn order to support the second test module, lib/interval_tree.c is\nintroduced. It is kept separate from the interval_tree_test main file\nfor two reasons: first we don\u0027t want to provide an unfair advantage\nover prio_tree_test by having everything in a single compilation unit,\nand second there is the possibility that the interval tree functionality\ncould get some non-test users in kernel over time.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "910a742d4ba863848c7283d69c21bfa779d3b9a8",
      "tree": "324d473754194d806fdd254f5a4e58dfc8b4a221",
      "parents": [
        "bf7ad8eeab995710c766df49c9c69a8592ca0216"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Mon Oct 08 16:30:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 09 16:22:33 2012 +0900"
      },
      "message": "rbtree: performance and correctness test\n\nThis small module helps measure the performance of rbtree insert and\nerase.\n\nAdditionally, we run a few correctness tests to check that the rbtrees\nhave all desired properties:\n\n- contains the right number of nodes in the order desired,\n- never two consecutive red nodes on any path,\n- all paths to leaf nodes have the same number of black nodes,\n- root node is black\n\n[akpm@linux-foundation.org: fix printk warning: sparc64 cycles_t is unsigned long]\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Daniel Santos \u003cdaniel.santos@pobox.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42d5ec27f873c654a68f7f865dcd7737513e9508",
      "tree": "a52fdc8d71dfc3724e4b2828fd53958e3774c761",
      "parents": [
        "4520c6a49af833c83de6c74525ce8e07bbe6d783"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 24 17:11:16 2012 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 08 13:50:20 2012 +1030"
      },
      "message": "X.509: Add an ASN.1 decoder\n\nAdd an ASN.1 BER/DER/CER decoder.  This uses the bytecode from the ASN.1\ncompiler in the previous patch to inform it as to what to expect to find in the\nencoded byte stream.  The output from the compiler also tells it what functions\nto call on what tags, thus allowing the caller to retrieve information.\n\nThe decoder is called as follows:\n\n\tint asn1_decoder(const struct asn1_decoder *decoder,\n\t\t\t void *context,\n\t\t\t const unsigned char *data,\n\t\t\t size_t datalen);\n\nThe decoder argument points to the bytecode from the ASN.1 compiler.  context\nis the caller\u0027s context and is passed to the action functions.  data and\ndatalen define the byte stream to be decoded.\n\nNote that the decoder is currently limited to datalen being less than 64K.\nThis reduces the amount of stack space used by the decoder because ASN.1 is a\nnested construct.  Similarly, the decoder is limited to a maximum of 10 levels\nof constructed data outside of a leaf node also in an effort to keep stack\nusage down.\n\nThese restrictions can be raised if necessary.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a77ad6ea0b0bb1f9d1f52ed494bd72a5fdde208e",
      "tree": "96f3bcb637dc80c7a92611237ce4a9b3f6466387",
      "parents": [
        "0b1568a4536ff287a87908d7fc35c05bd7736a53"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Sep 21 23:30:46 2012 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 08 13:50:18 2012 +1030"
      },
      "message": "X.509: Implement simple static OID registry\n\nImplement a simple static OID registry that allows the mapping of an encoded\nOID to an enum value for ease of use.\n\nThe OID registry index enum appears in the:\n\n\tlinux/oid_registry.h\n\nheader file.  A script generates the registry from lines in the header file\nthat look like:\n\n\t\u003csp*\u003eOID_foo,\u003csp*\u003e/*\u003csp*\u003e1.2.3.4\u003csp*\u003e*/\n\nThe actual OID is taken to be represented by the numbers with interpolated\ndots in the comment.\n\nAll other lines in the header are ignored.\n\nThe registry is queries by calling:\n\n\tOID look_up_oid(const void *data, size_t datasize);\n\nThis returns a number from the registry enum representing the OID if found or\nOID__NR if not.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e6459606b04e6385ccd3c2060fc10f78a92c7700",
      "tree": "d89592d1a11147c46fa72795e99ca2bc8726f58a",
      "parents": [
        "979570e02981d4a8fc20b3cc8fd651856c98ee9d"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Oct 01 00:23:52 2012 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Sun Sep 30 18:02:20 2012 -0700"
      },
      "message": "lib: Add early cpio decoder\n\nAdd a simple cpio decoder without library dependencies for the purpose\nof extracting components from the initramfs blob for early kernel\nuses.  Intended consumers so far are microcode and ACPI override.\n\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nLink: http://lkml.kernel.org/r/1349043837-22659-2-git-send-email-trenn@suse.de\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "2e3ee613480563a6d5c01b57d342e65cc58c06df",
      "tree": "b6b82d1ade41f137bdb9a5a18d8aa446e149c8b2",
      "parents": [
        "1fad1e9a747687a7399bf58e87974f9b1bbcae06",
        "331cbdeedeb2f4ef01ccb761513708af0fe77098"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 22:14:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 22:14:04 2012 -0700"
      },
      "message": "Merge tag \u0027writeback-proportions\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\nPull writeback updates from Wu Fengguang:\n \"Use time based periods to age the writeback proportions, which can\n  adapt equally well to fast/slow devices.\"\n\nFix up trivial conflict in comment in fs/sync.c\n\n* tag \u0027writeback-proportions\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Fix some comment errors\n  block: Convert BDI proportion calculations to flexible proportions\n  lib: Fix possible deadlock in flexible proportion code\n  lib: Proportions with flexible period\n"
    },
    {
      "commit": "27c1ee3f929555b71fa39ec0d81a7e7185de1b16",
      "tree": "42e40bdfe4efac660d650658019391536ce67a42",
      "parents": [
        "37cd9600a9e20359b0283983c9e3a55d84347168",
        "086ff4b3a7fb9cdf41e6a5d0ccd99b86d84633a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:34 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge Andrew\u0027s first set of patches:\n \"Non-MM patches:\n\n   - lots of misc bits\n\n   - tree-wide have_clk() cleanups\n\n   - quite a lot of printk tweaks.  I draw your attention to \"printk:\n     convert the format for KERN_\u003cLEVEL\u003e to a 2 byte pattern\" which\n     looks a bit scary.  But afaict it\u0027s solid.\n\n   - backlight updates\n\n   - lib/ feature work (notably the addition and use of memweight())\n\n   - checkpatch updates\n\n   - rtc updates\n\n   - nilfs updates\n\n   - fatfs updates (partial, still waiting for acks)\n\n   - kdump, proc, fork, IPC, sysctl, taskstats, pps, etc\n\n   - new fault-injection feature work\"\n\n* Merge emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (128 commits)\n  drivers/misc/lkdtm.c: fix missing allocation failure check\n  lib/scatterlist: do not re-write gfp_flags in __sg_alloc_table()\n  fault-injection: add tool to run command with failslab or fail_page_alloc\n  fault-injection: add selftests for cpu and memory hotplug\n  powerpc: pSeries reconfig notifier error injection module\n  memory: memory notifier error injection module\n  PM: PM notifier error injection module\n  cpu: rewrite cpu-notifier-error-inject module\n  fault-injection: notifier error injection\n  c/r: fcntl: add F_GETOWNER_UIDS option\n  resource: make sure requested range is included in the root range\n  include/linux/aio.h: cpp-\u003eC conversions\n  fs: cachefiles: add support for large files in filesystem caching\n  pps: return PTR_ERR on error in device_create\n  taskstats: check nla_reserve() return\n  sysctl: suppress kmemleak messages\n  ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION\n  ipc: compat: use signed size_t types for msgsnd and msgrcv\n  ipc: allow compat IPC version field parsing if !ARCH_WANT_OLD_COMPAT_IPC\n  ipc: add COMPAT_SHMLBA support\n  ...\n"
    },
    {
      "commit": "08dfb4ddeeeebdee4f3d5a08a87dc9aa68d26f81",
      "tree": "237d2afc4d2c280c9ae76611ab0d5c11f99c5ac9",
      "parents": [
        "9579f5bd31a04e80a87a7b58bd52dff6dc68bc99"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jul 30 14:43:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:22 2012 -0700"
      },
      "message": "powerpc: pSeries reconfig notifier error injection module\n\nThis provides the ability to inject artifical errors to pSeries reconfig\nnotifier chain callbacks.  It is controlled through debugfs interface\nunder /sys/kernel/debug/notifier-error-inject/pSeries-reconfig\n\nIf the notifier call chain should be failed with some events\nnotified, write the error code to \"actions/\u003cnotifier event\u003e/error\".\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Dave Jones \u003cdavej@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": "9579f5bd31a04e80a87a7b58bd52dff6dc68bc99",
      "tree": "a574a53f7829f157ef9ce2b696cc66ffe92bcef9",
      "parents": [
        "048b9c3549790af21eabd06a5ebdad305e75b1c5"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jul 30 14:43:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:22 2012 -0700"
      },
      "message": "memory: memory notifier error injection module\n\nThis provides the ability to inject artifical errors to memory hotplug\nnotifier chain callbacks.  It is controlled through debugfs interface\nunder /sys/kernel/debug/notifier-error-inject/memory\n\nIf the notifier call chain should be failed with some events notified,\nwrite the error code to \"actions/\u003cnotifier event\u003e/error\".\n\nExample: Inject memory hotplug offline error (-12 \u003d\u003d -ENOMEM)\n\n\t# cd /sys/kernel/debug/notifier-error-inject/memory\n\t# echo -12 \u003e actions/MEM_GOING_OFFLINE/error\n\t# echo offline \u003e /sys/devices/system/memory/memoryXXX/state\n\tbash: echo: write error: Cannot allocate memory\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Dave Jones \u003cdavej@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": "048b9c3549790af21eabd06a5ebdad305e75b1c5",
      "tree": "784e739face8b1ca4ff82cfe143c53b0eab1a1b6",
      "parents": [
        "f5a9f52e2c5654c3d212dbf7e7a169c60876691a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jul 30 14:43:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:22 2012 -0700"
      },
      "message": "PM: PM notifier error injection module\n\nThis provides the ability to inject artifical errors to PM notifier chain\ncallbacks.  It is controlled through debugfs interface under\n/sys/kernel/debug/notifier-error-inject/pm\n\nEach of the files in \"error\" directory represents an event which can be\nfailed and contains the error code.  If the notifier call chain should be\nfailed with some events notified, write the error code to the files.\n\nIf the notifier call chain should be failed with some events notified,\nwrite the error code to \"actions/\u003cnotifier event\u003e/error\".\n\nExample: Inject PM suspend error (-12 \u003d -ENOMEM)\n\n\t# cd /sys/kernel/debug/notifier-error-inject/pm\n\t# echo -12 \u003e actions/PM_SUSPEND_PREPARE/error\n\t# echo mem \u003e /sys/power/state\n\tbash: echo: write error: Cannot allocate memory\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Dave Jones \u003cdavej@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": "8d438288145f19f253a82ca71290b44fce79e23f",
      "tree": "521c1086079ed8fb78aa622cf19bdbcfd53cbe12",
      "parents": [
        "1d151c337d79fa3de88654d2514f58fbd916a8e0"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jul 30 14:43:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:22 2012 -0700"
      },
      "message": "fault-injection: notifier error injection\n\nThis patchset provides kernel modules that can be used to test the error\nhandling of notifier call chain failures by injecting artifical errors to\nthe following notifier chain callbacks.\n\n * CPU notifier\n * PM notifier\n * memory hotplug notifier\n * powerpc pSeries reconfig notifier\n\nExample: Inject CPU offline error (-1 \u003d\u003d -EPERM)\n\n  # cd /sys/kernel/debug/notifier-error-inject/cpu\n  # echo -1 \u003e actions/CPU_DOWN_PREPARE/error\n  # echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n  bash: echo: write error: Operation not permitted\n\nThe patchset also adds cpu and memory hotplug tests to\ntools/testing/selftests These tests first do simple online and offline\ntest and then do fault injection tests if notifier error injection\nmodule is available.\n\nThis patch:\n\nThe notifier error injection provides the ability to inject artifical\nerrors to specified notifier chain callbacks.  It is useful to test the\nerror handling of notifier call chain failures.\n\nThis adds common basic functions to define which type of events can be\nfail and to initialize the debugfs interface to control what error code\nshould be returned and which event should be failed.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Dave Jones \u003cdavej@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": "639b9e34f15e4b2c30068a4e4485586af0cdf709",
      "tree": "a84e3277a55757dac4630e3d20bc353b195c3c10",
      "parents": [
        "f7f95056779eb69c5fc3ac30e5cb6fd28bdbba43"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jul 30 14:40:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:16 2012 -0700"
      },
      "message": "string: introduce memweight()\n\nmemweight() is the function that counts the total number of bits set in\nmemory area.  Unlike bitmap_weight(), memweight() takes pointer and size\nin bytes to specify a memory area which does not need to be aligned to\nlong-word boundary.\n\n[akpm@linux-foundation.org: rename `w\u0027 to `ret\u0027]\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Anders Larsen \u003cal@alarsen.net\u003e\nCc: Alasdair Kergon \u003cagk@redhat.com\u003e\nCc: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Tony Luck \u003ctony.luck@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": "ab25383983fb8d7786696f5371e75e79c3e9a405",
      "tree": "7e35f3abdd680e2cccf3749a2a21b07bc02c7c5b",
      "parents": [
        "a339aef90470cf21debb138f95e22adf143eecca"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Thu Jul 05 18:12:38 2012 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jul 23 13:54:52 2012 +0100"
      },
      "message": "of/lib: Allow scripts/dtc/libfdt to be used from kernel code\n\nlibfdt is part of the device tree support in scripts/dtc/libfdt.  For\nsome platforms that use the Device Tree, we want to be able to edit\nthe flattened device tree form.\n\nWe don\u0027t want to burden kernel builds that do not require it, so we\ngate compilation of libfdt files with CONFIG_LIBFDT.  So if it is\nneeded, you need to do this in your Kconfig:\n\n\tselect LIBFDT\n\nAnd in the Makefile of the code using libfdt something like:\n\nccflags-y :\u003d -I$(src)/../../../scripts/dtc/libfdt\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nCc: linux-mips@linux-mips.org\nCc: devicetree-discuss@lists.ozlabs.org\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: linux-kernel@vger.kernel.org\nAcked-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "f3109a51f8dc88e8a94f620240b7474b91bed37a",
      "tree": "5a8d0c36787f775bd552cc00ff17571e38deda9e",
      "parents": [
        "ead188f9f930fb5d7f0c49315a7fce3d8bd16b7e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 24 18:59:10 2012 +0200"
      },
      "committer": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Jun 09 08:37:55 2012 +0900"
      },
      "message": "lib: Proportions with flexible period\n\nImplement code computing proportions of events of different type (like code in\nlib/proportions.c) but allowing periods to have different lengths. This allows\nus to have aging periods of fixed wallclock time which gives better proportion\nestimates given the hugely varying throughput of different devices - previous\nmeasuring of aging period by number of events has the problem that a reasonable\nperiod length for a system with low-end USB stick is not a reasonable period\nlength for a system with high-end storage array resulting either in too slow\nproportion updates or too fluctuating proportion updates.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "1e2aec873ad6d16538512dbb96853caa1fa076af",
      "tree": "d792b19ac47be44debd24610ae27f1330fa490e4",
      "parents": [
        "ae32adc1e06d096399f195eeda12d443d53539c4",
        "2c66f623631709aa5f2e4c14c7e089682e7394a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 16:57:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 16:57:16 2012 -0700"
      },
      "message": "Merge branch \u0027generic-string-functions\u0027\n\nThis makes \u003casm/word-at-a-time.h\u003e actually live up to its promise of\nallowing architectures to help tune the string functions that do their\nwork a word at a time.\n\nDavid had already taken the x86 strncpy_from_user() function, modified\nit to work on sparc, and then done the extra work to make it generically\nuseful.  This then expands on that work by making x86 use that generic\nversion, completing the circle.\n\nBut more importantly, it fixes up the word-at-a-time interfaces so that\nit\u0027s now easy to also support things like strnlen_user(), and pretty\nmuch most random string functions.\n\nDavid reports that it all works fine on sparc, and Jonas Bonn reported\nthat an earlier version of this worked on OpenRISC too.  It\u0027s pretty\neasy for architectures to add support for this and just replace their\nprivate versions with the generic code.\n\n* generic-string-functions:\n  sparc: use the new generic strnlen_user() function\n  x86: use the new generic strnlen_user() function\n  lib: add generic strnlen_user() function\n  word-at-a-time: make the interfaces truly generic\n  x86: use generic strncpy_from_user routine\n"
    },
    {
      "commit": "39b6cc668c5ecc66f6f9c9293ffab681cb6f7065",
      "tree": "f048b17a1b1a0a0f6d6a8d33459e8789c600c634",
      "parents": [
        "27953437059c64d14086196eb96f43c78caa9db3",
        "3f81b2c49d31e763a9c1da831ceb6cef087cf6c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 12:50:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 12:50:04 2012 -0700"
      },
      "message": "Merge tag \u0027stmp-dev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull arm-soc stmp-dev library code from Olof Johansson:\n \"A number of devices are using a common register layout, this adds\n  support code for it in lib/stmp_device.c so we do not need to\n  duplicate it in each driver.\"\n\nFix up trivial conflicts in drivers/i2c/busses/i2c-mxs.c and\nlib/Makefile\n\n* tag \u0027stmp-dev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:\n  i2c: mxs: use global reset function\n  lib: add support for stmp-style devices\n"
    },
    {
      "commit": "a08c5356a3aaf638c41897ae4169de18db89595e",
      "tree": "fe0d1cb48a26cc000c199d484a139799d559a178",
      "parents": [
        "36126f8f2ed8168eb13aa0662b9b9585cba100a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:06:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:33:53 2012 -0700"
      },
      "message": "lib: add generic strnlen_user() function\n\nThis adds a new generic optimized strnlen_user() function that uses the\n\u003casm/word-at-a-time.h\u003e infrastructure to portably do efficient string\nhandling.\n\nIn many ways, strnlen is much simpler than strncpy, and in particular we\ncan always pre-align the words we load from memory.  That means that all\nthe worries about alignment etc are a non-issue, so this one can easily\nbe used on any architecture.  You obviously do have to do the\nappropriate word-at-a-time.h macros.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce004178be1bbaa292e9e6497939e2970300095a",
      "tree": "1cd5306548947deaedd612189b56d35265217e8e",
      "parents": [
        "9978306e31a8f89bd81fbc4c49fd9aefb1d30d10",
        "c5389831cda3b38a56606a348a537a1332f2d729"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 15:10:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 15:10:28 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\nPull sparc changes from David S. Miller:\n \"This has the generic strncpy_from_user() implementation architectures\n  can now use, which we\u0027ve been developing on linux-arch over the past\n  few days.\n\n  For good measure I ran both a 32-bit and a 64-bit glibc testsuite run,\n  and the latter of which pointed out an adjustment I needed to make to\n  sparc\u0027s user_addr_max() definition.  Linus, you were right, STACK_TOP\n  was not the right thing to use, even on sparc itself :-)\n\n  From Sam Ravnborg, we have a conversion of sparc32 over to the common\n  alloc_thread_info_node(), since the aspect which originally blocked\n  our doing so (sun4c) has been removed.\"\n\nFix up trivial arch/sparc/Kconfig and lib/Makefile conflicts.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc: Fix user_addr_max() definition.\n  lib: Sparc\u0027s strncpy_from_user is generic enough, move under lib/\n  kernel: Move REPEAT_BYTE definition into linux/kernel.h\n  sparc: Increase portability of strncpy_from_user() implementation.\n  sparc: Optimize strncpy_from_user() zero byte search.\n  sparc: Add full proper error handling to strncpy_from_user().\n  sparc32: use the common implementation of alloc_thread_info_node()\n"
    },
    {
      "commit": "2922585b93294d47172a765115e0dbc1bfe1be19",
      "tree": "acb4436987d24b2a3fb3cef02097eefbc4762bbf",
      "parents": [
        "446969084d33a4064a39d280806da642c54ba4ac"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 13:12:28 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 13:12:28 2012 -0700"
      },
      "message": "lib: Sparc\u0027s strncpy_from_user is generic enough, move under lib/\n\nTo use this, an architecture simply needs to:\n\n1) Provide a user_addr_max() implementation via asm/uaccess.h\n\n2) Add \"select GENERIC_STRNCPY_FROM_USER\" to their arch Kcnfig\n\n3) Remove the existing strncpy_from_user() implementation and symbol\n   exports their architecture had.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "9c1c21a0533aa37a475e8e8cce7ee064ed771881",
      "tree": "7a6ff2d0c49a31196da5bb8b486c7c9db7bcb98f",
      "parents": [
        "516cf1be07cf3ab52e6d2f64da33b0fa5d9e0042"
      ],
      "author": {
        "name": "Aneesh V",
        "email": "aneesh@ti.com",
        "time": "Fri Apr 27 17:54:03 2012 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 02 00:04:06 2012 -0700"
      },
      "message": "ddr: add LPDDR2 data from JESD209-2\n\nadd LPDDR2 data from the JEDEC spec JESD209-2. The data\nincludes:\n\n1. Addressing information for LPDDR2 memories of different\n   densities and types(S2/S4)\n2. AC timing data.\n\nThis data will useful for memory controller device drivers.\nRight now this is used by the TI EMIF SDRAM controller\ndriver.\n\nSigned-off-by: Aneesh V \u003caneesh@ti.com\u003e\nReviewed-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Benoit Cousson \u003cb-cousson@ti.com\u003e\n[santosh.shilimkar@ti.com: Moved to drivers/memory from drivers/misc]\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: Lokesh Vutla \u003clokeshvutla@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4ccf4beab8c447f8cd33d46afb6e10e1aa3befc6",
      "tree": "2291a9cb2b1fa2bbb94bbcb9df3c9cf8588fc176",
      "parents": [
        "e816b57a337ea3b755de72bec38c10c864f23015"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Wed Aug 31 20:35:40 2011 +0200"
      },
      "committer": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Fri Apr 20 23:27:08 2012 +0200"
      },
      "message": "lib: add support for stmp-style devices\n\nMX23/28 use IP cores which follow a register layout I have first seen on\nSTMP3xxx SoCs. In this layout, every register actually has four u32:\n\n 1.) to store a value directly\n 2.) a SET register where every 1-bit sets the corresponding bit,\n     others are unaffected\n 3.) same with a CLR register\n 4.) same with a TOG (toggle) register\n\nAlso, the 2 MSBs in register 0 are always the same and can be used to reset\nthe IP core.\n\nAll this is strictly speaking not mach-specific (but IP core specific) and,\nthus, doesn\u0027t need to be in mach-mxs/include. At least mx6 also uses IP cores\nfollowing this stmp-style. So:\n\nIntroduce a stmp-style device, put the code and defines for that in a public\nplace (lib/), and let drivers for stmp-style devices select that code.\nTo avoid regressions and ease reviewing, the actual code is simply copied from\nmach-mxs. It definately wants updates, but those need a seperate patch series.\n\nVoila, mach dependency gone, reusable code introduced. Note that I didn\u0027t\nremove the duplicated code from mach-mxs yet, first the drivers have to be\nconverted.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\n"
    },
    {
      "commit": "c6df4b17c8539f737a6a2d7b797eac41e8e34cdc",
      "tree": "7b891178267aa9486fed1197419aac57d3036b5f",
      "parents": [
        "86f8bedc9e1a8ddb4f1d9ff1f0c1229cc0797d6d"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 02 00:17:54 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 10:34:23 2012 +1100"
      },
      "message": "lib: Fix multiple definitions of clz_tab\n\nBoth sparc 32-bit\u0027s software divide assembler and MPILIB provide\nclz_tab[] with identical contents.\n\nBreak it out into a seperate object file and select it when\nSPARC32 or MPILIB is set.\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5e8898e97a5db4125d944070922164d1d09a2689",
      "tree": "a5319fcc60499e63fecc7a08d923a1de8f9c7622",
      "parents": [
        "6ac6172a935d1faf7ef259802267657bc0007a62"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Tue Jan 17 17:12:03 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 18 10:46:21 2012 +1100"
      },
      "message": "lib: digital signature config option name change\n\nIt was reported that DIGSIG is confusing name for digital signature\nmodule. It was suggested to rename DIGSIG to SIGNATURE.\n\nRequested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSuggested-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e7691a1ce341c80ed9504244a36b31c025217391",
      "tree": "e9941bb350f64a726130e299c411821da6f41a53",
      "parents": [
        "5cd9599bba428762025db6027764f1c59d0b1e1b",
        "8fcc99549522fc7a0bbaeb5755855ab0d9a59ce8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security: (32 commits)\n  ima: fix invalid memory reference\n  ima: free duplicate measurement memory\n  security: update security_file_mmap() docs\n  selinux: Casting (void *) value returned by kmalloc is useless\n  apparmor: fix module parameter handling\n  Security: tomoyo: add .gitignore file\n  tomoyo: add missing rcu_dereference()\n  apparmor: add missing rcu_dereference()\n  evm: prevent racing during tfm allocation\n  evm: key must be set once during initialization\n  mpi/mpi-mpow: NULL dereference on allocation failure\n  digsig: build dependency fix\n  KEYS: Give key types their own lockdep class for key-\u003esem\n  TPM: fix transmit_cmd error logic\n  TPM: NSC and TIS drivers X86 dependency fix\n  TPM: Export wait_for_stat for other vendor specific drivers\n  TPM: Use vendor specific function for status probe\n  tpm_tis: add delay after aborting command\n  tpm_tis: Check return code from getting timeouts/durations\n  tpm: Introduce function to poll for result of self test\n  ...\n\nFix up trivial conflict in lib/Makefile due to addition of CONFIG_MPI\nand SIGSIG next to CONFIG_DQL addition.\n"
    },
    {
      "commit": "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
      "tree": "46c81c6ae375b1f14e209b13c8ac020842807ece",
      "parents": [
        "06792c4dde2ad143928cc95c1ba218c6269c494b",
        "193a667fba76b3df482cbf865228e26ee246e889"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\nlib: use generic pci_iomap on all architectures\n\nMany architectures don\u0027t want to pull in iomap.c,\nso they ended up duplicating pci_iomap from that file.\nThat function isn\u0027t trivial, and we are going to modify it\nhttps://lkml.org/lkml/2011/11/14/183\nso the duplication hurts.\n\nThis reduces the scope of the problem significantly,\nby moving pci_iomap to a separate file and\nreferencing that from all architectures.\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:\n  alpha: drop pci_iomap/pci_iounmap from pci-noop.c\n  mn10300: switch to GENERIC_PCI_IOMAP\n  mn10300: add missing __iomap markers\n  frv: switch to GENERIC_PCI_IOMAP\n  tile: switch to GENERIC_PCI_IOMAP\n  tile: don\u0027t panic on iomap\n  sparc: switch to GENERIC_PCI_IOMAP\n  sh: switch to GENERIC_PCI_IOMAP\n  powerpc: switch to GENERIC_PCI_IOMAP\n  parisc: switch to GENERIC_PCI_IOMAP\n  mips: switch to GENERIC_PCI_IOMAP\n  microblaze: switch to GENERIC_PCI_IOMAP\n  arm: switch to GENERIC_PCI_IOMAP\n  alpha: switch to GENERIC_PCI_IOMAP\n  lib: add GENERIC_PCI_IOMAP\n  lib: move GENERIC_IOMAP to lib/Kconfig\n\nFix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig\n"
    },
    {
      "commit": "7affca3537d74365128e477b40c529d6f2fe86c8",
      "tree": "20be92bd240029182fc89c2c4f25401b7715dcae",
      "parents": [
        "356b95424cfb456e14a59eaa579422ce014c424b",
        "ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 07 12:03:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 07 12:03:30 2012 -0800"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)\n  arm: fix up some samsung merge sysdev conversion problems\n  firmware: Fix an oops on reading fw_priv-\u003efw in sysfs loading file\n  Drivers:hv: Fix a bug in vmbus_driver_unregister()\n  driver core: remove __must_check from device_create_file\n  debugfs: add missing #ifdef HAS_IOMEM\n  arm: time.h: remove device.h #include\n  driver-core: remove sysdev.h usage.\n  clockevents: remove sysdev.h\n  arm: convert sysdev_class to a regular subsystem\n  arm: leds: convert sysdev_class to a regular subsystem\n  kobject: remove kset_find_obj_hinted()\n  m86k: gpio - convert sysdev_class to a regular subsystem\n  mips: txx9_sram - convert sysdev_class to a regular subsystem\n  mips: 7segled - convert sysdev_class to a regular subsystem\n  sh: dma - convert sysdev_class to a regular subsystem\n  sh: intc - convert sysdev_class to a regular subsystem\n  power: suspend - convert sysdev_class to a regular subsystem\n  power: qe_ic - convert sysdev_class to a regular subsystem\n  power: cmm - convert sysdev_class to a regular subsystem\n  s390: time - convert sysdev_class to a regular subsystem\n  ...\n\nFix up conflicts with \u0027struct sysdev\u0027 removal from various platform\ndrivers that got changed:\n - arch/arm/mach-exynos/cpu.c\n - arch/arm/mach-exynos/irq-eint.c\n - arch/arm/mach-s3c64xx/common.c\n - arch/arm/mach-s3c64xx/cpu.c\n - arch/arm/mach-s5p64x0/cpu.c\n - arch/arm/mach-s5pv210/common.c\n - arch/arm/plat-samsung/include/plat/cpu.h\n - arch/powerpc/kernel/sysfs.c\nand fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h\n"
    },
    {
      "commit": "4af679cd7cbb0a0d8774b5cdb34bffcaa4e86e52",
      "tree": "b97bd32f0af95d22133e98a774966ced2eee0664",
      "parents": [
        "175cad266774d09c57a62c65baa6b4e1edafdf3a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 13 10:36:20 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 13 08:18:25 2011 -0800"
      },
      "message": "kref: Inline all functions\n\nThese are tiny functions, there\u0027s no point in having them out-of-line.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-8eccvi2ur2fzgi00xdjlbf5z@git.kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "75957ba36c05b979701e9ec64b37819adc12f830",
      "tree": "c980b8489d6c09cc71ce80f61fb892e3c8806c96",
      "parents": [
        "85c10f28286148ee5cdba1d22c81936ff160596e"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Mon Nov 28 16:32:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 12:46:19 2011 -0500"
      },
      "message": "dql: Dynamic queue limits\n\nImplementation of dynamic queue limits (dql).  This is a libary which\nallows a queue limit to be dynamically managed.  The goal of dql is\nto set the queue limit, number of objects to the queue, to be minimized\nwithout allowing the queue to be starved.\n\ndql would be used with a queue which has these properties:\n\n1) Objects are queued up to some limit which can be expressed as a\n   count of objects.\n2) Periodically a completion process executes which retires consumed\n   objects.\n3) Starvation occurs when limit has been reached, all queued data has\n   actually been consumed but completion processing has not yet run,\n   so queuing new data is blocked.\n4) Minimizing the amount of queued data is desirable.\n\nA canonical example of such a queue would be a NIC HW transmit queue.\n\nThe queue limit is dynamic, it will increase or decrease over time\ndepending on the workload.  The queue limit is recalculated each time\ncompletion processing is done.  Increases occur when the queue is\nstarved and can exponentially increase over successive intervals.\nDecreases occur when more data is being maintained in the queue than\nneeded to prevent starvation.  The number of extra objects, or \"slack\",\nis measured over successive intervals, and to avoid hysteresis the\nlimit is only reduced by the miminum slack seen over a configurable\ntime period.\n\ndql API provides routines to manage the queue:\n- dql_init is called to intialize the dql structure\n- dql_reset is called to reset dynamic values\n- dql_queued called when objects are being enqueued\n- dql_avail returns availability in the queue\n- dql_completed is called when objects have be consumed in the queue\n\nConfiguration consists of:\n- max_limit, maximum limit\n- min_limit, minimum limit\n- slack_hold_time, time to measure instances of slack before reducing\n  queue limit\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66eab4df288aaee75938ae99877c4f759fc6d56c",
      "tree": "0b663bfe2d464a55c2a85b27140a53b32f261542",
      "parents": [
        "4673ca8eb3690832e76371371955a8b02e1f59d4"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Nov 24 20:45:20 2011 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Nov 28 21:12:42 2011 +0200"
      },
      "message": "lib: add GENERIC_PCI_IOMAP\n\nMany architectures want a generic pci_iomap but\nnot the rest of iomap.c. Split that to a separate .c\nfile and add a new config symbol. select automatically\nby GENERIC_IOMAP.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "051dbb918c7fb7da8e64a2cd0d804ba73399709f",
      "tree": "34d547e74ef6edb7feeda4a8291b221cc016c393",
      "parents": [
        "7e8dec918ef8e0f68b4937c3c50fa57002077a4d"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Fri Oct 14 15:25:16 2011 +0300"
      },
      "committer": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Wed Nov 09 12:10:37 2011 +0200"
      },
      "message": "crypto: digital signature verification support\n\nThis patch implements RSA digital signature verification using GnuPG library.\n\nThe format of the signature and the public key is defined by their respective\nheaders. The signature header contains version information, algorithm,\nand keyid, which was used to generate the signature.\nThe key header contains version and algorythim type.\nThe payload of the signature and the key are multi-precision integers.\n\nThe signing and key management utilities evm-utils provide functionality\nto generate signatures and load keys into the kernel keyring.\nWhen the key is added to the kernel keyring, the keyid defines the name\nof the key.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nAcked-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\n"
    },
    {
      "commit": "d9c46b184fcfd33c85a7dc48a653435a08e21f56",
      "tree": "472f003b19daaff085f31931d4a6d5c495a6f716",
      "parents": [
        "5ce3e312ec5c11abce13215be70700778bf601f0"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Wed Aug 31 14:05:16 2011 +0300"
      },
      "committer": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Wed Nov 09 11:47:25 2011 +0200"
      },
      "message": "crypto: GnuPG based MPI lib - make files (part 3)\n\nAdds the multi-precision-integer maths library which was originally taken\nfrom GnuPG and ported to the kernel by (among others) David Howells.\nThis version is taken from Fedora kernel 2.6.32-71.14.1.el6.\nThe difference is that checkpatch reported errors and warnings have been fixed.\n\nThis library is used to implemenet RSA digital signature verification\nused in IMA/EVM integrity protection subsystem.\n\nDue to patch size limitation, the patch is divided into 4 parts.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\n"
    },
    {
      "commit": "1230db8e1543c0471dd165727d34647ab098cc1e",
      "tree": "6667af62e0a0bb24b315f5b9e61ea7635293135b",
      "parents": [
        "22f92bacbeea24b20e447444c28e7cad9f1ac3f8"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Thu Sep 08 14:00:42 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:30:53 2011 +0200"
      },
      "message": "llist: Make some llist functions inline\n\nBecause llist code will be used in performance critical scheduler\ncode path, make llist_add() and llist_del_all() inline to avoid\nfunction calling overhead and related \u0027glue\u0027 overhead.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1315461646-1379-2-git-send-email-ying.huang@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bd823821e68e5de6d680cbbf1c8654c9c36674e1",
      "tree": "f08b51f967d7912ce3b37c6c9230ca2bfde0bd0a",
      "parents": [
        "90e93648c41bd29a72f6ec55ce27a23c209eab8c"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 30 15:17:03 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 30 10:12:05 2011 -0700"
      },
      "message": "bitops: Move find_next_bit.o from lib-y to obj-y\n\nIf there are no builtin users of find_next_bit_le() and\nfind_next_zero_bit_le(), these functions are not present in the kernel\nimage, causing m68k allmodconfig to fail with:\n\n  ERROR: \"find_next_zero_bit_le\" [fs/ufs/ufs.ko] undefined!\n  ERROR: \"find_next_bit_le\" [fs/udf/udf.ko] undefined!\n  ...\n\nThis started to happen after commit 171d809df189 (\"m68k: merge mmu and\nnon-mmu bitops.h\"), as m68k had its own inline versions before.\n\ncommit 63e424c84429 (\"arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,\nBIT_LE, LAST_BIT}\") added find_last_bit.o to obj-y (so it\u0027s always\nincluded), but find_next_bit.o to lib-y (so it gets removed by the\nlinker if there are no builtin users).\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc0b96b54a21246e377122d54569eef71cec535f",
      "tree": "b9cb6230c79da4b3a146af7d08c6c26f8d72024c",
      "parents": [
        "de96355c111679dd6e2c5c73e25e814c72510c58"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 19:45:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 18:32:45 2011 -0700"
      },
      "message": "crypto: Move md5_transform to lib/md5.c\n\nWe are going to use this for TCP/IP sequence number and fragment ID\ngeneration.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0e323b47057f4492b8fa22345f38d80a469bf8d",
      "tree": "feb760c7e2cdb1e43640417409428ab858910ea3",
      "parents": [
        "c027a474a68065391c8773f6e83ed5412657e369",
        "c3e6088e1036f8084bc7444b38437da136b7588b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:30:42 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:30:42 2011 -0400"
      },
      "message": "Merge branch \u0027apei\u0027 into apei-release\n\nSome trivial conflicts due to other various merges\nadding to the end of common lists sooner than this one.\n\n\tarch/ia64/Kconfig\n\tarch/powerpc/Kconfig\n\tarch/x86/Kconfig\n\tlib/Kconfig\n\tlib/Makefile\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f49f23abf3dd786ddcac1c1e7db3c2013b07413f",
      "tree": "0726af5e245025b60be8adee0deb8bc665510904",
      "parents": [
        "df013ffb8119c89f062ab05b7f544704315db47b"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jul 13 13:14:23 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:15:56 2011 -0400"
      },
      "message": "lib, Add lock-less NULL terminated single list\n\nCmpxchg is used to implement adding new entry to the list, deleting\nall entries from the list, deleting first entry of the list and some\nother operations.\n\nBecause this is a single list, so the tail can not be accessed in O(1).\n\nIf there are multiple producers and multiple consumers, llist_add can\nbe used in producers and llist_del_all can be used in consumers.  They\ncan work simultaneously without lock.  But llist_del_first can not be\nused here.  Because llist_del_first depends on list-\u003efirst-\u003enext does\nnot changed if list-\u003efirst is not changed during its operation, but\nllist_del_first, llist_add, llist_add (or llist_del_all, llist_add,\nllist_add) sequence in another consumer may violate that.\n\nIf there are multiple producers and one consumer, llist_add can be\nused in producers and llist_del_all or llist_del_first can be used in\nthe consumer.\n\nThis can be summarized as follow:\n\n           |   add    | del_first |  del_all\n add       |    -     |     -     |     -\n del_first |          |     L     |     L\n del_all   |          |           |     -\n\nWhere \"-\" stands for no lock is needed, while \"L\" stands for lock is\nneeded.\n\nThe list entries deleted via llist_del_all can be traversed with\ntraversing function such as llist_for_each etc.  But the list entries\ncan not be traversed safely before deleted from the list.  The order\nof deleted entries is from the newest to the oldest added one.  If you\nwant to traverse from the oldest to the newest, you must reverse the\norder by yourself before traversing.\n\nThe basic atomic operation of this list is cmpxchg on long.  On\narchitectures that don\u0027t have NMI-safe cmpxchg implementation, the\nlist can NOT be used in NMI handler.  So code uses the list in NMI\nhandler should depend on CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c0c33addcba2ce753b4e2746db99feaae2f82a85",
      "tree": "dab480183ac0e64bfe9250e1f294705d1a424c78",
      "parents": [
        "ffbc03bc75b39c7bd412e7cc6d2185c11b0ffedd",
        "931749bf78b969c54de9bbc67cf29b13a40bb73b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 08 13:44:21 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 08 13:44:21 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "10f8113ecb76eea72f96c7cfb72d7fed7c282565",
      "tree": "85dd734aeee52e3f21851f11436f4dabaf130033",
      "parents": [
        "7150962d637cf38617924f7f72ea00612283eb89"
      ],
      "author": {
        "name": "Arend van Spriel",
        "email": "arend@broadcom.com",
        "time": "Tue May 31 11:22:16 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 03 15:01:07 2011 -0400"
      },
      "message": "lib: cordic: add library module providing cordic angle calculation\n\nThe brcm80211 driver in the staging tree has a cordic function to\ndetermine cosine and sine for a given angle. Feedback received from\nJohn Linville suggested that these kind of functions should be made\navailable to others as a library function in the kernel tree. The\nb43 driver also has a cordic angle calculation implemented.\n\nCc: linux-kernel@vger.kernel.org\nCc: linux-wireless@vger.kernel.org\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nReviewed-by: Roland Vossen \u003crvossen@broadcom.com\u003e\nReviewed-by: Henry Ptasinski \u003chenryp@broadcom.com\u003e\nReviewed-by: Franky (Zhenhui) Lin \u003cfrankyl@broadcom.com\u003e\nSigned-off-by: Arend van Spriel \u003carend@broadcom.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7150962d637cf38617924f7f72ea00612283eb89",
      "tree": "b9c336c00c32e986b73bfabc3a70c78d821659bc",
      "parents": [
        "dabd3001f941e35c4afa2458ceb17e5170062189"
      ],
      "author": {
        "name": "Arend van Spriel",
        "email": "arend@broadcom.com",
        "time": "Tue May 31 11:22:15 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 03 15:01:06 2011 -0400"
      },
      "message": "lib: crc8: add new library module providing crc8 algorithm\n\nThe brcm80211 driver in staging tree uses a crc8 function. Based on\nfeedback from John Linville to move this to lib directory, the linux\nsource has been searched. Although there is currently only one other\nkernel driver using this algorithm (ie. drivers/ssb) we are providing\nthis as a library function for others to use.\n\nCc: linux-kernel@vger.kernel.org\nCc: linux-wireless@vger.kernel.org\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: George Spelvin \u003clinux@horizon.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nReviewed-by: Henry Ptasinski \u003chenryp@broadcom.com\u003e\nReviewed-by: Roland Vossen \u003crvossen@broadcom.com\u003e\nReviewed-by: \"Franky (Zhenhui) Lin\" \u003cfrankyl@broadcom.com\u003e\nSigned-off-by: Arend van Spriel \u003carend@broadcom.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "63e424c84429903c92a0f1e9654c31ccaf6694d0",
      "tree": "7a5dbe2587176f3552a71aa18d4cc006bc05261b",
      "parents": [
        "19de85ef574c3a2182e3ccad9581805052f14946"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu May 26 16:26:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:38 2011 -0700"
      },
      "message": "arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT}\n\nBy the previous style change, CONFIG_GENERIC_FIND_NEXT_BIT,\nCONFIG_GENERIC_FIND_BIT_LE, and CONFIG_GENERIC_FIND_LAST_BIT are not used\nto test for existence of find bitops anymore.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a94dc35bc5c166d89913dc01a49d27a3c21a455",
      "tree": "575196f1d0b9528b7d63b9bff692dd81e1aeac0f",
      "parents": [
        "f02e8a6596b7dc9b2171f7ff5654039ef0950cdc"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@ksplice.com",
        "time": "Thu Apr 14 20:00:19 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:27 2011 +0930"
      },
      "message": "lib: Add generic binary search function to the kernel.\n\nThere a large number hand-coded binary searches in the kernel (run\n\"git grep search | grep binary\" to find many of them).  Since in my\nexperience, hand-coding binary searches can be error-prone, it seems\nworth cleaning this up by providing a generic binary search function.\n\nThis generic binary search implementation comes from Ksplice.  It has\nthe same basic API as the C library bsearch() function.  Ksplice uses\nit in half a dozen places with 4 different comparison functions, and I\nthink our code is substantially cleaner because of this.\n\nSigned-off-by: Tim Abbott \u003ctabbott@ksplice.com\u003e\nExtra-bikeshedding-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nExtra-bikeshedding-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nExtra-bikeshedding-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7bf7e370d5919112c223a269462cd0b546903829",
      "tree": "03ccc715239df14ae168277dbccc9d9cf4d8a2c8",
      "parents": [
        "68b1a1e786f29c900fa1c516a402e24f0ece622a",
        "d39dd11c3e6a7af5c20bfac40594db36cf270f42"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 17:41:20 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 17:41:20 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus-1\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6: (9356 commits)\n  [media] rc: update for bitop name changes\n  fs: simplify iget \u0026 friends\n  fs: pull inode-\u003ei_lock up out of writeback_single_inode\n  fs: rename inode_lock to inode_hash_lock\n  fs: move i_wb_list out from under inode_lock\n  fs: move i_sb_list out from under inode_lock\n  fs: remove inode_lock from iput_final and prune_icache\n  fs: Lock the inode LRU list separately\n  fs: factor inode disposal\n  fs: protect inode-\u003ei_state with inode-\u003ei_lock\n  lib, arch: add filter argument to show_mem and fix private implementations\n  SLUB: Write to per cpu data when allocating it\n  slub: Fix debugobjects with lockless fastpath\n  autofs4: Do not potentially dereference NULL pointer returned by fget() in autofs_dev_ioctl_setpipefd()\n  autofs4 - remove autofs4_lock\n  autofs4 - fix d_manage() return on rcu-walk\n  autofs4 - fix autofs4_expire_indirect() traversal\n  autofs4 - fix dentry leak in autofs4_expire_direct()\n  autofs4 - reinstate last used update on access\n  vfs - check non-mountpoint dentry might block in __follow_mount_rcu()\n  ...\n\nNOTE!\n\nThis merge commit was created to fix compilation error. The block\ntree was merged upstream and removed the \u0027elv_queue_empty()\u0027\nfunction which the new \u0027mtdswap\u0027 driver is using. So a simple\nmerge of the mtd tree with upstream does not compile. And the\nmtd tree has already be published, so re-basing it is not an option.\n\nTo fix this unfortunate situation, I had to merge upstream into the\nmtd-2.6.git tree without committing, put the fixup patch on top of\nthis, and then commit this. The result is that we do not have commits\nwhich do not compile.\n\nIn other words, this merge commit \"merges\" 3 things: the MTD tree, the\nupstream tree, and the fixup patch.\n"
    },
    {
      "commit": "0664996b7c2fdb1b7f90954469cc242274abd7db",
      "tree": "21bcf25afb94791f87fc5aa8c7e79ac1a8845ad8",
      "parents": [
        "3f5527fe7e0fb50556b97b8addbe3832985f793e"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:14 2011 -0700"
      },
      "message": "bitops: introduce CONFIG_GENERIC_FIND_BIT_LE\n\nThis introduces CONFIG_GENERIC_FIND_BIT_LE to tell whether to use generic\nimplementation of find_*_bit_le() in lib/find_next_bit.c or not.\n\nFor now we select CONFIG_GENERIC_FIND_BIT_LE for all architectures which\nenable CONFIG_GENERIC_FIND_NEXT_BIT.\n\nBut m68knommu wants to define own faster find_next_zero_bit_le() and\ncontinues using generic find_next_{,zero_}bit().\n(CONFIG_GENERIC_FIND_NEXT_BIT and !CONFIG_GENERIC_FIND_BIT_LE)\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33ee3b2e2eb9b4b6c64dcf9ed66e2ac3124e748c",
      "tree": "25d70c021189efa0bcbdf4e84b3ca97a6c147246",
      "parents": [
        "8a5700cd6754a3c88d2ea2f1d7a56f671987fc25"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 22 16:34:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:14 2011 -0700"
      },
      "message": "kstrto*: converting strings to integers done (hopefully) right\n\n1. simple_strto*() do not contain overflow checks and crufty,\n   libc way to indicate failure.\n2. strict_strto*() also do not have overflow checks but the name and\n   comments pretend they do.\n3. Both families have only \"long long\" and \"long\" variants,\n   but users want strtou8()\n4. Both \"simple\" and \"strict\" prefixes are wrong:\n   Simple doesn\u0027t exactly say what\u0027s so simple, strict should not exist\n   because conversion should be strict by default.\n\nThe solution is to use \"k\" prefix and add convertors for more types.\nEnter\n\tkstrtoull()\n\tkstrtoll()\n\tkstrtoul()\n\tkstrtol()\n\tkstrtouint()\n\tkstrtoint()\n\n\tkstrtou64()\n\tkstrtos64()\n\tkstrtou32()\n\tkstrtos32()\n\tkstrtou16()\n\tkstrtos16()\n\tkstrtou8()\n\tkstrtos8()\n\nInclude runtime testsuite (somewhat incomplete) as well.\n\nstrict_strto*() become deprecated, stubbed to kstrto*() and\neventually will be removed altogether.\n\nUse kstrto*() in code today!\n\nNote: on some archs _kstrtoul() and _kstrtol() are left in tree, even if\n      they\u0027ll be unused at runtime. This is temporarily solution,\n      because I don\u0027t want to hardcode list of archs where these\n      functions aren\u0027t needed. Current solution with sizeof() and\n      __alignof__ at least always works.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "f74b9444192c60603020c61d7915b72893137edc",
      "tree": "8b1d16d373234038c2b045c9ceb3c33b93059e8a",
      "parents": [
        "7a6362800cb7d1d618a697a650c7aaed3eb39320",
        "4ba8216cd90560bc402f52076f64d8546e8aefcb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "message": "Merge branch \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  BKL: That\u0027s all, folks\n  fs/locks.c: Remove stale FIXME left over from BKL conversion\n  ipx: remove the BKL\n  appletalk: remove the BKL\n  x25: remove the BKL\n  ufs: remove the BKL\n  hpfs: remove the BKL\n  drivers: remove extraneous includes of smp_lock.h\n  tracing: don\u0027t trace the BKL\n  adfs: remove the big kernel lock\n"
    },
    {
      "commit": "437aa565e2656776a7104aaacd792fe789ea8b2d",
      "tree": "a48688f36673af7bdb29fd24de216e170f4ef22b",
      "parents": [
        "2c1c5f199482356c00f70b6f2f368c3455d1230c"
      ],
      "author": {
        "name": "Ivan Djelic",
        "email": "ivan.djelic@parrot.com",
        "time": "Fri Mar 11 11:05:32 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Mar 11 14:25:50 2011 +0000"
      },
      "message": "lib: add shared BCH ECC library\n\nThis is a new software BCH encoding/decoding library, similar to the shared\nReed-Solomon library.\n\nBinary BCH (Bose-Chaudhuri-Hocquenghem) codes are widely used to correct\nerrors in NAND flash devices requiring more than 1-bit ecc correction; they\nare generally better suited for NAND flash than RS codes because NAND bit\nerrors do not occur in bursts. Latest SLC NAND devices typically require at\nleast 4-bit ecc protection per 512 bytes block.\n\nThis library provides software encoding/decoding, but may also be used with\nASIC/SoC hardware BCH engines to perform error correction. It is being\ncurrently used for this purpose on an OMAP3630 board (4bit/8bit HW BCH). It\nhas also been used to decode raw dumps of NAND devices with on-die BCH ecc\nengines (e.g. Micron 4bit ecc SLC devices).\n\nLatest NAND devices (including SLC) can exhibit high error rates (typically\na dozen or more bitflips per hour during stress tests); in order to\nminimize the performance impact of error correction, this library\nimplements recently developed algorithms for fast polynomial root finding\n(see bch.c header for details) instead of the traditional exhaustive Chien\nroot search; a few performance figures are provided below:\n\nPlatform: arm926ejs @ 468 MHz, 32 KiB icache, 16 KiB dcache\nBCH ecc : 4-bit per 512 bytes\n\nEncoding average throughput: 250 Mbits/s\n\nError correction time (compared with Chien search):\n\n        average   worst      average (Chien)  worst (Chien)\n----------------------------------------------------------\n1 bit    8.5 µs   11 µs         200 µs           383 µs\n2 bit    9.7 µs   12.5 µs       477 µs           728 µs\n3 bit   18.1 µs   20.6 µs       758 µs          1010 µs\n4 bit   19.5 µs   23 µs        1028 µs          1280 µs\n\nIn the above figures, \"worst\" is meant in terms of error pattern, not in\nterms of cache miss / page faults effects (not taken into account here).\n\nThe library has been extensively tested on the following platforms: x86,\nx86_64, arm926ejs, omap3630, qemu-ppc64, qemu-mips.\n\nSigned-off-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4ba8216cd90560bc402f52076f64d8546e8aefcb",
      "tree": "f64c272085c833b36755b5552a726f21eed3d142",
      "parents": [
        "ae7eb8979ccfa5e9e888101b9c940f20bd0f4115"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jan 25 22:52:22 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Mar 05 10:56:00 2011 +0100"
      },
      "message": "BKL: That\u0027s all, folks\n\nThis removes the implementation of the big kernel lock,\nat last. A lot of people have worked on this in the\npast, I so the credit for this patch should be with\neveryone who participated in the hunt.\n\nThe names on the Cc list are the people that were the\nmost active in this, according to the recorded git\nhistory, in alphabetical order.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Blunck \u003cjblunck@infradead.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c39649c331c70952700f99832b03f87e9d7f5b4b",
      "tree": "19ba9cea5102595e42bcd043aa53eb666ea834fa",
      "parents": [
        "c2df88cbb43c25db27fbbf94e92318bdad018f3e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 11:03:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:51:56 2011 -0800"
      },
      "message": "lib: cpu_rmap: CPU affinity reverse-mapping\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add\nlibrary functions to support a generic reverse-mapping from CPUs to\nobjects with affinity and the specific case where the objects are\nIRQs.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ebe12439ba7fc62e1d6ecb569b7287771716ca1",
      "tree": "65945a63ad1474489d80c8ca1fb1c1c8091fb7a2",
      "parents": [
        "24fa0402a9b6a537e87e38341e78b7da86486846"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:25 2011 -0800"
      },
      "message": "decompressors: add boot-time XZ support\n\nThis implements the API defined in \u003clinux/decompress/generic.h\u003e which is\nused for kernel, initramfs, and initrd decompression.  This patch together\nwith the first patch is enough for XZ-compressed initramfs and initrd;\nXZ-compressed kernel will need arch-specific changes.\n\nThe buffering requirements described in decompress_unxz.c are stricter\nthan with gzip, so the relevant changes should be done to the\narch-specific code when adding support for XZ-compressed kernel.\nSimilarly, the heap size in arch-specific pre-boot code may need to be\nincreased (30 KiB is enough).\n\nThe XZ decompressor needs memmove(), memeq() (memcmp() \u003d\u003d 0), and\nmemzero() (memset(ptr, 0, size)), which aren\u0027t available in all\narch-specific pre-boot environments.  I\u0027m including simple versions in\ndecompress_unxz.c, but a cleaner solution would naturally be nicer.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24fa0402a9b6a537e87e38341e78b7da86486846",
      "tree": "06adb32802cf8a3491dff1f4e5cad464c676040a",
      "parents": [
        "fb7fa589fd3ecc212fabd7867a4ecc3b175260c1"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "decompressors: add XZ decompressor module\n\nIn userspace, the .lzma format has become mostly a legacy file format that\ngot superseded by the .xz format.  Similarly, LZMA Utils was superseded by\nXZ Utils.\n\nThese patches add support for XZ decompression into the kernel.  Most of\nthe code is as is from XZ Embedded \u003chttp://tukaani.org/xz/embedded.html\u003e.\nIt was written for the Linux kernel but is usable in other projects too.\n\nAdvantages of XZ over the current LZMA code in the kernel:\n  - Nice API that can be used by other kernel modules; it\u0027s\n    not limited to kernel, initramfs, and initrd decompression.\n  - Integrity check support (CRC32)\n  - BCJ filters improve compression of executable code on\n    certain architectures. These together with LZMA2 can\n    produce a few percent smaller kernel or Squashfs images\n    than plain LZMA without making the decompression slower.\n\nThis patch: Add the main decompression code (xz_dec), testing module\n(xz_dec_test), wrapper script (xz_wrap.sh) for the xz command line tool,\nand documentation.  The xz_dec module is enough to have a usable XZ\ndecompressor e.g.  for Squashfs.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78c377d1b5e7ef15c8c307c2aa2511602a0829c3",
      "tree": "306f17444a4c5e190ff3b3513204910a386998e8",
      "parents": [
        "734825796446930c57f69677f2e6cf1683d012f2"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Jan 12 16:59:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:11 2011 -0800"
      },
      "message": "flex_array: export symbols to modules\n\nAlex said:\n\n  I want to use flex_array to store a sparse array of ATM cell\n  re-assembly buffers for my ATM over Ethernet driver.  Using the per-vcc\n  user_back structure causes problems when stacked with things like\n  br2684.\n\nAdd EXPORT_SYMBOL() for all publically accessible flex array functions\nand move to obj-y so that modules may use this library.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nReported-by: Alex Bennee \u003ckernel-hacker@bennee.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "abb359450f20c32ae03039d8736f12b1d561caf5",
      "tree": "6e8723885feb66a138f19f0ff31615dc13a8d859",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b",
        "4e3dbdb1392a83bd21a6ff8f6bc785495058d37c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 12:30:19 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 12:30:19 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1436 commits)\n  cassini: Use local-mac-address prom property for Cassini MAC address\n  net: remove the duplicate #ifdef __KERNEL__\n  net: bridge: check the length of skb after nf_bridge_maybe_copy_header()\n  netconsole: clarify stopping message\n  netconsole: don\u0027t announce stopping if nothing happened\n  cnic: Fix the type field in SPQ messages\n  netfilter: fix export secctx error handling\n  netfilter: fix the race when initializing nf_ct_expect_hash_rnd\n  ipv4: IP defragmentation must be ECN aware\n  net: r6040: Return proper error for r6040_init_one\n  dcb: use after free in dcb_flushapp()\n  dcb: unlock on error in dcbnl_ieee_get()\n  net: ixp4xx_eth: Return proper error for eth_init_one\n  include/linux/if_ether.h: Add #define ETH_P_LINK_CTL for HPNA and wlan local tunnel\n  net: add POLLPRI to sock_def_readable()\n  af_unix: Avoid socket-\u003esk NULL OOPS in stream connect security hooks.\n  net_sched: pfifo_head_drop problem\n  mac80211: remove stray extern\n  mac80211: implement off-channel TX using hw r-o-c offload\n  mac80211: implement hardware offload for remain-on-channel\n  ...\n"
    },
    {
      "commit": "1f5a24794a54588ea3a9efd521be31d826e0b9d7",
      "tree": "58dd33af6093cd3a0fed59a12ed41d6c7d8083ba",
      "parents": [
        "87de5ac782761a3ebf806e434e8c9cc205a87274"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 09 12:02:18 2010 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Dec 10 11:52:17 2010 -0800"
      },
      "message": "timers: Rename timerlist infrastructure to timerqueue\n\nThomas pointed out a namespace collision between the new timerlist\ninfrastructure I introduced and the existing timer_list.c\n\nSo to avoid confusion, I\u0027ve renamed the timerlist infrastructure\nto timerqueue.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "87de5ac782761a3ebf806e434e8c9cc205a87274",
      "tree": "8186969d00da5d0daea37fcb92538bbc72c8f086",
      "parents": [
        "5e4f083f78d03e9f8d2e327daccde16976f9bb00"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 20 17:42:46 2010 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 02 16:41:39 2010 -0800"
      },
      "message": "timers: Introduce timerlist infrastructure.\n\nThe timerlist infrastructure is a thin layer over the rbtree\ncode that implements a simple list of timers sorted by an\nexpires value, and a getnext function that provides a pointer\nto the earliest timer.\n\nThis infrastructure allows drivers and other kernel infrastructure\nto easily implement timers without duplicating code.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML Reference: \u003c1290136329-18291-2-git-send-email-john.stultz@linaro.org\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\n"
    },
    {
      "commit": "c5485a7e7569ab32eea240c850198519e2a765ef",
      "tree": "928a8556deaec0811d1b83102b33365aab28a270",
      "parents": [
        "50a9432daeece6fc1309bef1dc0a7b8fde8204cb"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Tue Nov 16 10:58:37 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 18 14:21:52 2010 -0500"
      },
      "message": "lib: Add generic exponentially weighted moving average (EWMA) function\n\nThis adds generic functions for calculating Exponentially Weighted Moving\nAverages (EWMA). This implementation makes use of a structure which keeps the\nEWMA parameters and a scaled up internal representation to reduce rounding\nerrors.\n\nThe original idea for this implementation came from the rt2x00 driver\n(rt2x00link.c). I would like to use it in several places in the mac80211 and\nath5k code and I hope it can be useful in many other places in the kernel code.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2144381da478cc4aa3a29ee29b0c5e6ddaaced14",
      "tree": "380a29fec86b537ed602d12f4050654b1c66c27c",
      "parents": [
        "45d7f32c7a43cbb9592886d38190e379e2eb2226",
        "e5d84970a554d5c0072043a7b9f0f5b88b5fdfe1"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Aug 09 10:36:44 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Aug 09 10:36:44 2010 +0100"
      },
      "message": "Merge branch \u0027async\u0027 of macbook:git/btrfs-unstable\n\nConflicts:\n\tdrivers/md/Makefile\n\tlib/raid6/unroll.pl\n"
    },
    {
      "commit": "95f72d1ed41a66f1c1c29c24d479de81a0bea36f",
      "tree": "bd92b3804ff0bea083d69af0ede52f99ab34c0af",
      "parents": [
        "1c5474a65bf15a4cb162dfff86d6d0b5a08a740c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Jul 12 14:36:09 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jul 14 17:14:00 2010 +1000"
      },
      "message": "lmb: rename to memblock\n\nvia following scripts\n\n      FILES\u003d$(find * -type f | grep -vE \u0027oprofile|[^K]config\u0027)\n\n      sed -i \\\n        -e \u0027s/lmb/memblock/g\u0027 \\\n        -e \u0027s/LMB/MEMBLOCK/g\u0027 \\\n        $FILES\n\n      for N in $(find . -name lmb.[ch]); do\n        M\u003d$(echo $N | sed \u0027s/lmb/memblock/g\u0027)\n        mv $N $M\n      done\n\nand remove some wrong change like lmbench and dlmb etc.\n\nalso move memblock.c from lib/ to mm/\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "9a90e09854a3c7cc603ab8fc9163f77bb1f66cfa",
      "tree": "c8c5f767dd2351c9db440f003cc14401583bafd3",
      "parents": [
        "d372e7fe4698bde3a00b718f7901a0025dda47ef",
        "d3b383338f105f50724c10a7d81b04a3930e886b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 14:42:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 14:42:18 2010 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits)\n  ACPI: Don\u0027t let acpi_pad needlessly mark TSC unstable\n  drivers/acpi/sleep.h: Checkpatch cleanup\n  ACPI: Minor cleanup eliminating redundant PMTIMER_TICKS to NS conversion\n  ACPI: delete unused c-state promotion/demotion data strucutures\n  ACPI: video: fix acpi_backlight\u003dvideo\n  ACPI: EC: Use kmemdup\n  drivers/acpi: use kasprintf\n  ACPI, APEI, EINJ injection parameters support\n  Add x64 support to debugfs\n  ACPI, APEI, Use ERST for persistent storage of MCE\n  ACPI, APEI, Error Record Serialization Table (ERST) support\n  ACPI, APEI, Generic Hardware Error Source memory error support\n  ACPI, APEI, UEFI Common Platform Error Record (CPER) header\n  Unified UUID/GUID definition\n  ACPI Hardware Error Device (PNP0C33) support\n  ACPI, APEI, PCIE AER, use general HEST table parsing in AER firmware_first setup\n  ACPI, APEI, Document for APEI\n  ACPI, APEI, EINJ support\n  ACPI, APEI, HEST table parsing\n  ACPI, APEI, APEI supporting infrastructure\n  ...\n"
    },
    {
      "commit": "c9d221f86e43d9fb16260fe18a8cd6767f36c8a5",
      "tree": "87e56764a538eb0fa94bd05e211e1ad89cf5f043",
      "parents": [
        "55af6bb509d3ef2696faddd4a734bf024794b337"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed May 26 14:43:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:48 2010 -0700"
      },
      "message": "fault-injection: add CPU notifier error injection module\n\nI used this module to test the series of modification to the cpu notifiers\ncode.\n\nExample1: inject CPU offline error (-1 \u003d\u003d -EPERM)\n\n\t# modprobe cpu-notifier-error-inject cpu_down_prepare_error\u003d-1\n\t# echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n\tbash: echo: write error: Operation not permitted\n\nExample2: inject CPU online error (-2 \u003d\u003d -ENOENT)\n\n\t# modprobe cpu-notifier-error-inject cpu_up_prepare_error\u003d-2\n\t# echo 1 \u003e /sys/devices/system/cpu/cpu1/online\n\tbash: echo: write error: No such file or directory\n\n[akpm@linux-foundation.org: fix Kconfig help text]\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": "fab1c23242528771a955c475ef23d99156a71a7f",
      "tree": "2d882ead41cd984628cbfc18c9a2a0a663539602",
      "parents": [
        "801eab8118f61255d8e2be35939c572042618742"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Tue May 18 14:35:18 2010 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed May 19 22:40:47 2010 -0400"
      },
      "message": "Unified UUID/GUID definition\n\nThere are many different UUID/GUID definitions in kernel, such as that\nin EFI, many file systems, some drivers, etc. Every kernel components\nneed UUID/GUID has its own definition. This patch provides a unified\ndefinition for UUID/GUID.\n\nUUID is defined via typedef. This makes that UUID appears more like a\npreliminary type, and makes the data type explicit (comparing with\nimplicit \"u8 uuid[16]\").\n\nThe binary representation of UUID/GUID can be little-endian (used by\nEFI, etc) or big-endian (defined by RFC4122), so both is defined.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "cb41838bbc4403f7270a94b93a9a0d9fc9c2e7ea",
      "tree": "0f359975ccad4ac72e86b8edf1924c076e74bd89",
      "parents": [
        "98f01720cbe3e2eb719682777049b6514e9db556",
        "c59bd5688299cddb71183e156e7a3c1409b90df2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 09:17:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 09:17:01 2010 -0700"
      },
      "message": "Merge branch \u0027core-hweight-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-hweight-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, hweight: Use a 32-bit popcnt for __arch_hweight32()\n  arch, hweight: Fix compilation errors\n  x86: Add optimized popcnt variants\n  bitops: Optimize hweight() by making use of compile-time evaluation\n"
    },
    {
      "commit": "d9c5841e22231e4e49fd0a1004164e6fce59b7a6",
      "tree": "e1f589c46b3ff79bbe7b1b2469f6362f94576da6",
      "parents": [
        "b701a47ba48b698976fb2fe05fb285b0edc1d26a",
        "5967ed87ade85a421ef814296c3c7f182b08c225"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 29 16:53:17 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 29 16:53:17 2010 -0700"
      },
      "message": "Merge branch \u0027x86/asm\u0027 into x86/atomic\n\nMerge reason:\n\tConflict between LOCK_PREFIX_HERE and relative alternatives\n\tpointers\n\nResolved Conflicts:\n\tarch/x86/include/asm/alternative.h\n\tarch/x86/kernel/alternative.c\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "d61931d89be506372d01a90d1755f6d0a9fafe2d",
      "tree": "652c34238edcb6c558163abc3cd9d6ce7c5f91a5",
      "parents": [
        "1527bc8b928dd1399c3d3467dd47d9ede210978a"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Mar 05 17:34:46 2010 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Apr 06 15:52:11 2010 -0700"
      },
      "message": "x86: Add optimized popcnt variants\n\nAdd support for the hardware version of the Hamming weight function,\npopcnt, present in CPUs which advertize it under CPUID, Function\n0x0000_0001_ECX[23]. On CPUs which don\u0027t support it, we fallback to the\ndefault lib/hweight.c sw versions.\n\nA synthetic benchmark comparing popcnt with __sw_hweight64 showed almost\na 3x speedup on a F10h machine.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nLKML-Reference: \u003c20100318112015.GC11152@aftab\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "2cda2728aa1c8c006418a24f867b25e5eb7a32e2",
      "tree": "c23ec7c38d74237646c5453d96bfbbea4cadfee7",
      "parents": [
        "f11c9c5c259cb2c3d698548dc3936f773ab1f5b9"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Mar 15 12:46:51 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Mar 15 12:47:59 2010 +0100"
      },
      "message": "block: Fix overrun in lcm() and move it to lib\n\nlcm() was defined to take integer-sized arguments.  The supplied\narguments are multiplied, however, causing us to overflow given\nsufficiently large input.  That in turn led to incorrect optimal I/O\nsize reporting in some cases (RAID over RAID).\n\nSwitch lcm() over to unsigned long similar to gcd() and move the\nfunction from blk-settings.c to lib.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b8fa05719ba4349be80ce929237249b57886a203",
      "tree": "eb2a58ce09dc699e29e15b812f06196587aa64a3",
      "parents": [
        "4da0b66c6e9ea7ba78a19f9f186779826d89f8b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 07 09:54:44 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 07 09:54:44 2010 -0800"
      },
      "message": "Revert \"lib: build list_sort() only if needed\"\n\nThis reverts commit a069c266ae5fdfbf5b4aecf2c672413aa33b2504.\n\nIt turns ou that not only was it missing a case (XFS) that needed it,\nbut perhaps more importantly, people sometimes want to enable new\nmodules that they hadn\u0027t had enabled before, and if such a module uses\nlist_sort(), it can\u0027t easily be inserted any more.\n\nSo rather than add a \"select LIST_SORT\" to the XFS case, just leave it\ncompiled in.  It\u0027s not all _that_ big, after all, and the inconvenience\nisn\u0027t worth it.\n\nRequested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Don Mullis \u003cdon.mullis@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66b89159c25a47d2177743526c61b5ada7acc39e",
      "tree": "b092b859ca01d7544a666c95f940144b0ef3b35b",
      "parents": [
        "87c7ae06cc50bcbcdcc60d64a959ca0b9b71f892",
        "c2f843f03d658e9ab2a1a455f2c1851fd6a869af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 13:18:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 13:18:03 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs:\n  [LogFS] Change magic number\n  [LogFS] Remove h_version field\n  [LogFS] Check feature flags\n  [LogFS] Only write journal if dirty\n  [LogFS] Fix bdev erases\n  [LogFS] Silence gcc\n  [LogFS] Prevent 64bit divisions in hash_index\n  [LogFS] Plug memory leak on error paths\n  [LogFS] Add MAINTAINERS entry\n  [LogFS] add new flash file system\n\nFixed up trivial conflict in lib/Kconfig, and a semantic conflict in\nfs/logfs/inode.c introduced by write_inode() being changed to use\nwriteback_control\u0027 by commit a9185b41a4f84971b930c519f0c63bd450c4810d\n(\"pass writeback_control to -\u003ewrite_inode\")\n"
    },
    {
      "commit": "a069c266ae5fdfbf5b4aecf2c672413aa33b2504",
      "tree": "2f9731d8475fc5b2d942cac004904db8e49d5428",
      "parents": [
        "02b12b7a28faa2e9ed5a361cd08ea576ab1f1509"
      ],
      "author": {
        "name": "Don Mullis",
        "email": "don.mullis@gmail.com",
        "time": "Fri Mar 05 13:43:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "lib: build list_sort() only if needed\n\nBuild list_sort() only for configs that need it -- those that don\u0027t save\n~581 bytes (i386).\n\nSigned-off-by: Don Mullis \u003cdon.mullis@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86a8938078a8bb518c5376de493e348c7490d506",
      "tree": "f6f3a0fbb451bcbf25243d220b72b49beb778f76",
      "parents": [
        "9c76b38476b18c45f97098a10b0176b321eba3ea"
      ],
      "author": {
        "name": "Luca Barbieri",
        "email": "luca@luca-barbieri.com",
        "time": "Wed Feb 24 10:54:24 2010 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Feb 25 20:47:12 2010 -0800"
      },
      "message": "lib: Add self-test for atomic64_t\n\nThis patch adds self-test on boot code for atomic64_t.\n\nThis has been used to test the later changes in this patchset.\n\nSigned-off-by: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nLKML-Reference: \u003c1267005265-27958-4-git-send-email-luca@luca-barbieri.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "2c761270d5520dd84ab0b4e47c24d99ff8503c38",
      "tree": "c23a51fdcc96641661b632d3b3c2c46ad7e53a91",
      "parents": [
        "dbf004d7883b3adb058c0c1a5635bc4ec27651c0"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Jan 12 17:39:16 2010 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 12 21:02:00 2010 -0800"
      },
      "message": "lib: Introduce generic list_sort function\n\nThere are two copies of list_sort() in the tree already, one in the DRM\ncode, another in ubifs.  Now XFS needs this as well.  Create a generic\nlist_sort() function from the ubifs version and convert existing users\nto it so we don\u0027t end up with yet another copy in the tree.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nAcked-by: Dave Airlie \u003cairlied@redhat.com\u003e\nAcked-by: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cacb246f8db2b9eba89d44a0f0dd4f6ed93bc113",
      "tree": "8fff3df983d02c362ba90b334b77a7a93315455e",
      "parents": [
        "13510997d600a076e064f10587a8f6d20f8fff41"
      ],
      "author": {
        "name": "Albin Tonnerre",
        "email": "albin.tonnerre@free-electrons.com",
        "time": "Fri Jan 08 14:42:46 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:05 2010 -0800"
      },
      "message": "Add LZO compression support for initramfs and old-style initrd\n\nSigned-off-by: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nTested-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5db53f3e80dee2d9dff5e534f9e9fe1db17c9936",
      "tree": "066f2873eeb7eb86466f6389e45892d957db3de2",
      "parents": [
        "66b00a7c93ec782d118d2c03bd599cfd041e80a1"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Nov 20 20:13:39 2009 +0100"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Nov 20 20:13:39 2009 +0100"
      },
      "message": "[LogFS] add new flash file system\n\nThis is a new flash file system. See\nDocumentation/filesystems/logfs.txt\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "f5e70d0fe3ea990cfb3fc8d7f76a719adcb1e0b5",
      "tree": "1794eb51814228ff76f672a541100ad62dd791c9",
      "parents": [
        "17d857be649a21ca90008c6dc425d849fa83db5c"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@tylersburg.infradead.org",
        "time": "Mon Jul 13 11:35:12 2009 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Oct 29 14:38:47 2009 +0000"
      },
      "message": "md: Factor out RAID6 algorithms into lib/\n\nWe\u0027ll want to use these in btrfs too.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b411b3637fa71fce9cf2acf0639009500f5892fe",
      "tree": "6b88e5202e0f137fef50e95b0441bcafdbf91990",
      "parents": [
        "1a35e0f6443f4266dad4c569c55c57a9032596fa"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Sep 25 16:07:19 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:17:49 2009 +0200"
      },
      "message": "The DRBD driver\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "534acc057b5a08ec33fa57cdd2f5a09ef124e7f2",
      "tree": "186e6ff90a7a696a2d15f183871250c9d83f476d",
      "parents": [
        "a9e58f25734e153b8c6516d904e2398fb8b0b23d"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Wed Jul 29 15:04:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:36 2009 -0700"
      },
      "message": "lib: flexible array implementation\n\nOnce a structure goes over PAGE_SIZE*2, we see occasional allocation\nfailures.  Some people have chosen to switch over to things like vmalloc()\nthat will let them keep array-like access to such a large structures.\nBut, vmalloc() has plenty of downsides.\n\nHere\u0027s an alternative.  I think it\u0027s what Andrew was suggesting here:\n\n\thttp://lkml.org/lkml/2009/7/2/518\n\nI call it a flexible array.  It does all of its work in PAGE_SIZE bits, so\nnever does an order\u003e0 allocation.  The base level has\nPAGE_SIZE-2*sizeof(int) bytes of storage for pointers to the second level.\n So, with a 32-bit arch, you get about 4MB (4183112 bytes) of total\nstorage when the objects pack nicely into a page.  It is half that on\n64-bit because the pointers are twice the size.  There\u0027s a table detailing\nthis in the code.\n\nThere are kerneldocs for the functions, but here\u0027s an\noverview:\n\nflex_array_alloc() - dynamically allocate a base structure\nflex_array_free() - free the array and all of the\n\t\t    second-level pages\nflex_array_free_parts() - free the second-level pages, but\n\t\t\t  not the base (for static bases)\nflex_array_put() - copy into the array at the given index\nflex_array_get() - copy out of the array at the given index\nflex_array_prealloc() - preallocate the second-level pages\n\t\t\tbetween the given indexes to\n\t\t\tguarantee no allocs will occur at\n\t\t\tput() time.\n\nWe could also potentially just pass the \"element_size\" into each of the\nAPI functions instead of storing it internally.  That would get us one\nmore base pointer on 32-bit.\n\nI\u0027ve been testing this by running it in userspace.  The header and patch\nthat I\u0027ve been using are here, as well as the little script I\u0027m using to\ngenerate the size table which goes in the kerneldocs.\n\n\thttp://sr71.net/~dave/linux/flexarray/\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2829224619866daf336141b71550e223a198838",
      "tree": "59e12165ac9dea56a04f3b46ec098f4292f67481",
      "parents": [
        "eae9d2ba0cfc27a2ad9765f23efb98fb80d80234"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Jun 17 16:28:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:05 2009 -0700"
      },
      "message": "lib: add lib/gcd.c\n\nThis patch adds lib/gcd.c which contains a greatest common divider\nimplementation taken from sound/core/pcm_timer.c\n\nSeveral usages of this new library function will be sent to subsystem\nmaintainers.\n\n[akpm@linux-foundation.org: use swap() (pointed out by Joe)]\n[akpm@linux-foundation.org: just add gcd.o to obj-y, remove Kconfig changes]\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Julius Volz \u003cjuliusv@google.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09d4e0edd4614e787393acc582ac701c6ec3565b",
      "tree": "77f3b85e0f59a168ac78639e510ebcbd3791b3d2",
      "parents": [
        "4c75f84f2c781beb230031234ed961d28771a764"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Jun 12 21:10:05 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 13:27:38 2009 +1000"
      },
      "message": "lib: Provide generic atomic64_t implementation\n\nMany processor architectures have no 64-bit atomic instructions, but\nwe need atomic64_t in order to support the perf_counter subsystem.\n\nThis adds an implementation of 64-bit atomic operations using hashed\nspinlocks to provide atomicity.  For each atomic operation, the address\nof the atomic64_t variable is hashed to an index into an array of 16\nspinlocks.  That spinlock is taken (with interrupts disabled) around the\noperation, which can then be coded non-atomically within the lock.\n\nOn UP, all the spinlock manipulation goes away and we simply disable\ninterrupts around each operation.  In fact gcc eliminates the whole\natomic64_lock variable as well.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "5b02ee3d219f9e01b6e9146e25613822cfc2e5ce",
      "tree": "7ce9126738c3cf4b37d67170d0e4b34818c057a9",
      "parents": [
        "26a28fa4fea5b8c65713aa50c124f76a88c7924d",
        "8ebf975608aaebd7feb33d77f07ba21a6380e086"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Jun 12 09:53:47 2009 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Jun 12 11:32:58 2009 +0200"
      },
      "message": "asm-generic: merge branch \u0027master\u0027 of torvalds/linux-2.6\n\nFixes a merge conflict against the x86 tree caused by a fix to\natomic.h which I renamed to atomic_long.h.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "26a28fa4fea5b8c65713aa50c124f76a88c7924d",
      "tree": "95d5989e0cdcb4f565d7546b4c0fd76e30cfd249",
      "parents": [
        "eed417ddd52146f446595b5a7d8f21b1814b95b7"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed May 13 22:56:38 2009 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@klappe2.(none)",
        "time": "Thu Jun 11 21:02:51 2009 +0200"
      },
      "message": "add generic lib/checksum.c\n\nAdd a generic (unoptimized) implementation of checksum.c in pure C\nfor use by all architectures that cannot be bother with implementing\ntheir own version.\n\nBased on microblaze code by Michal Simek \u003cmonstr@monstr.eu\u003e\n\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: Remis Lima Baima \u003cremis.developer@googlemail.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "8759ef32d992fc6c0bcbe40fca7aa302190918a5",
      "tree": "316df64d3456597bf7f8ef7508654c82faf6a5fe",
      "parents": [
        "9f322ad064f9210e7d472dfe77e702274d5c9dba"
      ],
      "author": {
        "name": "Oskar Schirmer",
        "email": "os@emlix.com",
        "time": "Thu Jun 11 14:51:15 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 08:51:08 2009 -0700"
      },
      "message": "lib: isolate rational fractions helper function\n\nProvide a helper function to determine optimum numerator\ndenominator value pairs taking into account restricted\nregister size. Useful especially with PLL and other clock\nconfigurations.\n\nSigned-off-by: Oskar Schirmer \u003cos@emlix.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5422a5111811401f7756345e4c237ff06cf6d1e",
      "tree": "4744be4aba038150cd36f8ddcd2cf1e9ae9d8ab5",
      "parents": [
        "91ac033d8377552d3654501a105ab55bf546940e"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Thu Apr 23 16:40:32 2009 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 13:28:31 2009 -0700"
      },
      "message": "lib: find_last_bit.o needed by a module only, move it from lib to obj\n\nCurrently, although find_last_bit is EXPORTed, it is statically linked\nwith the kernel and is referenced only under CONFIG_SMP.\n\nWhen CONFIG_SMP is undefined and find_last_bit is referenced only by\nmodules, linking fails with:\n\n  ERROR: \"find_last_bit\" [fs/nfs/nfs.ko] undefined!\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0d44c0dbbd52effb731b1c0af9afd56215c48de",
      "tree": "3237c0087d91a5390aed05689b9f610ba16fa116",
      "parents": [
        "9537a48ed4b9e4b738943d6da0a0fd4278adf905",
        "7c730ccdc1188b97f5c8cb690906242c7ed75c22"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 28 23:05:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 28 23:05:50 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into core/iommu\n\nConflicts:\n\tarch/x86/Kconfig\n"
    },
    {
      "commit": "6e15cf04860074ad032e88c306bea656bbdd0f22",
      "tree": "c346383bb7563e8d66b2f4a502f875b259c34870",
      "parents": [
        "be0ea69674ed95e1e98cb3687a241badc756d228",
        "60db56422043aaa455ac7f858ce23c273220f9d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 26 21:39:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 27 17:28:43 2009 +0100"
      },
      "message": "Merge branch \u0027core/percpu\u0027 into percpu-cpumask-x86-for-linus-2\n\nConflicts:\n\tarch/parisc/kernel/irq.c\n\tarch/x86/include/asm/fixmap_64.h\n\tarch/x86/include/asm/setup.h\n\tkernel/irq/handle.c\n\nSemantic merge:\n        arch/x86/include/asm/fixmap.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "831576fe40f4175e0767623cffa4aeb28157943a",
      "tree": "de54e628e5849d6cf201df4446d760d17f752326",
      "parents": [
        "21cdbc1378e8aa96e1ed4a606dce1a8e7daf7fdf",
        "66fef08f7d5267b2312c4b48a6d2957d2d414105"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:05:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:05:01 2009 -0700"
      },
      "message": "Merge branch \u0027sched-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (46 commits)\n  sched: Add comments to find_busiest_group() function\n  sched: Refactor the power savings balance code\n  sched: Optimize the !power_savings_balance during fbg()\n  sched: Create a helper function to calculate imbalance\n  sched: Create helper to calculate small_imbalance in fbg()\n  sched: Create a helper function to calculate sched_domain stats for fbg()\n  sched: Define structure to store the sched_domain statistics for fbg()\n  sched: Create a helper function to calculate sched_group stats for fbg()\n  sched: Define structure to store the sched_group statistics for fbg()\n  sched: Fix indentations in find_busiest_group() using gotos\n  sched: Simple helper functions for find_busiest_group()\n  sched: remove unused fields from struct rq\n  sched: jiffies not printed per CPU\n  sched: small optimisation of can_migrate_task()\n  sched: fix typos in documentation\n  sched: add avg_overlap decay\n  x86, sched_clock(): mark variables read-mostly\n  sched: optimize ttwu vs group scheduling\n  sched: TIF_NEED_RESCHED -\u003e need_reshed() cleanup\n  sched: don\u0027t rebalance if attached on NULL domain\n  ...\n"
    },
    {
      "commit": "0c93ea4064a209cdc36de8a9a3003d43d08f46f7",
      "tree": "ff19952407c523a1349ef56c05993416dd28437e",
      "parents": [
        "bc2fd381d8f9dbeb181f82286cdca1567e3d0def",
        "e6e66b02e11563abdb7f69dcb7a2efbd8d577e77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:17:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:17:04 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (61 commits)\n  Dynamic debug: fix pr_fmt() build error\n  Dynamic debug: allow simple quoting of words\n  dynamic debug: update docs\n  dynamic debug: combine dprintk and dynamic printk\n  sysfs: fix some bin_vm_ops errors\n  kobject: don\u0027t block for each kobject_uevent\n  sysfs: only allow one scheduled removal callback per kobj\n  Driver core: Fix device_move() vs. dpm list ordering, v2\n  Driver core: some cleanup on drivers/base/sys.c\n  Driver core: implement uevent suppress in kobject\n  vcs: hook sysfs devices into object lifetime instead of \"binding\"\n  driver core: fix passing platform_data\n  driver core: move platform_data into platform_device\n  sysfs: don\u0027t block indefinitely for unmapped files.\n  driver core: move knode_bus into private structure\n  driver core: move knode_driver into private structure\n  driver core: move klist_children into private structure\n  driver core: create a private portion of struct device\n  driver core: remove polling for driver_probe_done(v5)\n  sysfs: reference sysfs_dirent from sysfs inodes\n  ...\n\nFixed conflicts in drivers/sh/maple/maple.c manually\n"
    },
    {
      "commit": "e9d376f0fa66bd630fe27403669c6ae6c22a868f",
      "tree": "6eadef32eb421647ae98d88341b9aceb259aaf22",
      "parents": [
        "095160aee954688a9bad225952c4bee546541e19"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Feb 05 11:51:38 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "dynamic debug: combine dprintk and dynamic printk\n\nThis patch combines Greg Bank\u0027s dprintk() work with the existing dynamic\nprintk patchset, we are now calling it \u0027dynamic debug\u0027.\n\nThe new feature of this patchset is a richer /debugfs control file interface,\n(an example output from my system is at the bottom), which allows fined grained\ncontrol over the the debug output. The output can be controlled by function,\nfile, module, format string, and line number.\n\nfor example, enabled all debug messages in module \u0027nf_conntrack\u0027:\n\necho -n \u0027module nf_conntrack +p\u0027 \u003e /mnt/debugfs/dynamic_debug/control\n\nto disable them:\n\necho -n \u0027module nf_conntrack -p\u0027 \u003e /mnt/debugfs/dynamic_debug/control\n\nA further explanation can be found in the documentation patch.\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f2f45e5f3c921c73c913e9a9c00f21ec01c86b4d",
      "tree": "36a481a95e8e412e1453fb4b4843333725400ab3",
      "parents": [
        "5ee00bd4691e7364bb7b62e2068d473cd5cb9320"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Jan 09 12:19:52 2009 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Mar 05 15:11:12 2009 +0100"
      },
      "message": "dma-debug: add header file and core data structures\n\nImpact: add groundwork for DMA-API debugging\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "e9cc8bddaea3944fabfebb968bc88d603239beed",
      "tree": "9d311256882e48bd133f31db564a307c2a271453",
      "parents": [
        "8c882f64130071eaebdc0861bee34a73e436f004"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Mar 04 14:53:30 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Mar 04 14:53:30 2009 +0800"
      },
      "message": "netlink: Move netlink attribute parsing support to lib\n\nNetlink attribute parsing may be used even if CONFIG_NET is not set.\nMove it from net/netlink to lib and control its inclusion based on the new\nconfig symbol CONFIG_NLATTR, which is selected by CONFIG_NET.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ceacc2c1c85ac498ca4cf297bdfe5b4aaa9fd0e0",
      "tree": "4bac6a3e5544d90da1ee9437845120204d4bb382",
      "parents": [
        "398a153b16b09a68739928d4502455db9725ac86"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jan 16 14:46:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 15:01:31 2009 +0100"
      },
      "message": "sched: make plist a library facility\n\nIngo Molnar wrote:\n\n\u003e here\u0027s a new build failure with tip/sched/rt:\n\u003e\n\u003e   LD      .tmp_vmlinux1\n\u003e kernel/built-in.o: In function `set_curr_task_rt\u0027:\n\u003e sched.c:(.text+0x3675): undefined reference to `plist_del\u0027\n\u003e kernel/built-in.o: In function `pick_next_task_rt\u0027:\n\u003e sched.c:(.text+0x37ce): undefined reference to `plist_del\u0027\n\u003e kernel/built-in.o: In function `enqueue_pushable_task\u0027:\n\u003e sched.c:(.text+0x381c): undefined reference to `plist_del\u0027\n\nEliminate the plist library kconfig and make it available\nunconditionally.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "889c92d21db40be0b7d22a59395060237895bb85",
      "tree": "db76e1e002e450cccc1b7a8119ad629eccc24da8",
      "parents": [
        "6c11b12ac6f101732d43b5682f5b3ae4dda4205f"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jan 08 15:14:17 2009 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jan 08 15:14:17 2009 -0800"
      },
      "message": "bzip2/lzma: centralize format detection\n\nCentralize the compression format detection to a common routine in the\nlib directory, and use it for both initramfs and initrd.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    }
  ],
  "next": "c8531ab343dec88ed8005e403b1b304c710b7494"
}
