)]}'
{
  "log": [
    {
      "commit": "5b284470e5b63d9e54de9965618c2ca1dafa6e39",
      "tree": "b011d0b7cfbb4cef8129706fb565de9d17a3a821",
      "parents": [
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Mar 26 21:06:57 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Mar 26 21:06:57 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/201203261651.29640.trenn@suse.de\n"
    },
    {
      "commit": "e22057c8599373e5caef0bc42bdb95d2a361ab0d",
      "tree": "04e9f51835f4d5c08aada38597c30de1113c03d9",
      "parents": [
        "496b919b3bdd957d4b1727df79bfa3751bced1c1",
        "df7a3ee29b775edd1c2d75cf0b128b174bd4091e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 12:20:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 12:20:25 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4-tag-two\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull more xen updates from Konrad Rzeszutek Wilk:\n \"One tiny feature that accidentally got lost in the initial git pull:\n   * Add fast-EOI acking of interrupts (clear a bit instead of\n     hypercall)\n  And bug-fixes:\n   * Fix CPU bring-up code missing a call to notify other subsystems.\n   * Fix reading /sys/hypervisor even if PVonHVM drivers are not loaded.\n   * In Xen ACPI processor driver: remove too verbose WARN messages, fix\n     up the Kconfig dependency to be a module by default, and add\n     dependency on CPU_FREQ.\n   * Disable CPU frequency drivers from loading when booting under Xen\n     (as we want the Xen ACPI processor to be used instead).\n   * Cleanups in tmem code.\"\n\n* tag \u0027stable/for-linus-3.4-tag-two\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/acpi: Fix Kconfig dependency on CPU_FREQ\n  xen: initialize platform-pci even if xen_emul_unplug\u003dnever\n  xen/smp: Fix bringup bug in AP code.\n  xen/acpi: Remove the WARN\u0027s as they just create noise.\n  xen/tmem: cleanup\n  xen: support pirq_eoi_map\n  xen/acpi-processor: Do not depend on CPU frequency scaling drivers.\n  xen/cpufreq: Disable the cpu frequency scaling drivers from loading.\n  provide disable_cpufreq() function to disable the API.\n"
    },
    {
      "commit": "496b919b3bdd957d4b1727df79bfa3751bced1c1",
      "tree": "5585608ebdce5a7eca8f5ef334e6b167fcd5aab1",
      "parents": [
        "250f6715a4112d6686670c5a62ceb9305da94616"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Mar 24 10:26:21 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 12:18:32 2012 -0700"
      },
      "message": "Fix potential endless loop in kswapd when compaction is not enabled\n\nWe should only test compaction_suitable if the kernel is built with\nCONFIG_COMPACTION, otherwise the stub compaction_suitable function will\nalways return COMPACT_SKIPPED and send kswapd into an infinite loop.\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
      "tree": "9a2c085e1fce41012bb0f2a340f6ceaaf616b7a0",
      "parents": [
        "ed2d265d1266736bd294332d7f649003943ae36e",
        "8bc3bcc93a2b4e47d5d410146f6546bca6171663"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:24:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:24:31 2012 -0700"
      },
      "message": "Merge tag \u0027module-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull cleanup of fs/ and lib/ users of module.h from Paul Gortmaker:\n \"Fix up files in fs/ and lib/ dirs to only use module.h if they really\n  need it.\n\n  These are trivial in scope vs the work done previously.  We now have\n  things where any few remaining cleanups can be farmed out to arch or\n  subsystem maintainers, and I have done so when possible.  What is\n  remaining here represents the bits that don\u0027t clearly lie within a\n  single arch/subsystem boundary, like the fs dir and the lib dir.\n\n  Some duplicate includes arising from overlapping fixes from\n  independent subsystem maintainer submissions are also quashed.\"\n\nFix up trivial conflicts due to clashes with other include file cleanups\n(including some due to the previous bug.h cleanup pull).\n\n* tag \u0027module-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  lib: reduce the use of module.h wherever possible\n  fs: reduce the use of module.h wherever possible\n  includecheck: delete any duplicate instances of module.h\n"
    },
    {
      "commit": "ed2d265d1266736bd294332d7f649003943ae36e",
      "tree": "860e5b7bb72933e4a9abacdc2f2d75a0e6254e32",
      "parents": [
        "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
        "6c03438edeb5c359af35f060ea016ca65671c269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "message": "Merge tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/bug.h\u003e cleanup from Paul Gortmaker:\n \"The changes shown here are to unify linux\u0027s BUG support under the one\n  \u003clinux/bug.h\u003e file.  Due to historical reasons, we have some BUG code\n  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in\n  linux/kernel.h predates the addition of linux/bug.h, but old code in\n  kernel.h wasn\u0027t moved to bug.h at that time.  As a band-aid, kernel.h\n  was including \u003casm/bug.h\u003e to pseudo link them.\n\n  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here\n  is an example that violates the principle of least surprise:\n\n      CC      lib/string.o\n      lib/string.c: In function \u0027strlcat\u0027:\n      lib/string.c:225:2: error: implicit declaration of function \u0027BUILD_BUG_ON\u0027\n      make[2]: *** [lib/string.o] Error 1\n      $\n      $ grep linux/bug.h lib/string.c\n      #include \u003clinux/bug.h\u003e\n      $\n\n  We\u0027ve included \u003clinux/bug.h\u003e for the BUG infrastructure and yet we\n  still get a compile fail! [We\u0027ve not kernel.h for BUILD_BUG_ON.] Ugh -\n  very confusing for someone who is new to kernel development.\n\n  With the above in mind, the goals of this changeset are:\n\n  1) find and fix any include/*.h files that were relying on the\n     implicit presence of BUG code.\n  2) find and fix any C files that were consuming kernel.h and hence\n     relying on implicitly getting some/all BUG code.\n  3) Move the BUG related code living in kernel.h to \u003clinux/bug.h\u003e\n  4) remove the asm/bug.h from kernel.h to finally break the chain.\n\n  During development, the order was more like 3-4, build-test, 1-2.  But\n  to ensure that git history for bisect doesn\u0027t get needless build\n  failures introduced, the commits have been reorderd to fix the problem\n  areas in advance.\n\n\t[1]  https://lkml.org/lkml/2012/1/3/90\n\t[2]  https://lkml.org/lkml/2012/1/17/414\"\n\nFix up conflicts (new radeon file, reiserfs header cleanups) as per Paul\nand linux-next.\n\n* tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  kernel.h: doesn\u0027t explicitly use bug.h, so don\u0027t include it.\n  bug: consolidate BUILD_BUG_ON with other bug code\n  BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n  bug.h: add include of it to various implicit C users\n  lib: fix implicit users of kernel.h for TAINT_WARN\n  spinlock: macroize assert_spin_locked to avoid bug.h dependency\n  x86: relocate get/set debugreg fcns to include/asm/debugreg.\n"
    },
    {
      "commit": "df7a3ee29b775edd1c2d75cf0b128b174bd4091e",
      "tree": "dd06376cb8f71b6914420c99b827baba3ce33867",
      "parents": [
        "b9136d207f0c05c96c6b9c980fa7f7fd541a65a8"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Sat Mar 24 09:18:57 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Sat Mar 24 09:23:06 2012 -0400"
      },
      "message": "xen/acpi: Fix Kconfig dependency on CPU_FREQ\n\nThe functions: \"acpi_processor_*\" sound like they depend on CONFIG_ACPI_PROCESSOR\nbut in reality they are exposed when CONFIG_CPU_FREQ\u003d[y|m]. As such\nupdate the Kconfig to have this dependency and fix compile issues:\n\nERROR: \"acpi_processor_unregister_performance\" [drivers/xen/xen-acpi-processor.ko] undefined!\nERROR: \"acpi_processor_notify_smm\" [drivers/xen/xen-acpi-processor.ko] undefined!\nERROR: \"acpi_processor_register_performance\" [drivers/xen/xen-acpi-processor.ko] undefined!\nERROR: \"acpi_processor_preregister_performance\" [drivers/xen/xen-acpi-processor.ko] undefined!\n\nNote: We still need the CONFIG_ACPI\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
      "tree": "1cbfd86070f724d5ffe53146d4c67edf14cccf98",
      "parents": [
        "dae430c6f6e5d0b98c238c340a41a39e221e8940",
        "4e474a00d7ff746ed177ddae14fa8b2d4bad7a00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl\n\nPull sysctl updates from Eric Biederman:\n\n - Rewrite of sysctl for speed and clarity.\n\n   Insert/remove/Lookup in sysctl are all now O(NlogN) operations, and\n   are no longer bottlenecks in the process of adding and removing\n   network devices.\n\n   sysctl is now focused on being a filesystem instead of system call\n   and the code can all be found in fs/proc/proc_sysctl.c.  Hopefully\n   this means the code is now approachable.\n\n   Much thanks is owed to Lucian Grinjincu for keeping at this until\n   something was found that was usable.\n\n - The recent proc_sys_poll oops found by the fuzzer during hibernation\n   is fixed.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl: (36 commits)\n  sysctl: protect poll() in entries that may go away\n  sysctl: Don\u0027t call sysctl_follow_link unless we are a link.\n  sysctl: Comments to make the code clearer.\n  sysctl: Correct error return from get_subdir\n  sysctl: An easier to read version of find_subdir\n  sysctl: fix memset parameters in setup_sysctl_set()\n  sysctl: remove an unused variable\n  sysctl: Add register_sysctl for normal sysctl users\n  sysctl: Index sysctl directories with rbtrees.\n  sysctl: Make the header lists per directory.\n  sysctl: Move sysctl_check_dups into insert_header\n  sysctl: Modify __register_sysctl_paths to take a set instead of a root and an nsproxy\n  sysctl: Replace root_list with links between sysctl_table_sets.\n  sysctl: Add sysctl_print_dir and use it in get_subdir\n  sysctl: Stop requiring explicit management of sysctl directories\n  sysctl: Add a root pointer to ctl_table_set\n  sysctl: Rewrite proc_sys_readdir in terms of first_entry and next_entry\n  sysctl: Rewrite proc_sys_lookup introducing find_entry and lookup_entry.\n  sysctl: Normalize the root_table data structure.\n  sysctl: Factor out insert_header and erase_header\n  ...\n"
    },
    {
      "commit": "dae430c6f6e5d0b98c238c340a41a39e221e8940",
      "tree": "20bdd49b142bd006cf7f81cf1a09fde811a43581",
      "parents": [
        "cf821923ba9aa0917165a12573bdd6dc0a354421",
        "ebe2aea86872622d4352cd71d55298fedf69a7bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:59:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:59:47 2012 -0700"
      },
      "message": "Merge tag \u0027amd64-edac-updates-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp\n\nPull AMD64 EDAC fixes from Borislav Petkov:\n \"A bunch of fixes/updates for the AMD side of EDAC including\n\n   * MCE decoding updates\n   * tree-wide EDAC sweep making pci_device_ids __devinitconst\n   * Scrub rate API correction\n   * two amd64_edac corrections for K8 boxes and sysfs csrow nodes\"\n\n* tag \u0027amd64-edac-updates-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:\n  MCE, AMD: Constify error tables\n  MCE, AMD: Correct bank 5 error signatures\n  MCE, AMD: Rework NB MCE signatures\n  MCE, AMD: Correct VB data error description\n  MCE, AMD: Correct ucode patch buffer description\n  MCE, AMD: Correct some MC0 error types\n  EDAC: Make pci_device_id tables __devinitconst.\n  EDAC: Correct scrub rate API\n  amd64_edac: Fix K8 revD and later chip select sizes\n  amd64_edac: Fix missing csrows sysfs nodes\n"
    },
    {
      "commit": "cf821923ba9aa0917165a12573bdd6dc0a354421",
      "tree": "a42f6e7db1eeddb67f6b78ef0336ad7d3ac0fd26",
      "parents": [
        "4416b0eaa3d51f3e360d6e171e603ff51848bcf5",
        "a7b422cda5084db7265c3b23310a959b43b47529"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:56:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:56:39 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\nPull cpufreq updates for 3.4 from Dave Jones: new drivers and some fixes.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  provide disable_cpufreq() function to disable the API.\n  EXYNOS5250: Add support cpufreq for EXYNOS5250\n  EXYNOS4X12: Add support cpufreq for EXYNOS4X12\n  [CPUFREQ] CPUfreq ondemand: update sampling rate without waiting for next sampling\n  [CPUFREQ] Add S3C2416/S3C2450 cpufreq driver\n  [CPUFREQ] Fix exposure of ARM_EXYNOS4210_CPUFREQ\n  [CPUFREQ] EXYNOS4210: update the name of EXYNOS clock register\n  [CPUFREQ] EXYNOS: Initialize locking_frequency with initial frequency\n  [CPUFREQ] s3c64xx: Fix mis-cherry pick of VDDINT\n\nFix up trivial conflicts in Kconfig and Makefile due to just changes\nnext to each other (OMAP2PLUS changes vs some new EXYNOS cpufreq\ndrivers).\n"
    },
    {
      "commit": "4416b0eaa3d51f3e360d6e171e603ff51848bcf5",
      "tree": "1fa54240a606bc34a35e2eb99f06e91ec269fc01",
      "parents": [
        "24613ff927500513eae7e84bb6fc6c3ef268e452",
        "6139b652c89ecd5ebf72ef895fec9f6d0d320cb1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:51:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:51:50 2012 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\nPull cpufreq fixes from Dave Jones:\n \"I meant to get some of these in for 3.3 final, but left things too\n  late, so I\u0027ve got two trees this time.\"\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  cpufreq: OMAP: specify range for voltage scaling\n  cpufreq: OMAP: scale voltage along with frequency\n  cpufreq: OMAP driver depends CPUfreq tables\n"
    },
    {
      "commit": "24613ff927500513eae7e84bb6fc6c3ef268e452",
      "tree": "ef26480a8f123a12690c0f226870cf69dc6ffb55",
      "parents": [
        "0d19eac12031680dc5f5402921fb0c388e42f619",
        "ff80aa57cc9946d3dafe65119d576b3d11304303"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:37:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:37:40 2012 -0700"
      },
      "message": "Merge branch \u0027pcmcia\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull #3 ARM updates from Russell King:\n \"This adds gpio support to soc_common, allowing an amount of code to be\n  deleted from each PCMCIA socket driver for the PXA/SA11x0 SoCs.\"\n\n* \u0027pcmcia\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  PCMCIA: sa1111: rename sa1111 socket drivers to have sa1111_ prefix.\n  PCMCIA: make lubbock socket driver part of sa1111_cs\n  PCMCIA: add Kconfig control for building sa11xx_base.c\n  PCMCIA: sa1111: jornada720: no need to disable IRQs around sa1111_set_io\n  PCMCIA: sa1111: pass along sa1111_pcmcia_configure_socket() failure code\n  PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers\n  PCMCIA: soc_common: remove soc_pcmcia_*_irqs functions\n  PCMCIA: sa11x0: h3600: convert to use new irq/gpio management\n  PCMCIA: sa11x0: simpad: convert to use new irq/gpio management\n  PCMCIA: sa11x0: shannon: convert to use new irq/gpio management\n  PCMCIA: sa11x0: nanoengine: convert reset handling to use GPIO subsystem\n  PCMCIA: sa11x0: nanoengine: convert to use new irq/gpio management\n  PCMCIA: sa11x0: cerf: convert reset handling to use GPIO subsystem\n  PCMCIA: sa11x0: cerf: convert to use new irq/gpio management\n  PCMCIA: sa11x0: assabet: convert to use new irq/gpio management\n  PCMCIA: sa1111: use new per-socket irq/gpio infrastructure\n  PCMCIA: pxa: convert PXA socket drivers to use new irq/gpio management\n  PCMCIA: soc_common: add GPIO support for card status signals\n  PCMCIA: soc_common: move common initialization into soc_common\n"
    },
    {
      "commit": "0d19eac12031680dc5f5402921fb0c388e42f619",
      "tree": "57302fb8778b6527c35175cc1edf228dd9f7abb9",
      "parents": [
        "56c10bf82c10588b743e75a13a7949e11b9fc942",
        "bba1594d348b59d6172e02bf74fba837c8273989"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:36:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:36:29 2012 -0700"
      },
      "message": "Merge branch \u0027amba\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull #2 ARM updates from Russell King:\n \"Further ARM AMBA primecell updates which aren\u0027t included directly in\n  the previous commit.  I wanted to keep these separate as they\u0027re\n  touching stuff outside arch/arm/.\"\n\n* \u0027amba\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  ARM: 7362/1: AMBA: Add module_amba_driver() helper macro for amba_driver\n  ARM: 7335/1: mach-u300: do away with MMC config files\n  ARM: 7280/1: mmc: mmci: Cache MMCICLOCK and MMCIPOWER register\n  ARM: 7309/1: realview: fix unconnected interrupts on EB11MP\n  ARM: 7230/1: mmc: mmci: Fix PIO read for small SDIO packets\n  ARM: 7227/1: mmc: mmci: Prepare for SDIO before setting up DMA job\n  ARM: 7223/1: mmc: mmci: Fixup use of runtime PM and use autosuspend\n  ARM: 7221/1: mmc: mmci: Change from using legacy suspend\n  ARM: 7219/1: mmc: mmci: Change vdd_handler to a generic ios_handler\n  ARM: 7218/1: mmc: mmci: Provide option to configure bus signal direction\n  ARM: 7217/1: mmc: mmci: Put power register deviations in variant data\n  ARM: 7216/1: mmc: mmci: Do not release spinlock in request_end\n  ARM: 7215/1: mmc: mmci: Increase max_segs from 16 to 128\n"
    },
    {
      "commit": "56c10bf82c10588b743e75a13a7949e11b9fc942",
      "tree": "a2eda0459abb314107ac64af770bf7fb360aefc6",
      "parents": [
        "bab2d8c6020e1d7521cb6c4939f72b061ce947bc",
        "61b80086a525c8a6081257ae40da5dee2bcaee16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:30:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:30:49 2012 -0700"
      },
      "message": "Merge branch \u0027for-armsoc\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull #1 ARM updates from Russell King:\n \"This one covers stuff which Arnd is waiting for me to push, as this is\n  shared between both our trees and probably other trees elsewhere.\n\n  Essentially, this contains:\n   - AMBA primecell device initializer updates - mostly shrinking the\n     size of the device declarations in platform code to something more\n     reasonable.\n   - Getting rid of the NO_IRQ crap from AMBA primecell stuff.\n   - Nicolas\u0027 idle cleanups.  This in combination with the restart\n     cleanups from the last merge window results in a great many\n     mach/system.h files being deleted.\"\n\nYay: ~80 files, ~2000 lines deleted.\n\n* \u0027for-armsoc\u0027 of git://git.linaro.org/people/rmk/linux-arm: (60 commits)\n  ARM: remove disable_fiq and arch_ret_to_user macros\n  ARM: make entry-macro.S depend on !MULTI_IRQ_HANDLER\n  ARM: rpc: make default fiq handler run-time installed\n  ARM: make arch_ret_to_user macro optional\n  ARM: amba: samsung: use common amba device initializers\n  ARM: amba: spear: use common amba device initializers\n  ARM: amba: nomadik: use common amba device initializers\n  ARM: amba: u300: use common amba device initializers\n  ARM: amba: lpc32xx: use common amba device initializers\n  ARM: amba: netx: use common amba device initializers\n  ARM: amba: bcmring: use common amba device initializers\n  ARM: amba: ep93xx: use common amba device initializers\n  ARM: amba: omap2: use common amba device initializers\n  ARM: amba: integrator: use common amba device initializers\n  ARM: amba: realview: get rid of private platform amba_device initializer\n  ARM: amba: versatile: get rid of private platform amba_device initializer\n  ARM: amba: vexpress: get rid of private platform amba_device initializer\n  ARM: amba: provide common initializers for static amba devices\n  ARM: amba: make use of -1 IRQs warn\n  ARM: amba: u300: get rid of NO_IRQ initializers\n  ...\n"
    },
    {
      "commit": "bab2d8c6020e1d7521cb6c4939f72b061ce947bc",
      "tree": "6854225ef6027c933bfc7647c55d28c4ad930f20",
      "parents": [
        "0e65ae099ca6a70a7a521e0358c57d43ec95dce5",
        "fa8d9d74c360726fe743b08af00ee3d0e0eb8bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:24:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:24:25 2012 -0700"
      },
      "message": "Merge tag \u0027for-3.4\u0027 of git://openrisc.net/jonas/linux\n\nPull OpenRISC changes for 3.4 from Jonas Bonn:\n \"This series for the OpenRISC architecture consists of mostly trivial\n  fixups.  The most interesting bits of the series are:\n\n  * A fix to the timer code whereby the shortest trigger period is set\n    to 100 cycles; previously, it was possible to set this to 1 cycle,\n    but by the time the register was written, that time had already\n    passed and the timer interrupt would not go off until the cycle\n    counter had gone a full cycle.\n\n  * Allowing a device tree binary to be passed in to the kernel from\n    u-boot.  The OpenRISC architecture has been recently merged into\n    upstream u-boot, so this change gets OpenRISC Linux into sync with\n    that project.\"\n\n* tag \u0027for-3.4\u0027 of git://openrisc.net/jonas/linux:\n  OpenRISC: Remove memory_start/end prototypes\n  openrisc: remove semicolon from KSTK_ defs\n  openrisc: sanitize use of orig_gpr11\n  openrisc: fix virt_addr_valid\n  OpenRISC: Export dump_stack()\n  OpenRISC: Select GENERIC_ATOMIC64\n  openrisc: Set shortest clock event to 100 ticks\n  openrisc: included linux/thread_info.h twice\n  OpenRISC: Use set_current_blocked() and block_sigmask()\n  OpenRISC: Don\u0027t mask signals if we fail to setup signal stack\n  OpenRISC: No need to reset handler if SA_ONESHOT\n  OpenRISC: Don\u0027t reimplement force_sigsegv()\n  openrisc: enable passing of flattened device tree pointer\n  arch/openrisc/mm/init.c: trivial: use BUG_ON\n"
    },
    {
      "commit": "0e65ae099ca6a70a7a521e0358c57d43ec95dce5",
      "tree": "ab4b11ec028229530ad1f616b80e6ea1057d0e71",
      "parents": [
        "2fb9e96cada81e7288579e14c3d56f1f969354a5",
        "b86c4782ab501e3b69e5e0b32050455f95caa681"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:19:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:19:37 2012 -0700"
      },
      "message": "Merge tag \u0027ia64-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux\n\nPull miscellaneous Itanium patches from Tony Luck.\n\nThe conflicts in arch/ia64/hp/sim/simserial.c were due to patches to\nsimserial that had alredy been included (with lots of further cleanups)\nin the serial tree.\n\n* tag \u0027ia64-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:\n  Documentation/kernel-parameters: remove inttest parameter\n  [IA64] Fix ISA IRQ trigger model and polarity setting\n  [IA64] Fix a couple of warnings for EXPORT_SYMBOL\n  [IA64] Check return from device_register() in cx_device_register()\n  [IA64] Fix warning from machine_kexec.c\n  [IA64] simserial, bail out when request_irq fails\n  [IA64] hpsim, initialize chip for assigned irqs\n  [IA64] simserial, include some headers\n  [IA64] hpsim, fix SAL handling in fw-emu\n  [IA64] genirq fixup for SGI/SN\n  [IA64] disable interrupts when exiting from ia64_mca_cmc_int_handler()\n"
    },
    {
      "commit": "bba1594d348b59d6172e02bf74fba837c8273989",
      "tree": "223e67a4ad043d4ec9361e89c59592ea60e7ddff",
      "parents": [
        "9e5ed094c89e55fbf11d2e81d60be98eb12346c0",
        "7437cfa532842ce75189826742bddf1ba137f58e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Mar 24 00:10:36 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Mar 24 00:10:36 2012 +0000"
      },
      "message": "Merge branch \u0027mmci\u0027 into amba\n"
    },
    {
      "commit": "2fb9e96cada81e7288579e14c3d56f1f969354a5",
      "tree": "acfe7e7a1455f06ce462fdeb22d4755dd9517393",
      "parents": [
        "8e3ade251bc7c0a4f0777df4dd34343a03efadba",
        "29a2e2836ff9ea65a603c89df217f4198973a74f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:10:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 17:10:09 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull additional x86 fixes from Peter Anvin:\n - address a long-standing bug related to when a kernel-spawned process\n   gets a signal on an i386 kernel compiled without CONFIG_VM86.\n\n - fix the newly introduced build warning in arch/x86/boot.\n\n - fix a typo in the i386 system call table which affects building some\n   libcs.\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86-32: Fix endless loop when processing signals for kernel tasks\n  x86, boot: Correct CFLAGS for hostprogs\n  x86-32: Fix typo for mq_getsetattr in syscall table\n"
    },
    {
      "commit": "8e3ade251bc7c0a4f0777df4dd34343a03efadba",
      "tree": "6c0b78731e3d6609057951d07660efbd90992ad0",
      "parents": [
        "e317234975cb7463b8ca21a93bb6862d9dcf113f",
        "e075f59152890ffd7e3d704afc997dd686c8a781"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:59:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:59:10 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge second batch of patches from Andrew Morton:\n - various misc things\n - core kernel changes to prctl, exit, exec, init, etc.\n - kernel/watchdog.c updates\n - get_maintainer\n - MAINTAINERS\n - the backlight driver queue\n - core bitops code cleanups\n - the led driver queue\n - some core prio_tree work\n - checkpatch udpates\n - largeish crc32 update\n - a new poll() feature for the v4l guys\n - the rtc driver queue\n - fatfs\n - ptrace\n - signals\n - kmod/usermodehelper updates\n - coredump\n - procfs updates\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (141 commits)\n  seq_file: add seq_set_overflow(), seq_overflow()\n  proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().\n  procfs: speed up /proc/pid/stat, statm\n  procfs: add num_to_str() to speed up /proc/stat\n  proc: speed up /proc/stat handling\n  fs/proc/kcore.c: make get_sparsemem_vmemmap_info() static\n  coredump: add VM_NODUMP, MADV_NODUMP, MADV_CLEAR_NODUMP\n  coredump: remove VM_ALWAYSDUMP flag\n  kmod: make __request_module() killable\n  kmod: introduce call_modprobe() helper\n  usermodehelper: ____call_usermodehelper() doesn\u0027t need do_exit()\n  usermodehelper: kill umh_wait, renumber UMH_* constants\n  usermodehelper: implement UMH_KILLABLE\n  usermodehelper: introduce umh_complete(sub_info)\n  usermodehelper: use UMH_WAIT_PROC consistently\n  signal: zap_pid_ns_processes: s/SEND_SIG_NOINFO/SEND_SIG_FORCED/\n  signal: oom_kill_task: use SEND_SIG_FORCED instead of force_sig()\n  signal: cosmetic, s/from_ancestor_ns/force/ in prepare_signal() paths\n  signal: give SEND_SIG_FORCED more power to beat SIGNAL_UNKILLABLE\n  Hexagon: use set_current_blocked() and block_sigmask()\n  ...\n"
    },
    {
      "commit": "e075f59152890ffd7e3d704afc997dd686c8a781",
      "tree": "94dbf5eda32d7dea9821ca308c4317e75756f7bd",
      "parents": [
        "1b26c9b334044cff6d1d2698f2be41bc7d9a0864"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 23 15:02:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "seq_file: add seq_set_overflow(), seq_overflow()\n\nIt is undocumented but a seq_file\u0027s overflow state is indicated by\nm-\u003ecount \u003d\u003d m-\u003esize.  Add seq_set_overflow() and seq_overflow() to\nset/check overflow status explicitly.\n\nBased on an idea from Eric Dumazet.\n\n[akpm@linux-foundation.org: tweak code comment]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b26c9b334044cff6d1d2698f2be41bc7d9a0864",
      "tree": "533eb56100209cd0d8ec2c1f3d354af1695226f9",
      "parents": [
        "bda7bad62bc4c4e0783348e8db51abe094153c56"
      ],
      "author": {
        "name": "Pravin B Shelar",
        "email": "pshelar@nicira.com",
        "time": "Fri Mar 23 15:02:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().\n\nThe namespace cleanup path leaks a dentry which holds a reference count\non a network namespace.  Keeping that network namespace from being freed\nwhen the last user goes away.  Leaving things like vlan devices in the\nleaked network namespace.\n\nIf you use ip netns add for much real work this problem becomes apparent\npretty quickly.  It light testing the problem hides because frequently\nyou simply don\u0027t notice the leak.\n\nUse d_set_d_op() so that DCACHE_OP_* flags are set correctly.\n\nThis issue exists back to 3.0.\n\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nReported-by: Justin Pettit \u003cjpettit@nicira.com\u003e\nSigned-off-by: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bda7bad62bc4c4e0783348e8db51abe094153c56",
      "tree": "c62650a3da656ba18aebe170df7d554158ae5fc5",
      "parents": [
        "1ac101a5d675aca2426c5cd460c73fb95acb8391"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 23 15:02:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "procfs: speed up /proc/pid/stat, statm\n\nProcess accounting applications as top, ps visit some files under\n/proc/\u003cpid\u003e.  With seq_put_decimal_ull(), we can optimize /proc/\u003cpid\u003e/stat\nand /proc/\u003cpid\u003e/statm files.\n\nThis patch adds\n  - seq_put_decimal_ll() for signed values.\n  - allow delimiter \u003d\u003d 0.\n  - convert seq_printf() to seq_put_decimal_ull/ll in /proc/stat, statm.\n\nTest result on a system with 2000+ procs.\n\nBefore patch:\n  [kamezawa@bluextal test]$ top -b -n 1 | wc -l\n  2223\n  [kamezawa@bluextal test]$ time top -b -n 1 \u003e /dev/null\n\n  real    0m0.675s\n  user    0m0.044s\n  sys     0m0.121s\n\n  [kamezawa@bluextal test]$ time ps -elf \u003e /dev/null\n\n  real    0m0.236s\n  user    0m0.056s\n  sys     0m0.176s\n\nAfter patch:\n  kamezawa@bluextal ~]$ time top -b -n 1 \u003e /dev/null\n\n  real    0m0.657s\n  user    0m0.052s\n  sys     0m0.100s\n\n  [kamezawa@bluextal ~]$ time ps -elf \u003e /dev/null\n\n  real    0m0.198s\n  user    0m0.050s\n  sys     0m0.145s\n\nConsidering top, ps tend to scan /proc periodically, this will reduce cpu\nconsumption by top/ps to some extent.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: 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": "1ac101a5d675aca2426c5cd460c73fb95acb8391",
      "tree": "5d993fde0c5e67de97c0d9ffac54163f06fc90c9",
      "parents": [
        "59a32e2ce5eb809967cac4e718bc527beca83c59"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 23 15:02:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "procfs: add num_to_str() to speed up /proc/stat\n\n\u003d\u003d stat_check.py\nnum \u003d 0\nwith open(\"/proc/stat\") as f:\n        while num \u003c 1000 :\n                data \u003d f.read()\n                f.seek(0, 0)\n                num \u003d num + 1\n\u003d\u003d\n\nperf shows\n\n    20.39%  stat_check.py  [kernel.kallsyms]    [k] format_decode\n    13.41%  stat_check.py  [kernel.kallsyms]    [k] number\n    12.61%  stat_check.py  [kernel.kallsyms]    [k] vsnprintf\n    10.85%  stat_check.py  [kernel.kallsyms]    [k] memcpy\n     4.85%  stat_check.py  [kernel.kallsyms]    [k] radix_tree_lookup\n     4.43%  stat_check.py  [kernel.kallsyms]    [k] seq_printf\n\nThis patch removes most of calls to vsnprintf() by adding num_to_str()\nand seq_print_decimal_ull(), which prints decimal numbers without rich\nfunctions provided by printf().\n\nOn my 8cpu box.\n\u003d\u003d Before patch \u003d\u003d\n[root@bluextal test]# time ./stat_check.py\n\nreal    0m0.150s\nuser    0m0.026s\nsys     0m0.121s\n\n\u003d\u003d After patch \u003d\u003d\n[root@bluextal test]# time ./stat_check.py\n\nreal    0m0.055s\nuser    0m0.022s\nsys     0m0.030s\n\n[akpm@linux-foundation.org: remove incorrect comment, use less statck in num_to_str(), move comment from .h to .c, simplify seq_put_decimal_ull()]\n[andrea@betterlinux.com: avoid breaking the ABI in /proc/stat]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrea Righi \u003candrea@betterlinux.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59a32e2ce5eb809967cac4e718bc527beca83c59",
      "tree": "3024b71063f497c138680c36c5f7ce2dee563680",
      "parents": [
        "b908243c549448fc0662f9cdd8d5cfe620fcdc31"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Mar 23 15:02:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "proc: speed up /proc/stat handling\n\nOn a typical 16 cpus machine, \"cat /proc/stat\" gives more than 4096 bytes,\nand is slow :\n\n  # strace -T -o /tmp/STRACE cat /proc/stat | wc -c\n  5826\n  # grep \"cpu \" /tmp/STRACE\n  read(0, \"cpu  1949310 19 2144714 12117253\"..., 32768) \u003d 5826 \u003c0.001504\u003e\n\nThats partly because show_stat() must be called twice since initial\nbuffer size is too small (4096 bytes for less than 32 possible cpus)\n\nFix this by :\n\n 1) Taking into account nr_irqs in the initial buffer sizing.\n\n 2) Using ksize() to allow better filling of initial buffer.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: 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": "b908243c549448fc0662f9cdd8d5cfe620fcdc31",
      "tree": "fe3ba53fb4b1f37048ba986080623af0365eb6e5",
      "parents": [
        "accb61fe7bb0f5c2a4102239e4981650f9048519"
      ],
      "author": {
        "name": "Djalal Harouni",
        "email": "tixxdz@opendz.org",
        "time": "Fri Mar 23 15:02:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "fs/proc/kcore.c: make get_sparsemem_vmemmap_info() static\n\nget_sparsemem_vmemmap_info() is only used inside fs/proc/kcore.c\n\nSigned-off-by: Djalal Harouni \u003ctixxdz@opendz.org\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@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": "accb61fe7bb0f5c2a4102239e4981650f9048519",
      "tree": "5e7120b80944d9719684b94e0c419761ba2d59e1",
      "parents": [
        "909af768e88867016f427264ae39d27a57b6a8ed"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Mar 23 15:02:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "coredump: add VM_NODUMP, MADV_NODUMP, MADV_CLEAR_NODUMP\n\nSince we no longer need the VM_ALWAYSDUMP flag, let\u0027s use the freed bit\nfor \u0027VM_NODUMP\u0027 flag.  The idea is is to add a new madvise() flag:\nMADV_DONTDUMP, which can be set by applications to specifically request\nmemory regions which should not dump core.\n\nThe specific application I have in mind is qemu: we can add a flag there\nthat wouldn\u0027t dump all of guest memory when qemu dumps core.  This flag\nmight also be useful for security sensitive apps that want to absolutely\nmake sure that parts of memory are not dumped.  To clear the flag use:\nMADV_DODUMP.\n\n[akpm@linux-foundation.org: s/MADV_NODUMP/MADV_DONTDUMP/, s/MADV_CLEAR_NODUMP/MADV_DODUMP/, per Roland]\n[akpm@linux-foundation.org: fix up the architectures which broke]\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@parisc-linux.org\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "909af768e88867016f427264ae39d27a57b6a8ed",
      "tree": "5068b4d98e4bedecde89d9113dc7ef8c69633f45",
      "parents": [
        "1cc684ab75123efe7ff446eb821d44375ba8fa30"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Mar 23 15:02:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "coredump: remove VM_ALWAYSDUMP flag\n\nThe motivation for this patchset was that I was looking at a way for a\nqemu-kvm process, to exclude the guest memory from its core dump, which\ncan be quite large.  There are already a number of filter flags in\n/proc/\u003cpid\u003e/coredump_filter, however, these allow one to specify \u0027types\u0027\nof kernel memory, not specific address ranges (which is needed in this\ncase).\n\nSince there are no more vma flags available, the first patch eliminates\nthe need for the \u0027VM_ALWAYSDUMP\u0027 flag.  The flag is used internally by\nthe kernel to mark vdso and vsyscall pages.  However, it is simple\nenough to check if a vma covers a vdso or vsyscall page without the need\nfor this flag.\n\nThe second patch then replaces the \u0027VM_ALWAYSDUMP\u0027 flag with a new\n\u0027VM_NODUMP\u0027 flag, which can be set by userspace using new madvise flags:\n\u0027MADV_DONTDUMP\u0027, and unset via \u0027MADV_DODUMP\u0027.  The core dump filters\ncontinue to work the same as before unless \u0027MADV_DONTDUMP\u0027 is set on the\nregion.\n\nThe qemu code which implements this features is at:\n\n  http://people.redhat.com/~jbaron/qemu-dump/qemu-dump.patch\n\nIn my testing the qemu core dump shrunk from 383MB -\u003e 13MB with this\npatch.\n\nI also believe that the \u0027MADV_DONTDUMP\u0027 flag might be useful for\nsecurity sensitive apps, which might want to select which areas are\ndumped.\n\nThis patch:\n\nThe VM_ALWAYSDUMP flag is currently used by the coredump code to\nindicate that a vma is part of a vsyscall or vdso section.  However, we\ncan determine if a vma is in one these sections by checking it against\nthe gate_vma and checking for a non-NULL return value from\narch_vma_name().  Thus, freeing a valuable vma bit.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@hack.frob.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Avi Kivity \u003cavi@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": "1cc684ab75123efe7ff446eb821d44375ba8fa30",
      "tree": "165069093fc048b979ed38e537b19febdc7889d3",
      "parents": [
        "3e63a93b987685f02421e18b2aa452d20553a88b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "kmod: make __request_module() killable\n\nAs Tetsuo Handa pointed out, request_module() can stress the system\nwhile the oom-killed caller sleeps in TASK_UNINTERRUPTIBLE.\n\nThe task T uses \"almost all\" memory, then it does something which\ntriggers request_module().  Say, it can simply call sys_socket().  This\nin turn needs more memory and leads to OOM.  oom-killer correctly\nchooses T and kills it, but this can\u0027t help because it sleeps in\nTASK_UNINTERRUPTIBLE and after that oom-killer becomes \"disabled\" by the\nTIF_MEMDIE task T.\n\nMake __request_module() killable.  The only necessary change is that\ncall_modprobe() should kmalloc argv and module_name, they can\u0027t live in\nthe stack if we use UMH_KILLABLE.  This memory is freed via\ncall_usermodehelper_freeinfo()-\u003ecleanup.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e63a93b987685f02421e18b2aa452d20553a88b",
      "tree": "4674115a6be71dbd2a78a411cb3617842acd8c8e",
      "parents": [
        "5b9bd473e3b8a8c6c4ae99be475e6e9b27568555"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "kmod: introduce call_modprobe() helper\n\nNo functional changes.  Move the call_usermodehelper code from\n__request_module() into the new simple helper, call_modprobe().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b9bd473e3b8a8c6c4ae99be475e6e9b27568555",
      "tree": "2dde14aa393ca0dfe32265576783a8219217c8fc",
      "parents": [
        "9d944ef32e83405a07376f112e9f02161d3e9731"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: ____call_usermodehelper() doesn\u0027t need do_exit()\n\nMinor cleanup.  ____call_usermodehelper() can simply return, no need to\ncall do_exit() explicitely.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d944ef32e83405a07376f112e9f02161d3e9731",
      "tree": "24170ff64fb83221da133e2afb53f58e840a6eee",
      "parents": [
        "d0bd587a80960d7ba7e0c8396e154028c9045c54"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: kill umh_wait, renumber UMH_* constants\n\nNo functional changes.  It is not sane to use UMH_KILLABLE with enum\numh_wait, but obviously we do not want another argument in\ncall_usermodehelper_* helpers.  Kill this enum, use the plain int.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0bd587a80960d7ba7e0c8396e154028c9045c54",
      "tree": "3765f8eccdc5f982ba173a7a05d8981d573b9486",
      "parents": [
        "b3449922502f5a161ee2b5022a33aec8472fbf18"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: implement UMH_KILLABLE\n\nImplement UMH_KILLABLE, should be used along with UMH_WAIT_EXEC/PROC.\nThe caller must ensure that subprocess_info-\u003epath/etc can not go away\nuntil call_usermodehelper_freeinfo().\n\ncall_usermodehelper_exec(UMH_KILLABLE) does\nwait_for_completion_killable.  If it fails, it uses\nxchg(\u0026sub_info-\u003ecomplete, NULL) to serialize with umh_complete() which\ndoes the same xhcg() to access sub_info-\u003ecomplete.\n\nIf call_usermodehelper_exec wins, it can safely return.  umh_complete()\nshould get NULL and call call_usermodehelper_freeinfo().\n\nOtherwise we know that umh_complete() was already called, in this case\ncall_usermodehelper_exec() falls back to wait_for_completion() which\nshould succeed \"very soon\".\n\nNote: UMH_NO_WAIT \u003d\u003d -1 but it obviously should not be used with\nUMH_KILLABLE.  We delay the neccessary cleanup to simplify the back\nporting.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3449922502f5a161ee2b5022a33aec8472fbf18",
      "tree": "4fc28a0b52e61af3fdb47f3ae0770e112a92dfbc",
      "parents": [
        "70834d3070c3f3015ab5c05176d54bd4a0100546"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: introduce umh_complete(sub_info)\n\nPreparation.  Add the new trivial helper, umh_complete().  Currently it\nsimply does complete(sub_info-\u003ecomplete).\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70834d3070c3f3015ab5c05176d54bd4a0100546",
      "tree": "4dbcea84c4584de05f83aa911164902b3f00265f",
      "parents": [
        "a02d6fd643cbd4c559113b35b31d3b04e4ec60c7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: use UMH_WAIT_PROC consistently\n\nA few call_usermodehelper() callers use the hardcoded constant instead of\nthe proper UMH_WAIT_PROC, fix them.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@i-love.sakura.ne.jp\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Lars Ellenberg \u003cdrbd-dev@lists.linbit.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Michal Januszewski \u003cspock@gentoo.org\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Kentaro Takeda \u003ctakedakn@nttdata.co.jp\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a02d6fd643cbd4c559113b35b31d3b04e4ec60c7",
      "tree": "77bb1bca3380e8a8187bbeb25af6a03307401887",
      "parents": [
        "d2d393099de21eda91c5ec6a05d60e5dee4d5175"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: zap_pid_ns_processes: s/SEND_SIG_NOINFO/SEND_SIG_FORCED/\n\nChange zap_pid_ns_processes() to use SEND_SIG_FORCED, it looks more\nclear compared to SEND_SIG_NOINFO which relies on from_ancestor_ns logic\nsend_signal().\n\nIt is also more efficient if we need to kill a lot of tasks because it\ndoesn\u0027t alloc sigqueue.\n\nWhile at it, add the __fatal_signal_pending(task) check as a minor\noptimization.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2d393099de21eda91c5ec6a05d60e5dee4d5175",
      "tree": "92f2f5eaed87e35c43d8461a86f618b6f2a28406",
      "parents": [
        "def8cf72562e17ec8316ce0cb5697c7afd6400e3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: oom_kill_task: use SEND_SIG_FORCED instead of force_sig()\n\nChange oom_kill_task() to use do_send_sig_info(SEND_SIG_FORCED) instead\nof force_sig(SIGKILL).  With the recent changes we do not need force_ to\nkill the CLONE_NEWPID tasks.\n\nAnd this is more correct.  force_sig() can race with the exiting thread\neven if oom_kill_task() checks p-\u003emm !\u003d NULL, while\ndo_send_sig_info(group \u003d\u003e true) kille the whole process.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "def8cf72562e17ec8316ce0cb5697c7afd6400e3",
      "tree": "de0ee350a81685eddadcbfc8d29545e0f7a01d05",
      "parents": [
        "629d362b9950166c6fac2aa8425db34d824bb043"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: cosmetic, s/from_ancestor_ns/force/ in prepare_signal() paths\n\nCosmetic, rename the from_ancestor_ns argument in prepare_signal()\npaths.  After the previous change it doesn\u0027t match the reality.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "629d362b9950166c6fac2aa8425db34d824bb043",
      "tree": "9f109337c786caff4bfcf7a57516fe961fe769fc",
      "parents": [
        "43aca3246cb7f736b20c11da9ce932a124a2a85a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: give SEND_SIG_FORCED more power to beat SIGNAL_UNKILLABLE\n\nforce_sig_info() and friends have the special semantics for synchronous\nsignals, this interface should not be used if the target is not current.\nAnd it needs the fixes, in particular the clearing of SIGNAL_UNKILLABLE\nis not exactly right.\n\nHowever there are callers which have to use force_ exactly because it\nclears SIGNAL_UNKILLABLE and thus it can kill the CLONE_NEWPID tasks,\nalthough this is almost always is wrong by various reasons.\n\nWith this patch SEND_SIG_FORCED ignores SIGNAL_UNKILLABLE, like we do if\nthe signal comes from the ancestor namespace.\n\nThis makes the naming in prepare_signal() paths insane, fixed by the\nnext cleanup.\n\nNote: this only affects SIGKILL/SIGSTOP, but this is enough for\nforce_sig() abusers.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43aca3246cb7f736b20c11da9ce932a124a2a85a",
      "tree": "e495fdcb70dacba143db393ef5427290078b6cd6",
      "parents": [
        "ee00560c7dac1dbbf048446a8489550d0a5765b7"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Mar 23 15:02:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "Hexagon: use set_current_blocked() and block_sigmask()\n\nAs described in e6fa16ab9c1e (\"signal: sigprocmask() should do\nretarget_shared_pending()\") the modification of current-\u003eblocked is\nincorrect as we need to check whether the signal we\u0027re about to block is\npending in the shared queue.\n\nAlso, use the new helper function introduced in commit 5e6292c0f28f\n(\"signal: add block_sigmask() for adding sigmask to current-\u003eblocked\")\nwhich centralises the code for updating current-\u003eblocked after\nsuccessfully delivering a signal and reduces the amount of duplicate\ncode across architectures.  In the past some architectures got this code\nwrong, so using this helper function should stop that from happening\nagain.\n\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Richard Kuo \u003crkuo@codeaurora.org\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee00560c7dac1dbbf048446a8489550d0a5765b7",
      "tree": "e2a07e3ee58daa2a915634b18bb14d6c75c3e006",
      "parents": [
        "5cdf389aee90109e2e3d88085dea4dd5508a3be7"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "ptrace: remove PTRACE_SEIZE_DEVEL bit\n\nPTRACE_SEIZE code is tested and ready for production use, remove the\ncode which requires special bit in data argument to make PTRACE_SEIZE\nwork.\n\nStrace team prepares for a new release of strace, and we would like to\nship the code which uses PTRACE_SEIZE, preferably after this change goes\ninto released kernel.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@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": "5cdf389aee90109e2e3d88085dea4dd5508a3be7",
      "tree": "ab59bc0fef6800ea6bbe20a1828bd396094bfbf8",
      "parents": [
        "aa9147c98f27550bd39416eca5a5844e54bced26"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "ptrace: renumber PTRACE_EVENT_STOP so that future new options and events can match\n\nPTRACE_EVENT_foo and PTRACE_O_TRACEfoo used to match.\n\nNew PTRACE_EVENT_STOP is the first event which has no corresponding\nPTRACE_O_TRACE option.  If we will ever want to add another such option,\nits PTRACE_EVENT\u0027s value will collide with PTRACE_EVENT_STOP\u0027s value.\n\nThis patch changes PTRACE_EVENT_STOP value to prevent this.\n\nWhile at it, added a comment - the one atop PTRACE_EVENT block, saying\n\"Wait extended result codes for the above trace options\", is not true\nfor PTRACE_EVENT_STOP.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@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": "aa9147c98f27550bd39416eca5a5844e54bced26",
      "tree": "d73386b9f58034ea3332c5359c04cfc13c085a7f",
      "parents": [
        "86b6c1f301faf085de5a3f9ce16b8de6e69c729b"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: make PTRACE_SEIZE set ptrace options specified in \u0027data\u0027 parameter\n\nThis can be used to close a few corner cases in strace where we get\nunwanted racy behavior after attach, but before we have a chance to set\noptions (the notorious post-execve SIGTRAP comes to mind), and removes\nthe need to track \"did we set opts for this task\" state in strace\ninternals.\n\nWhile we are at it:\n\nMake it possible to extend SEIZE in the future with more functionality\nby passing non-zero \u0027addr\u0027 parameter.  To that end, error out if \u0027addr\u0027\nis non-zero.  PTRACE_ATTACH did not (and still does not) have such\ncheck, and users (strace) do pass garbage there...  let\u0027s avoid\nrepeating this mistake with SEIZE.\n\nSet all task-\u003eptrace bits in one operation - before this change, we were\nadding PT_SEIZED and PT_PTRACE_CAP with task-\u003eptrace |\u003d BIT ops.  This\nwas probably ok (not a bug), but let\u0027s be on a safer side.\n\nChanges since v2: use (unsigned long) casts instead of (long) ones, move\nPTRACE_SEIZE_DEVEL-related code to separate lines of code.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@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": "86b6c1f301faf085de5a3f9ce16b8de6e69c729b",
      "tree": "115a168d533a54f4e3dc1ed195c58b65a71d8627",
      "parents": [
        "8c5cf9e5c50dc902713897e10201aa71f3546aa1"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: simplify PTRACE_foo constants and PTRACE_SETOPTIONS code\n\nExchange PT_TRACESYSGOOD and PT_PTRACE_CAP bit positions, which makes\nPT_option bits contiguous and therefore makes code in\nptrace_setoptions() much simpler.\n\nEvery PTRACE_O_TRACEevent is defined to (1 \u003c\u003c PTRACE_EVENT_event)\ninstead of using explicit numeric constants, to ensure we don\u0027t mess up\nrelationship between bit positions and event ids.\n\nPT_EVENT_FLAG_SHIFT was not particularly useful, PT_OPT_FLAG_SHIFT with\nvalue of PT_EVENT_FLAG_SHIFT-1 is easier to use.\n\nPT_TRACE_MASK constant is nuked, the only its use is replaced by\n(PTRACE_O_MASK \u003c\u003c PT_OPT_FLAG_SHIFT).\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@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": "8c5cf9e5c50dc902713897e10201aa71f3546aa1",
      "tree": "9d5590690c0bf2b596697768972b8d42de2e8a28",
      "parents": [
        "b1845ff53f1a9eadba005ae53dfe60ab00dfe83b"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: don\u0027t modify flags on PTRACE_SETOPTIONS failure\n\nOn ptrace(PTRACE_SETOPTIONS, pid, 0, \u003copts\u003e), we used to set those\noption bits which are known, and then fail with -EINVAL if there are\nsome unknown bits in \u003copts\u003e.\n\nThis is inconsistent with typical error handling, which does not change\nany state if input is invalid.\n\nThis patch changes PTRACE_SETOPTIONS behavior so that in this case, we\nreturn -EINVAL and don\u0027t change any bits in task-\u003eptrace.\n\nIt\u0027s very unlikely that there is userspace code in the wild which will\nbe affected by this change: it should have the form\n\n    ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_BOGUSOPT)\n\nwhere PTRACE_O_BOGUSOPT is a constant unknown to the kernel.  But kernel\nheaders, naturally, don\u0027t contain any PTRACE_O_BOGUSOPTs, thus the only\nway userspace can use one if it defines one itself.  I can\u0027t see why\nanyone would do such a thing deliberately.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@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": "b1845ff53f1a9eadba005ae53dfe60ab00dfe83b",
      "tree": "1c38877029c0ffe0844cbbe7b0e022e8f79b6235",
      "parents": [
        "15cab952139404d0e593cb1aaab0a3547ac0f95b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: don\u0027t send SIGTRAP on exec if SEIZED\n\nptrace_event(PTRACE_EVENT_EXEC) sends SIGTRAP if PT_TRACE_EXEC is not\nset.  This is because this SIGTRAP predates PTRACE_O_TRACEEXEC option,\nwe do not need/want this with PT_SEIZED which can set the options during\nattach.\n\nSuggested-by: Pedro Alves \u003cpalves@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Chris Evans \u003cscarybeasts@gmail.com\u003e\nCc: Indan Zupancic \u003cindan@nul.nu\u003e\nCc: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@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": "15cab952139404d0e593cb1aaab0a3547ac0f95b",
      "tree": "0b8554db2eadd6782774e4448e43fb40dcc11c35",
      "parents": [
        "d533df07c20c7b59b0559a3ac38fb45c81ffd6bb"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: the killed tracee should not enter the syscall\n\nAnother old/known problem.  If the tracee is killed after it reports\nsyscall_entry, it starts the syscall and debugger can\u0027t control this.\nThis confuses the users and this creates the security problems for\nptrace jailers.\n\nChange tracehook_report_syscall_entry() to return non-zero if killed,\nthis instructs syscall_trace_enter() to abort the syscall.\n\nReported-by: Chris Evans \u003cscarybeasts@gmail.com\u003e\nTested-by: Indan Zupancic \u003cindan@nul.nu\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@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": "d533df07c20c7b59b0559a3ac38fb45c81ffd6bb",
      "tree": "7b6746dd28654291742a455d46726c0bac461860",
      "parents": [
        "41f0c02eacec9f984adb22e8fecda49e13b7eb13"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Fri Mar 23 15:02:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "fat: fix bug in enforcing Long File Name length\n\nSince \u0027*outlen\u0027 is initialized to zero, it is currently possible to\ncreate a filename of length (FAT_LFN_LEN + 1) when utf8 is not enabled.\nTo enforce the FAT_LFN_LEN limit, we must perform one less iteration.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Ravishankar N \u003ccyberax82@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41f0c02eacec9f984adb22e8fecda49e13b7eb13",
      "tree": "a057fc5dacd08251e826a9588b5e9fc937d3082c",
      "parents": [
        "9eab0a788d2d6e513f43b7c0e5bb9d60446233cb"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Fri Mar 23 15:02:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "fat: clean up xlate_to_uni()\n\nxlate_to_uni() is called by vfat_build_slots() with sbi-\u003enls_io as the\nfinal argument.  nls_io can never be null at this point because the\ncheck is already being done in fat_fill_super() wherein the mount fails\nif it is null.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Ravishankar N \u003ccyberax82@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9eab0a788d2d6e513f43b7c0e5bb9d60446233cb",
      "tree": "74b0e4386fbfd3b0ca58596bdb0616e57244a58d",
      "parents": [
        "40ce972d59fcfd4979e5de04456122447b40c1cf"
      ],
      "author": {
        "name": "Austin Boyle",
        "email": "Austin.Boyle@aviatnet.com",
        "time": "Fri Mar 23 15:02:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "rtc: ds1307: generalise ram size and offset\n\nGeneralise NVRAM to support RAM with other size and offset, such as the\n64 bytes of SRAM on the mcp7941x.\n\n[rdunlap@xenotime.net: fix printk format warning]\nSigned-off-by: Austin Boyle \u003cAustin.Boyle@aviatnet.com\u003e\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: David Anders \u003cdanders.dev@gmail.com\u003e\nCc: Alessandro Zummo \u003calessandro.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40ce972d59fcfd4979e5de04456122447b40c1cf",
      "tree": "609a2480b6164eeb6586c30c5e08622e7045de66",
      "parents": [
        "b24a7267709bb0adb694364572478f919e9c7390"
      ],
      "author": {
        "name": "David Anders",
        "email": "x0132446@ti.com",
        "time": "Fri Mar 23 15:02:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "rtc: ds1307: comment and format cleanup\n\nDo some cleanup of the comment sections as well as correct some\nformatting issues reported by checkpatch.pl.\n\nSigned-off-by: David Anders \u003cx0132446@ti.com\u003e\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Austin Boyle \u003cAustin.Boyle@aviatnet.com\u003e\nCc: Alessandro Zummo \u003calessandro.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b24a7267709bb0adb694364572478f919e9c7390",
      "tree": "1b1f56549c9966a483846d10c96dba1153210d38",
      "parents": [
        "32d322bcb0d6886084197247e30aa130956d5978"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Fri Mar 23 15:02:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "rtc: ds1307: simplify irq setup code\n\nNo need to have two seperate if-blocks for setting up the irq.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nTested-by: David Anders \u003cdanders.dev@gmail.com\u003e\nCc: Austin Boyle \u003cAustin.Boyle@aviatnet.com\u003e\nCc: Alessandro Zummo \u003calessandro.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32d322bcb0d6886084197247e30aa130956d5978",
      "tree": "10cf0236a922101e3df41579e915e125dd5179ec",
      "parents": [
        "fef931ff98fe78bea804d9b4c49d410a7a97988c"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Fri Mar 23 15:02:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "rtc: ds1307: refactor chip_desc table\n\nThe chip_desc table is suboptimal.  Currently it requires an entry for\nevery new chip type, even if it is empty.  This has already been\nforgotten for the ds1388.  Refactor the code, so new entries are only\nneeded, when they chip type really needs a (non-empty) description.\nAlso make the table visually more appealing.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Austin Boyle \u003cAustin.Boyle@aviatnet.com\u003e\nCc: David Anders \u003cdanders.dev@gmail.com\u003e\nCc: Alessandro Zummo \u003calessandro.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fef931ff98fe78bea804d9b4c49d410a7a97988c",
      "tree": "c205ae155861d391e9268b98ece55fcc54ee8799",
      "parents": [
        "fad0738dcf6feccf601f5a24b8ccd3b26894b337"
      ],
      "author": {
        "name": "Ashish Jangam",
        "email": "ashish.jangam@kpitcummins.com",
        "time": "Fri Mar 23 15:02:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "rtc: driver for DA9052/53 PMIC v1\n\nRTC Driver for Dialog Semiconductor DA9052/53 PMICs.\n\nThis patch is functionally tested on Samsung SMDKV6410.\n\n[akpm@linux-foundation.org: clean up file header layout, remove unneeded initialisation of local arrays]\nSigned-off-by: David Dajun Chen \u003cdchen@diasemi.com\u003e\nSigned-off-by: Ashish Jangam \u003cashish.jangam@kpitcummins.com\u003e\nCc: Paul Gortmaker \u003cp_gortmaker@yahoo.com\u003e\nCc: David Dajun Chen \u003cdchen@diasemi.com\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fad0738dcf6feccf601f5a24b8ccd3b26894b337",
      "tree": "7340f5de44b573899a6f7c82fe9647fdaf7760cc",
      "parents": [
        "0cf30bdd919685b201f715ea347dd96d590942e8"
      ],
      "author": {
        "name": "Kevin Liu",
        "email": "kliu5@marvell.com",
        "time": "Fri Mar 23 15:02:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "drivers/rtc/rtc-max8925.c: fix alarm-\u003eenabled mistake in max8925_rtc_read_alarm/max8925_rtc_set_alarm\n\nmax8925_rtc_read_alarm() should set alrm-\u003eenabled based on both\nALARM_IRQ_MASK and ALARM_CTRL setting.  max8925_rtc_set_alarm() should\nenable/disable alarm according to ALARM_CTRL reg setting.\n\nSigned-off-by: Kevin Liu \u003ckliu5@marvell.com\u003e\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@marvell.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0cf30bdd919685b201f715ea347dd96d590942e8",
      "tree": "24874c977ee5af2de3cf49362456cdd806e1531a",
      "parents": [
        "aa19689bfaaa26f2d85588a8774e194de5e7be54"
      ],
      "author": {
        "name": "Kevin Liu",
        "email": "kliu5@marvell.com",
        "time": "Fri Mar 23 15:02:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "drivers/rtc/rtc-max8925.c: fix max8925_rtc_read_alarm() return value error\n\nmax8925_rtc_read_alarm should always return 0 with success\n\nSigned-off-by: Kevin Liu \u003ckliu5@marvell.com\u003e\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@marvell.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa19689bfaaa26f2d85588a8774e194de5e7be54",
      "tree": "d3faac26baa3594ca8ab7dd7bbb63b4ca3788e39",
      "parents": [
        "2f6e5f9458646263d3d9ffadd5e11e3d8d15a7d0"
      ],
      "author": {
        "name": "Navin P",
        "email": "zicrim@gmail.com",
        "time": "Fri Mar 23 15:02:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "drivers/rtc/rtc-pm8xxx.c: make pm8xxx_rtc_pm_ops static\n\nSigned-off-by: Navin P \u003czicrim@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f6e5f9458646263d3d9ffadd5e11e3d8d15a7d0",
      "tree": "d7c0e867b5de5a5b94c32c2c66a4e22e934918a7",
      "parents": [
        "2778ebcc09c002cccdbd6b5509b5cbf4161b486d"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Mar 23 15:02:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "drivers/rtc: remove IRQF_DISABLED\n\nSince commit e58aa3d2d0cc (\"genirq: run irq handlers with interrupts\ndisabled\") we run all interrupt handlers with interrupts disabled and we\neven check and yell when an interrupt handler returns with interrupts\nenabled - see commit b738a50a2026 (\"genirq: warn when handler enables\ninterrupts\").\n\nSo now this flag is a NOOP and can be removed.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nAcked-by: Wan ZongShun \u003cmcuos.com@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2778ebcc09c002cccdbd6b5509b5cbf4161b486d",
      "tree": "096e1d6fe478c88db9d8cecf0e24c0d6fe4c73bb",
      "parents": [
        "94a339d016e26f96a1bd9e08306c857825c91a66"
      ],
      "author": {
        "name": "Venu Byravarasu",
        "email": "vbyravarasu@nvidia.com",
        "time": "Fri Mar 23 15:02:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "drivers/rtc/rtc-twl.c: return correct RTC event from ISR\n\nFollowing changes are made as part of this change:\n\n1. As TWL RTC supports periodic interrupt, the correct event should be\n   RTC_PF instead of RTC_UF.\n\n2. No need to initialize variable \"events\" to 0 \u0026 then OR it with the\n   event values.  Hence fixing it.\n\nSigned-off-by: Venu Byravarasu \u003cvbyravarasu@nvidia.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94a339d016e26f96a1bd9e08306c857825c91a66",
      "tree": "1f1fcdfbb741b6821b2f26d1f4c0442e03ac3f3d",
      "parents": [
        "f7439bcb74aca4234fedc336a21e169e6e33bb2e"
      ],
      "author": {
        "name": "Venu Byravarasu",
        "email": "vbyravarasu@nvidia.com",
        "time": "Fri Mar 23 15:02:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "drivers/rtc/rtc-twl.c: simplify RTC interrupt clearing\n\nFor clearing RTC interrupt, programming ALARM bit only is sufficient, as\nall other bits are any way not affected by writing 0 to them.\n\nHence removed unwanted OR operation.\n\nSigned-off-by: Venu Byravarasu \u003cvbyravarasu@nvidia.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7439bcb74aca4234fedc336a21e169e6e33bb2e",
      "tree": "815b214ea649e068711e5b36de3952f1221c717d",
      "parents": [
        "ce9f650636d310e4c8febc821b0038e9918a12db"
      ],
      "author": {
        "name": "Venu Byravarasu",
        "email": "vbyravarasu@nvidia.com",
        "time": "Fri Mar 23 15:02:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "drivers/rtc/rtc-twl.c: enable RTC irrespective of its prior state\n\nAs part of probe, before enabling RTC, RTC_CTRL register is read to check\nif it is already running.  If RTC is used by kernel alone, then this read\nis not required.  Even if RTC was enabled already by boot loader, setting\nSTOP_RTC bit again should not harm.  Hence removed unwanted read\noperation.\n\nSigned-off-by: Venu Byravarasu \u003cvbyravarasu@nvidia.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce9f650636d310e4c8febc821b0038e9918a12db",
      "tree": "3165a949b121068c6c62b42bb9c77f20cb53f5e4",
      "parents": [
        "b4f0b880c8d7eb225b79dec663780b4dcdea7fbc"
      ],
      "author": {
        "name": "Venu Byravarasu",
        "email": "vbyravarasu@nvidia.com",
        "time": "Fri Mar 23 15:02:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "drivers/rtc/rtc-twl.c: optimize IRQ bit access\n\nAs the TWL RTC driver has a cached copy of enabled RTC interrupt bits in\nvariable rtc_irq_bits, that can be checked before really setting or\nmasking any of the interrupt bits.\n\nSigned-off-by: Venu Byravarasu \u003cvbyravarasu@nvidia.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4f0b880c8d7eb225b79dec663780b4dcdea7fbc",
      "tree": "c99698d0030ac9c70b55f2fc03fe937772afa395",
      "parents": [
        "0abc920116303e81702a38429a1b61a896e02b37"
      ],
      "author": {
        "name": "zhao zhang",
        "email": "zhzhl555@gmail.com",
        "time": "Fri Mar 23 15:02:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "MIPS: add RTC support for loongson1B\n\nAdd RTC support(TOY counter0) for loongson1B SOC\n\nSigned-off-by: zhao zhang \u003czhzhl555@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0abc920116303e81702a38429a1b61a896e02b37",
      "tree": "69494f8249d1d55fac8a58ff2f67fc346ef52c16",
      "parents": [
        "109e941843893cb1b4f7bed24c615ba84ce00ff5"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Fri Mar 23 15:02:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "rtc: convert rtc i2c drivers to module_i2c_driver\n\nFactor out some boilerplate code for i2c driver registration into\nmodule_i2c_driver.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Piotr Ziecik \u003ckosmo@semihalf.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Scott Wood \u003cscottwood@freescale.com\u003e\nCc: Srikanth Srinivasan \u003csrikanth.srinivasan@freescale.com\u003e\nCc: Mike Rapoport \u003cmike@compulab.co.il\u003e\nCc: Sergey Lapin \u003cslapin@ossfans.org\u003e\nCc: Roman Fietze \u003croman.fietze@telemotive.de\u003e\nCc: Herbert Valerio Riedel \u003chvr@gnu.org\u003e\nCc: Alexander Bigga \u003cab@mycable.de\u003e\nCc: Dale Farnsworth \u003cdale@farnsworth.org\u003e\nCc: Gregory Hermant \u003cgregory.hermant@calao-systems.com\u003e\nCc: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nCc: Martyn Welch \u003cmartyn.welch@ge.com\u003e\nCc: Byron Bradley \u003cbyron.bbradley@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": "109e941843893cb1b4f7bed24c615ba84ce00ff5",
      "tree": "f71dc3d7386f333d23fd990cee12b91f8296ab3d",
      "parents": [
        "ee6c54ca64416c75aa6f5021e139f270192bae49"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Fri Mar 23 15:02:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "rtc: convert rtc spi drivers to module_spi_driver\n\nFactor out some boilerplate code for spi driver registration into\nmodule_spi_driver.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Mark Jackson \u003cmpfj@mimc.co.uk\u003e\nCc: Dennis Aberilla \u003cdenzzzhome@yahoo.com\u003e\nCc: Nikolaus Voss \u003cn.voss@weinmann.de\u003e\nCc: \"Kim B. Heino\" \u003cKim.Heino@bluegiga.com\u003e\nCc: Raphael Assenat \u003craph@raphnet.net\u003e\nCc: Chris Verges \u003cchrisv@cyberswitching.com\u003e\nCc: Magnus Damm \u003cdamm@opensource.se\u003e\nCc: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee6c54ca64416c75aa6f5021e139f270192bae49",
      "tree": "32c16e2747c4414bdb52939909e071fa07ba7fae",
      "parents": [
        "131f8b75f1c00a5a822ff2103db588466e942490"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Fri Mar 23 15:02:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:39 2012 -0700"
      },
      "message": "rtc/rtc-spear: call platform_set_drvdata() before registering rtc device\n\nrtc_device_register() calls rtc-spear routines internally.  These\nroutines call dev_get_drvdata() to get struct spear_rtc_config.\nCurrently, platform_set_drvdata is called after rtc device is\nregistered.  This causes system to crash, as dev_get_drvdata returns\nNULL.\n\nFor this we need to call platform_set_drvdata() before registering rtc\ndevice.  This requires further cleanup, that leads to removal of\ndev_set_drvdata on rtc-\u003edev, which was just not required at all.\n\nAlso, we change the parameter to request_irq and pass pointer to config\ninstead of pointer to rtc struct.\n\nThis patch brings all above changes.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nCc: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nCc: Deepak Sikri \u003cdeepak.sikri@st.com\u003e\nAcked-by: Rajeev Kumar \u003crajeev-dlh.kumar@st.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "131f8b75f1c00a5a822ff2103db588466e942490",
      "tree": "5d2f0476e3ceacbcecd4af0850fa4fc959819e15",
      "parents": [
        "cd0e08a8c9fb9c50d182d20e3bc52452c1ce1bfb"
      ],
      "author": {
        "name": "Shiraz Hashim",
        "email": "shiraz.hashim@st.com",
        "time": "Fri Mar 23 15:02:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "rtc/spear: fix for RTC_AIE_ON and RTC_AIE_OFF ioctl errors\n\nDefine API for \u0027.alarm_irq_enable\u0027 to enable and disable alarm irq. This\nis required by the framework else RTC_AIE_ON and RTC_AIE_OFF ioctls\nreturn errors.\n\nSigned-off-by: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nCc: Deepak Sikri \u003cdeepak.sikri@st.com\u003e\nAcked-by: Rajeev Kumar \u003crajeev-dlh.kumar@st.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd0e08a8c9fb9c50d182d20e3bc52452c1ce1bfb",
      "tree": "a05e21431c9f8812b3503dc6fe9c966743b0a4c4",
      "parents": [
        "0e0cb892a8dac7c76321c899934705e5f0812574"
      ],
      "author": {
        "name": "Deepak Sikri",
        "email": "deepak.sikri@st.com",
        "time": "Fri Mar 23 15:02:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "rtc-spear: fix for balancing the enable_irq_wake in Power Mgmt\n\nHandle the fix for unbalanced irq for the cases when enable_irq_wake\nfails, and a warning related to same is displayed on the console.  The\nworkaround is handled at the driver level.\n\nSigned-off-by: Deepak Sikri \u003cdeepak.sikri@st.com\u003e\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Rajeev Kumar \u003crajeev-dlh.kumar@st.com\u003e\nCc: Shiraz Hashim \u003cshiraz.hashim@st.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e0cb892a8dac7c76321c899934705e5f0812574",
      "tree": "cf58a9566e7fb6597d798b716b4b324950f23b30",
      "parents": [
        "8595c539f0360477189eef91f6337ba44962f72d"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard@bwalle.de",
        "time": "Fri Mar 23 15:02:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "init/do_mounts.c: print error code on mount failure\n\nPrinting the error code makes it easier to debug the cause of a mount\nfailure.  For example I had the problem that the root file system could\nnot be mounted read-writeable because my SD card was write-protected.\nWithout an error code it looks like the SD card was not detected at all.\n\nSigned-off-by: Bernhard Walle \u003cbernhard@bwalle.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8595c539f0360477189eef91f6337ba44962f72d",
      "tree": "b04493a7c330b2ba6f4a9a418890872a70104459",
      "parents": [
        "da0503aae07f0410b6ff0a9e1d1d011701eb2758"
      ],
      "author": {
        "name": "Diwakar Tundlam",
        "email": "dtundlam@nvidia.com",
        "time": "Fri Mar 23 15:02:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "init: check printed flag to skip printing message\n\nOtherwise the \u0027Calibration skipped\u0027 message gets printed everytime a CPU\nis hotplugged in, cluttering console for systems that frequently hotplug\nCPUs.\n\nSigned-off-by: Diwakar Tundlam \u003cdtundlam@nvidia.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Sameer Nanda \u003csnanda@chromium.org\u003e\nCc: Peter De Schrijver \u003cpdeschrijver@nvidia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da0503aae07f0410b6ff0a9e1d1d011701eb2758",
      "tree": "2912b9b6342a450b1d4cd9df09b0bc1de02235bb",
      "parents": [
        "02edc6fc4d5feb3357aa44ba521e5504b4ff0b60"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Mar 23 15:02:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "epoll: remove unneeded variable in reverse_path_check()\n\nWe never use the length variable.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02edc6fc4d5feb3357aa44ba521e5504b4ff0b60",
      "tree": "20c5f006dee327e42335b4f020452d11f26b78b7",
      "parents": [
        "626cf236608505d376e4799adb4f7eb00a8594af"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 23 15:02:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "epoll: comment the funky #ifdef\n\nLooking for a bug in -rt, I stumbled across this code here from: commit\n2dfa4eeab0fc (\"epoll keyed wakeups: teach epoll about hints coming with\nthe wakeup key\"), specifically:\n\n  #ifdef CONFIG_DEBUG_LOCK_ALLOC\n  static inline void ep_wake_up_nested(wait_queue_head_t *wqueue,\n                                      unsigned long events, int subclass)\n  {\n         unsigned long flags;\n\n         spin_lock_irqsave_nested(\u0026wqueue-\u003elock, flags, subclass);\n         wake_up_locked_poll(wqueue, events);\n         spin_unlock_irqrestore(\u0026wqueue-\u003elock, flags);\n  }\n  #else\n  static inline void ep_wake_up_nested(wait_queue_head_t *wqueue,\n                                      unsigned long events, int subclass)\n  {\n         wake_up_poll(wqueue, events);\n  }\n  #endif\n\nYou change the function of ep_wake_up_nested() depending on whether\nCONFIG_DEBUG_LOCK_ALLOC is set or not.  This looks awfully suspicious,\nand there\u0027s no comment to explain why.  I initially thought that this\nwas trying to fool lockdep, and hiding a real bug.\n\nInvestigating it, I found the creation of wake_up_nested() (which no\nlonger exists) but was created for the sole purpose of epoll and its\nstrange wake ups, as explained in commit 0ccf831cbee9 (\"lockdep:\nannotate epoll\")\n\nAlthough the commit message says \"annotate epoll\" the change log is much\nbetter at explaining what is happening than what is in the actual code.\nThus a comment is really necessary here.  And to save the time of other\ndevelopers from having to go trudging through the git logs trying to\nfigure out why this code exists.\n\nI took parts of the change log and placed it into a comment above the\naffected code.  This will make the description of what is happening more\nvisible to new developers that have to look at this code for the first\ntime.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "626cf236608505d376e4799adb4f7eb00a8594af",
      "tree": "eb0421fec1a7fed05cd9ea785bd18b5f40c80971",
      "parents": [
        "5cde7656d0dd222170eb0250bd1f70c9018fd438"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hans.verkuil@cisco.com",
        "time": "Fri Mar 23 15:02:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "poll: add poll_requested_events() and poll_does_not_wait() functions\n\nIn some cases the poll() implementation in a driver has to do different\nthings depending on the events the caller wants to poll for.  An example\nis when a driver needs to start a DMA engine if the caller polls for\nPOLLIN, but doesn\u0027t want to do that if POLLIN is not requested but instead\nonly POLLOUT or POLLPRI is requested.  This is something that can happen\nin the video4linux subsystem among others.\n\nUnfortunately, the current epoll/poll/select implementation doesn\u0027t\nprovide that information reliably.  The poll_table_struct does have it: it\nhas a key field with the event mask.  But once a poll() call matches one\nor more bits of that mask any following poll() calls are passed a NULL\npoll_table pointer.\n\nAlso, the eventpoll implementation always left the key field at ~0 instead\nof using the requested events mask.\n\nThis was changed in eventpoll.c so the key field now contains the actual\nevents that should be polled for as set by the caller.\n\nThe solution to the NULL poll_table pointer is to set the qproc field to\nNULL in poll_table once poll() matches the events, not the poll_table\npointer itself.  That way drivers can obtain the mask through a new\npoll_requested_events inline.\n\nThe poll_table_struct can still be NULL since some kernel code calls it\ninternally (netfs_state_poll() in ./drivers/staging/pohmelfs/netfs.h).  In\nthat case poll_requested_events() returns ~0 (i.e.  all events).\n\nVery rarely drivers might want to know whether poll_wait will actually\nwait.  If another earlier file descriptor in the set already matched the\nevents the caller wanted to wait for, then the kernel will return from the\nselect() call without waiting.  This might be useful information in order\nto avoid doing expensive work.\n\nA new helper function poll_does_not_wait() is added that drivers can use\nto detect this situation.  This is now used in sock_poll_wait() in\ninclude/net/sock.h.  This was the only place in the kernel that needed\nthis information.\n\nDrivers should no longer access any of the poll_table internals, but use\nthe poll_requested_events() and poll_does_not_wait() access functions\ninstead.  In order to enforce that the poll_table fields are now prepended\nwith an underscore and a comment was added warning against using them\ndirectly.\n\nThis required a change in unix_dgram_poll() in unix/af_unix.c which used\nthe key field to get the requested events.  It\u0027s been replaced by a call\nto poll_requested_events().\n\nFor qproc it was especially important to change its name since the\nbehavior of that field changes with this patch since this function pointer\ncan now be NULL when that wasn\u0027t possible in the past.\n\nAny driver accessing the qproc or key fields directly will now fail to compile.\n\nSome notes regarding the correctness of this patch: the driver\u0027s poll()\nfunction is called with a \u0027struct poll_table_struct *wait\u0027 argument.  This\npointer may or may not be NULL, drivers can never rely on it being one or\nthe other as that depends on whether or not an earlier file descriptor in\nthe select()\u0027s fdset matched the requested events.\n\nThere are only three things a driver can do with the wait argument:\n\n1) obtain the key field:\n\n\tevents \u003d wait ? wait-\u003ekey : ~0;\n\n   This will still work although it should be replaced with the new\n   poll_requested_events() function (which does exactly the same).\n   This will now even work better, since wait is no longer set to NULL\n   unnecessarily.\n\n2) use the qproc callback. This could be deadly since qproc can now be\n   NULL. Renaming qproc should prevent this from happening. There are no\n   kernel drivers that actually access this callback directly, BTW.\n\n3) test whether wait \u003d\u003d NULL to determine whether poll would return without\n   waiting. This is no longer sufficient as the correct test is now\n   wait \u003d\u003d NULL || wait-\u003e_qproc \u003d\u003d NULL.\n\n   However, the worst that can happen here is a slight performance hit in\n   the case where wait !\u003d NULL and wait-\u003e_qproc \u003d\u003d NULL. In that case the\n   driver will assume that poll_wait() will actually add the fd to the set\n   of waiting file descriptors. Of course, poll_wait() will not do that\n   since it tests for wait-\u003e_qproc. This will not break anything, though.\n\n   There is only one place in the whole kernel where this happens\n   (sock_poll_wait() in include/net/sock.h) and that code will be replaced\n   by a call to poll_does_not_wait() in the next patch.\n\n   Note that even if wait-\u003e_qproc !\u003d NULL drivers cannot rely on poll_wait()\n   actually waiting. The next file descriptor from the set might match the\n   event mask and thus any possible waits will never happen.\n\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nReviewed-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nReviewed-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@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": "5cde7656d0dd222170eb0250bd1f70c9018fd438",
      "tree": "6ebd5b76968f84d5fd8545cfe3400162d76d222c",
      "parents": [
        "577eba9e22e872574c466648b46eeb3e0d04372e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Mar 23 15:02:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "crc32: select an algorithm via Kconfig\n\nAllow the kernel builder to choose a crc32* algorithm for the kernel.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "577eba9e22e872574c466648b46eeb3e0d04372e",
      "tree": "725d141dad7d04d5fc776429eafa82e27fc0a8d2",
      "parents": [
        "6a0962b22eccc70b8421014022c07efcf194a95e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Mar 23 15:02:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "crc32: add self-test code for crc32c\n\nAdd self-test code for crc32c.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a0962b22eccc70b8421014022c07efcf194a95e",
      "tree": "b5f6583deeb3ca02f837ac446e1ecdea10b8a54b",
      "parents": [
        "46c5801eaf86e83cb3a4142ad35188db5011fff0"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Mar 23 15:02:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "crypto: crc32c should use library implementation\n\nSince lib/crc32.c now provides crc32c, remove the software implementation\nhere and call the library function instead.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46c5801eaf86e83cb3a4142ad35188db5011fff0",
      "tree": "2b8a8f7709aa7dadafdf13f823488cf51e2e2fed",
      "parents": [
        "78dff4189708d07cdcaf7bfd1b04ebe78ac9c041"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Mar 23 15:02:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "crc32: bolt on crc32c\n\nReuse the existing crc32 code to stamp out a crc32c implementation.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78dff4189708d07cdcaf7bfd1b04ebe78ac9c041",
      "tree": "be5ac559beab9f582505d8954cb1b67cc5fa7e3b",
      "parents": [
        "0292c497b6b942557d085b37f888ef5865f67d37"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "crc32: add note about this patchset to crc32.c\n\nAdd a comment at the top of crc32.c\n\n[djwong@us.ibm.com: Minor changelog tweaks]\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "0292c497b6b942557d085b37f888ef5865f67d37",
      "tree": "fe88508060c0ecdf8fb3d5e98ca2c55057cc5068",
      "parents": [
        "324eb0f17d9dcead3c60c133aa244f6b3631fec9"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "crc32: optimize loop counter for x86\n\nAdd two changes that improve the performance of x86 systems\n\n1. replace main loop with incrementing counter this change improves\n   the performance of the selftest by about 5-6% on Nehalem CPUs.  The\n   apparent reason is that the compiler can use the loop index to perform\n   an indexed memory access.  This is reported to make the performance of\n   PowerPC CPUs to get worse.\n\n2. replace the rem_len loop with incrementing counter this change\n   improves the performance of the selftest, which has more than the usual\n   number of occurances, by about 1-2% on x86 CPUs.  In actual work loads\n   the length is most often a multiple of 4 bytes and this code does not\n   get executed as often if at all.  Again this change is reported to make\n   the performance of PowerPC get worse.\n\n[djwong@us.ibm.com: Minor changelog tweaks]\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "324eb0f17d9dcead3c60c133aa244f6b3631fec9",
      "tree": "657c564269a0fc1921f4252dbf0184725f5c85fa",
      "parents": [
        "9a1dbf6a29694c9d81b498019f103aee0f8b5b6c"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "crc32: add slice-by-8 algorithm to existing code\n\nAdd slicing-by-8 algorithm to the existing slicing-by-4 algorithm.  This\nconsists of:\n\n- extend largest BITS size from 32 to 64\n- extend tables from tab[4][256] to up to tab[8][256]\n- Add code for inner loop.\n\n[djwong@us.ibm.com: Minor changelog tweaks]\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "9a1dbf6a29694c9d81b498019f103aee0f8b5b6c",
      "tree": "1f331fa108ea29ccf06a7b5816da4dbcaa12bf2d",
      "parents": [
        "ce4320ddda4c2520fe77194d3c801ad4e8a8aa11"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "crc32: make CRC_*_BITS definition correspond to actual bit counts\n\ncrc32.c provides a choice of one of several algorithms for computing the\nLSB and LSB versions of the CRC32 checksum based on the parameters\nCRC_LE_BITS and CRC_BE_BITS.\n\nIn the original version the values 1, 2, 4 and 8 respectively selected\nversions of the alrogithm that computed the crc 1, 2, 4 and 32 bits as a\ntime.\n\nThis patch series adds a new version that computes the CRC 64 bits at a\ntime.  To make things easier to understand the parameter has been\nreinterpreted to actually stand for the number of bits processed in each\nstep of the algorithm so that the old value 8 has been replaced with the\nvalue 32.\n\nThis also allows us to add in a widely used crc algorithm that computes\nthe crc 8 bits at a time called the Sarwate algorithm.\n\n[djwong@us.ibm.com: Minor changelog tweaks]\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "ce4320ddda4c2520fe77194d3c801ad4e8a8aa11",
      "tree": "273b405fa1d10a185123d216fd33286d50de74f0",
      "parents": [
        "60e58d5c9d8d698600e8ccb44b5a13cf99d0d90f"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "crc32: fix mixing of endian-specific types\n\ncrc32.c in its original version freely mixed u32, __le32 and __be32 types\nwhich caused warnings from sparse with __CHECK_ENDIAN__.  This patch fixes\nthese by forcing the types to u32.\n\n[djwong@us.ibm.com: Minor changelog tweaks]\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "60e58d5c9d8d698600e8ccb44b5a13cf99d0d90f",
      "tree": "81912b32deaf6edf23a00f0f92f82efa95f6af52",
      "parents": [
        "3863ef31dcf04f977a94402348fec06179db58e0"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "crc32: miscellaneous cleanups\n\nMisc cleanup of lib/crc32.c and related files.\n\n- remove unnecessary header files.\n\n- straighten out some convoluted ifdef\u0027s\n\n- rewrite some references to 2 dimensional arrays as 1 dimensional\n  arrays to make them correct.  I.e.  replace tab[i] with tab[0][i].\n\n- a few trivial whitespace changes\n\n- fix a warning in gen_crc32tables.c caused by a mismatch in the type of\n  the pointer passed to output table.  Since the table is only used at\n  kernel compile time, it is simpler to make the table big enough to hold\n  the largest column size used.  One cannot make the column size smaller\n  in output_table because it has to be used by both the le and be tables\n  and they can have different column sizes.\n\n[djwong@us.ibm.com: Minor changelog tweaks]\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "3863ef31dcf04f977a94402348fec06179db58e0",
      "tree": "98c50d517472247290b6ccad62b7575d688e0dd6",
      "parents": [
        "fbedceb10066430b925cf43fbf926e8abb9e2359"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "crc32: simplify unit test code\n\nReplace the unit test provided in crc32.c, which doesn\u0027t have a makefile\nand doesn\u0027t compile with current headers, with a simpler self test\nroutine that also gives a measure of performance and runs at module init\ntime.  The self test option can be enabled through a configuration\noption CONFIG_CRC32_SELFTEST.\n\nThe test stresses the pre and post loops and is thus not very realistic\nsince actual uses will likely have addresses and lengths that are at\nleast 4 byte aligned.  However, the main loop is long enough so that the\nperformance is dominated by that loop.\n\nThe expected values for crc32_le and crc32_be were generated with the\noriginal version of crc32.c using CRC_BITS_LE \u003d 8 and CRC_BITS_BE \u003d 8.\nThese values were then used to check all the values of the BITS\nparameters in both the original and new versions.\n\nThe performance results show some variability from run to run in spite\nof attempts to both warm the cache and reduce the amount of OS noise by\nlimiting interrutps during the test.  To get comparable results and to\nanalyse options wrt performance the best time reported over a small\nsample of runs has been taken.\n\n[djwong@us.ibm.com: Minor changelog tweaks]\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "fbedceb10066430b925cf43fbf926e8abb9e2359",
      "tree": "ea4f9453fd810c82c106df1e5b5932894ddcadd5",
      "parents": [
        "e30c7a8fcf2d5bba53ea07047b1a0f9161da1078"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "crc32: move long comment about crc32 fundamentals to Documentation/\n\nMove a long comment from lib/crc32.c to Documentation/crc32.txt where it\nwill more likely get read.\n\nEdited the resulting document to add an explanation of the slicing-by-n\nalgorithm.\n\n[djwong@us.ibm.com: minor changelog tweaks]\n[akpm@linux-foundation.org: fix typo, per George]\nSigned-off-by: George Spelvin \u003clinux@horizon.com\u003e\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "e30c7a8fcf2d5bba53ea07047b1a0f9161da1078",
      "tree": "bf74fdfade35deb05efc2a639305193964bbe1da",
      "parents": [
        "ca56dc098caf93b5437cd6c4ee49f02aa18f84d6"
      ],
      "author": {
        "name": "Bob Pearson",
        "email": "rpearson@systemfabricworks.com",
        "time": "Fri Mar 23 15:02:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "crc32: remove two instances of trailing whitespaces\n\nThis patchset (re)uses Bob Pearson\u0027s crc32 slice-by-8 code to stamp out\na software crc32c implementation.  It removes the crc32c implementation\nin crypto/ in favor of using the stamped-out one in lib/.  There is also\na change to Kconfig so that the kernel builder can pick an\nimplementation best suited for the hardware.\n\nThe motivation for this patchset is that I am working on adding full\nmetadata checksumming to ext4.  As far as performance impact of adding\nchecksumming goes, I see nearly no change with a standard mail server\nffsb simulation.  On a test that involves only file creation and\ndeletion and extent tree writes, I see a drop of about 50 pcercent with\nthe current kernel crc32c implementation; this improves to a drop of\nabout 20 percent with the enclosed crc32c code.\n\nWhen metadata is usually a small fraction of total IO, this new\nimplementation doesn\u0027t help much because metadata is usually a small\nfraction of total IO.  However, when we are doing IO that is almost all\nmetadata (such as rm -rf\u0027ing a tree), then this patch speeds up the\noperation substantially.\n\nIncidentally, given that iscsi, sctp, and btrfs also use crc32c, this\npatchset should improve their speed as well.  I have not yet quantified\nthat, however.  This latest submission combines Bob\u0027s patches from late\nAugust 2011 with mine so that they can be one coherent patch set.\nPlease excuse my inability to combine some of the patches; I\u0027ve been\nadvised to leave Bob\u0027s patches alone and build atop them instead.  :/\n\nSince the last posting, I\u0027ve also collected some crc32c test results on\na bunch of different x86/powerpc/sparc platforms.  The results can be\nviewed here: http://goo.gl/sgt3i ; the \"crc32-kern-le\" and \"crc32c\"\ncolumns describe the performance of the kernel\u0027s current crc32 and\ncrc32c software implementations.  The \"crc32c-by8-le\" column shows\ncrc32c performance with this patchset applied.  I expect crc32\nperformance to be roughly the same.\n\nThe two _boost columns at the right side of the spreadsheet shows how much\nfaster the new implementation is over the old one.  As you can see, crc32\nrises substantially, and crc32c experiences a huge increase.\n\nThis patch:\n\n- remove trailing whitespace from lib/crc32.c\n- remove trailing whitespace from lib/crc32defs.h\n\n[djwong@us.ibm.com: changelog tweaks]\nSigned-off-by: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.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": "ca56dc098caf93b5437cd6c4ee49f02aa18f84d6",
      "tree": "0bc689836c48cf91fcc5ca37db7753b5fa7d9fa3",
      "parents": [
        "6712d85852b348d07301c7480f7eb3312d329143"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Fri Mar 23 15:02:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "checkpatch: check for quoted strings broken across lines\n\ncheckpatch already makes an exception to the 80-column rule for quoted\nstrings, and Documentation/CodingStyle recommends not splitting quoted\nstrings across lines, because it breaks the ability to grep for the\nstring.  Rather than just permitting this, actively warn about quoted\nstrings split across lines.\n\nTest case:\n\nvoid context(void)\n{\n\tstruct { unsigned magic; const char *strdata; } foo[] \u003d {\n\t\t{ 42, \"these strings\"\n\t\t      \"do not produce warnings\" },\n\t\t{ 256, \"though perhaps\"\n\t\t       \"they should\" },\n\t};\n\tpr_err(\"this string\"\n\t       \" should produce a warning\\n\");\n\tpr_err(\"this multi-line string\\n\"\n\t       \"should not produce a warning\\n\");\n\tasm (\"this asm\\n\\t\"\n\t     \"should not produce a warning\");\n}\n\nResults of checkpatch on that test case:\n\nWARNING: quoted string split across lines\n+\t       \" should produce a warning\\n\");\n\ntotal: 0 errors, 1 warnings, 15 lines checked\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nAcked-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6712d85852b348d07301c7480f7eb3312d329143",
      "tree": "dbb4fdfc2dcafb9e22a2a5daed673fb172721605",
      "parents": [
        "2c92488ab29886d08766c054afc8dd0f19c724f1"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 23 15:02:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "checkpatch: whitespace - add/remove blank lines\n\nAdd blank lines between a few tests, remove an extraneous one.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c92488ab29886d08766c054afc8dd0f19c724f1",
      "tree": "c1a42d6c825de9b0f3bf239d9a1a086a4b4422ce",
      "parents": [
        "aad4f61498314d41d047ea2161b7bd7237b72d33"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 23 15:02:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "checkpatch: warn on use of yield()\n\nUsing yield() is generally wrong.  Warn on its use.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aad4f61498314d41d047ea2161b7bd7237b72d33",
      "tree": "503836c82abeaed36ad119538fa3cbb7b8d94b24",
      "parents": [
        "b337d8b82f235d0212f7adcaeb431fd4e688bb98"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 23 15:02:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:37 2012 -0700"
      },
      "message": "checkpatch: add --strict tests for braces, comments and casts\n\nAdd some more subjective --strict tests.\n\nAdd a test for block comments that start with a blank line followed only\nby a line with just the comment block initiator.  Prefer a blank line\nfollowed by /* comment...\n\nAdd a test for unnecessary spaces after a cast.\n\nAdd a test for symmetric uses of braces in if/else blocks.\nIf one branch needs braces, then all branches should use braces.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b337d8b82f235d0212f7adcaeb431fd4e688bb98",
      "tree": "1caccc45dbd1edfec3ff4d02e268f76444330ccf",
      "parents": [
        "fd1b57ac73f169a5ba7a9569989aad40184f6340"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Mar 23 15:02:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "checkpatch: add [] to type extensions\n\nAdd [] to a type extensions.  Fixes false positives on:\n\n    .attrs \u003d (struct attribute *[]) {\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd1b57ac73f169a5ba7a9569989aad40184f6340",
      "tree": "7a188a1f50c00a86e790acc406fb96db45294850",
      "parents": [
        "e45bab8ebfee65ba89b228c1e7c64a6cb0812124"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Mar 23 15:02:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "checkpatch: high precedence operators do not require additional parentheses in #defines\n\nWith any very high precedence operator it is not necessary to enforce\nadditional parentheses around simple negated expressions.  This prevents\nus requesting further perentheses around the following:\n\n    #define PMEM_IS_FREE(id, index) !(pmem[id].bitmap[index].allocated)\n\nFor now add logical and bitwise not and unary minus.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e45bab8ebfee65ba89b228c1e7c64a6cb0812124",
      "tree": "fe61be22fa4438d5bd132712e730daca9cbf341b",
      "parents": [
        "b9df76ac76da351cd4f6ba52369e9a64e9ab686d"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Mar 23 15:02:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "checkpatch: handle string concatenation in simple #defines\n\nAdjacent strings indicate concatentation, therefore look at identifiers\ndirectly adjacent to literal strings as strings too.  This allows us to\nbetter detect the form below and accept it as a simple constant:\n\n    #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9df76ac76da351cd4f6ba52369e9a64e9ab686d",
      "tree": "b02d82a012dbf249d8b8f89b530681eaa26e52bd",
      "parents": [
        "daebc534ac15f991961a5bb433e515988220e9bf"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Mar 23 15:02:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "checkpatch: allow simple character constants in #defines\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "daebc534ac15f991961a5bb433e515988220e9bf",
      "tree": "add72230235f44a56111cad80913985ad24aaf6d",
      "parents": [
        "11232688ec41a507cdb476fc4e88aff8a3a34c3c"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Mar 23 15:02:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "checkpatch: catch [ ... ] usage when not at the beginning of definition\n\nHandle the [ A ... B ] form deeper into a definition, for example:\n\n    static const unsigned char pci_irq_swizzle[2][PCI_MAX_DEVICES] \u003d {\n\t    {0, 0, 0, 0, 0, 0, 0, 27, 27, [9 ... PCI_MAX_DEVICES - 1] \u003d 0 },\n\t    {0, 0, 0, 0, 0, 0, 0, 29, 29, [9 ... PCI_MAX_DEVICES - 1] \u003d 0 },\n    };\n\nReported-by: Marek Vasut \u003cmarek.vasut@gmail.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11232688ec41a507cdb476fc4e88aff8a3a34c3c",
      "tree": "4b8aa11d480277531d3c96cf7acf5180540269d8",
      "parents": [
        "d1fe9c099cecc6e49324355f1b15573e9dbbe0f9"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "dedekind1@gmail.com",
        "time": "Fri Mar 23 15:02:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "checkpatch.pl: be silent when -q and --ignore is given\n\nFix checkpatch.pl when both -q and --ignore are given and prevents it from\nprinting a\n\nNOTE: Ignored message types: blah\n\nmessages.\n\nE.g., if I use -q --ignore PREFER_PACKED,PREFER_ALIGNED, i see:\n\nNOTE: Ignored message types: PREFER_ALIGNED PREFER_PACKED\n\nIt makes no sense to print this when -q is given.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1fe9c099cecc6e49324355f1b15573e9dbbe0f9",
      "tree": "3b9fc1b4ac53907623b73e4967fed8b1ead12a58",
      "parents": [
        "6061d949dd984c762ee272a88e77699fa675d1c8"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 23 15:02:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "checkpatch: add some --strict coding style checks\n\nArgument alignment across multiple lines should match the open\nparenthesis.\n\nLogical continuations should be at the end of the previous line, not the\nstart of a new line.\n\nThese are not required by CodingStyle so make the tests active only when\nusing --strict.\n\nImproved by some examples from Bruce Allen.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"Bruce W. Allen\" \u003cbruce.w.allan@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6061d949dd984c762ee272a88e77699fa675d1c8",
      "tree": "2e19eecd34a716fc5ed9fa3f18a7db0a3edf6f5b",
      "parents": [
        "97e834c5040b85e133d8d922111a62b2b853a406"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 23 15:02:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "include/ and checkpatch: prefer __scanf to __attribute__((format(scanf,...)\n\nIt\u0027s equivalent to __printf, so prefer __scanf.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97e834c5040b85e133d8d922111a62b2b853a406",
      "tree": "ab6f4b07f725fcf600490eca2dea037f75f96746",
      "parents": [
        "742245d5c2ebd75c2a002f8fc2afbdc5c26edd8c"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Mar 23 15:02:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "prio_tree: introduce prio_set_parent()\n\nIntroduce prio_set_parent() to abstract the operation which is used to\nattach the node to its parent.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@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": "742245d5c2ebd75c2a002f8fc2afbdc5c26edd8c",
      "tree": "1634d6ce2eaec1c05034735b6a82f05894cfea95",
      "parents": [
        "f35368dd1cef11cdd310b07c74d74f45e3469c64"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Mar 23 15:02:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "prio_tree: simplify prio_tree_expand()\n\nIn current code, the deleted-node is recorded from first to last,\nactually, we can directly attach these node on \u0027node\u0027 we will insert as\nthe left child, it can let the code more readable.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@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": "f35368dd1cef11cdd310b07c74d74f45e3469c64",
      "tree": "beefa4e4759f29917749fcdfb2102adc16d48cda",
      "parents": [
        "f42240d729b97a01e863b8c24177ec4e54885357"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Mar 23 15:02:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "prio_tree: cleanup prio_tree_left()/prio_tree_right()\n\nIntroduce iter_walk_down()/iter_walk_up() to remove the common code\nbetween prio_tree_left() and prio_tree_right().\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@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"
    }
  ],
  "next": "f42240d729b97a01e863b8c24177ec4e54885357"
}
