)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "f42240d729b97a01e863b8c24177ec4e54885357",
      "tree": "eca03750275e38cba74daa9f04a0523268bfca58",
      "parents": [
        "f43804bf5f9ae1e60077c5f22aee5fdfe4f09837"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Mar 23 15:02:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:36 2012 -0700"
      },
      "message": "prio_tree: remove unnecessary code in prio_tree_replace\n\nRemove the code since \u0027node\u0027 has already been initialized in the begin of\nthe function\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": "f43804bf5f9ae1e60077c5f22aee5fdfe4f09837",
      "tree": "61e2dcaef0ab774d5cd68a89859f569d54fa7f78",
      "parents": [
        "a403d930c58eb8448f81fa90c125ac36dc8ef89d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Mar 23 15:02:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:35 2012 -0700"
      },
      "message": "string: memchr_inv() speed improvements\n\n- Generate a 64-bit pattern more efficiently\n\nmemchr_inv needs to generate a 64-bit pattern filled with a target\ncharacter.  The operation can be done by more efficient way.\n\n- Don\u0027t call the slow check_bytes() if the memory area is 64-bit aligned\n\nmemchr_inv compares contiguous 64-bit words with the 64-bit pattern as\nmuch as possible.  The outside of the region is checked by check_bytes()\nthat scans for each byte.  Unfortunately, the first 64-bit word is\nunexpectedly scanned by check_bytes() even if the memory area is aligned\nto a 64-bit boundary.\n\nBoth changes were originally suggested by Eric Dumazet.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSuggested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Brian Norris \u003ccomputersforpeace@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": "d314d74c695f967e10598467a326f41c78ed1e20",
      "tree": "71fabe9cf1f2b99f16f7f9cc3f809955038a2d0c",
      "parents": [
        "b502bd1152472dc1b98c60434f23c23b280c7b94"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Fri Mar 23 15:01:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:31 2012 -0700"
      },
      "message": "nmi watchdog: do not use cpp symbol in Kconfig\n\nARCH_HAS_NMI_WATCHDOG is a macro defined by arch, but config\nHARDLOCKUP_DETECTOR depends on it.  This is wrong, ARCH_HAS_NMI_WATCHDOG\nhas to be a Kconfig config, and arch\u0027s need it should select it\nexplicitly.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\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": "9f7de8275b46d9d11b1505adbfe6c2bb48df4741",
      "tree": "7495111b20585e6e4da20d1b46b7a3747903ce2a",
      "parents": [
        "0e79dedde951e981612ed4e6d74873d61d2a113b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Mar 21 16:34:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 17:55:01 2012 -0700"
      },
      "message": "idr: make idr_get_next() good for rcu_read_lock()\n\nMake one small adjustment to idr_get_next(): take the height from the top\nlayer (stable under RCU) instead of from the root (unprotected by RCU), as\nidr_find() does: so that it can be used with RCU locking.  Copied comment\non RCU locking from idr_find().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@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": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "4a52246302f01596f0edf7b4a3e6425e23479192",
      "tree": "f384d86722d3ccfc875e3e5e8d8726e993a922ee",
      "parents": [
        "9f9d2760da8c7f94fae119fac3e13d5a1702f8f0",
        "adc80ae60eae24a43a357bf5b30fb496f34aa605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:16:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:16:20 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core patches for 3.4-rc1 from Greg KH:\n \"Here\u0027s the big driver core merge for 3.4-rc1.\n\n  Lots of various things here, sysfs fixes/tweaks (with the nlink\n  breakage reverted), dynamic debugging updates, w1 drivers, hyperv\n  driver updates, and a variety of other bits and pieces, full\n  information in the shortlog.\"\n\n* tag \u0027driver-core-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (78 commits)\n  Tools: hv: Support enumeration from all the pools\n  Tools: hv: Fully support the new KVP verbs in the user level daemon\n  Drivers: hv: Support the newly introduced KVP messages in the driver\n  Drivers: hv: Add new message types to enhance KVP\n  regulator: Support driver probe deferral\n  Revert \"sysfs: Kill nlink counting.\"\n  uevent: send events in correct order according to seqnum (v3)\n  driver core: minor comment formatting cleanups\n  driver core: move the deferred probe pointer into the private area\n  drivercore: Add driver probe deferral mechanism\n  DS2781 Maxim Stand-Alone Fuel Gauge battery and w1 slave drivers\n  w1_bq27000: Only one thread can access the bq27000 at a time.\n  w1_bq27000 - remove w1_bq27000_write\n  w1_bq27000: remove unnecessary NULL test.\n  sysfs: Fix memory leak in sysfs_sd_setsecdata().\n  intel_idle: Revert change of auto_demotion_disable_flags for Nehalem\n  w1: Fix w1_bq27000\n  driver-core: documentation: fix up Greg\u0027s email address\n  powernow-k6: Really enable auto-loading\n  powernow-k7: Fix CPU family number\n  ...\n"
    },
    {
      "commit": "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
      "tree": "0dbb83e57260ea7fc0dc421f214d5f1b26262005",
      "parents": [
        "0bbfcaff9b2a69c71a95e6902253487ab30cb498",
        "bea95c152dee1791dd02cbc708afbb115bb00f9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf events changes for v3.4 from Ingo Molnar:\n\n - New \"hardware based branch profiling\" feature both on the kernel and\n   the tooling side, on CPUs that support it.  (modern x86 Intel CPUs\n   with the \u0027LBR\u0027 hardware feature currently.)\n\n   This new feature is basically a sophisticated \u0027magnifying glass\u0027 for\n   branch execution - something that is pretty difficult to extract from\n   regular, function histogram centric profiles.\n\n   The simplest mode is activated via \u0027perf record -b\u0027, and the result\n   looks like this in perf report:\n\n\t$ perf record -b any_call,u -e cycles:u branchy\n\n\t$ perf report -b --sort\u003dsymbol\n\t    52.34%  [.] main                   [.] f1\n\t    24.04%  [.] f1                     [.] f3\n\t    23.60%  [.] f1                     [.] f2\n\t     0.01%  [k] _IO_new_file_xsputn    [k] _IO_file_overflow\n\t     0.01%  [k] _IO_vfprintf_internal  [k] _IO_new_file_xsputn\n\t     0.01%  [k] _IO_vfprintf_internal  [k] strchrnul\n\t     0.01%  [k] __printf               [k] _IO_vfprintf_internal\n\t     0.01%  [k] main                   [k] __printf\n\n   This output shows from/to branch columns and shows the highest\n   percentage (from,to) jump combinations - i.e.  the most likely taken\n   branches in the system.  \"branches\" can also include function calls\n   and any other synchronous and asynchronous transitions of the\n   instruction pointer that are not \u0027next instruction\u0027 - such as system\n   calls, traps, interrupts, etc.\n\n   This feature comes with (hopefully intuitive) flat ascii and TUI\n   support in perf report.\n\n - Various \u0027perf annotate\u0027 visual improvements for us assembly junkies.\n   It will now recognize function calls in the TUI and by hitting enter\n   you can follow the call (recursively) and back, amongst other\n   improvements.\n\n - Multiple threads/processes recording support in perf record, perf\n   stat, perf top - which is activated via a comma-list of PIDs:\n\n\tperf top -p 21483,21485\n\tperf stat -p 21483,21485 -ddd\n\tperf record -p 21483,21485\n\n - Support for per UID views, via the --uid paramter to perf top, perf\n   report, etc.  For example \u0027perf top --uid mingo\u0027 will only show the\n   tasks that I am running, excluding other users, root, etc.\n\n - Jump label restructurings and improvements - this includes the\n   factoring out of the (hopefully much clearer) include/linux/static_key.h\n   generic facility:\n\n\tstruct static_key key \u003d STATIC_KEY_INIT_FALSE;\n\n\t...\n\n\tif (static_key_false(\u0026key))\n\t        do unlikely code\n\telse\n\t        do likely code\n\n\t...\n\tstatic_key_slow_inc();\n\t...\n\tstatic_key_slow_inc();\n\t...\n\n   The static_key_false() branch will be generated into the code with as\n   little impact to the likely code path as possible.  the\n   static_key_slow_*() APIs flip the branch via live kernel code patching.\n\n   This facility can now be used more widely within the kernel to\n   micro-optimize hot branches whose likelihood matches the static-key\n   usage and fast/slow cost patterns.\n\n - SW function tracer improvements: perf support and filtering support.\n\n - Various hardenings of the perf.data ABI, to make older perf.data\u0027s\n   smoother on newer tool versions, to make new features integrate more\n   smoothly, to support cross-endian recording/analyzing workflows\n   better, etc.\n\n - Restructuring of the kprobes code, the splitting out of \u0027optprobes\u0027,\n   and a corner case bugfix.\n\n - Allow the tracing of kernel console output (printk).\n\n - Improvements/fixes to user-space RDPMC support, allowing user-space\n   self-profiling code to extract PMU counts without performing any\n   system calls, while playing nice with the kernel side.\n\n - \u0027perf bench\u0027 improvements\n\n - ... and lots of internal restructurings, cleanups and fixes that made\n   these features possible.  And, as usual this list is incomplete as\n   there were also lots of other improvements\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (120 commits)\n  perf report: Fix annotate double quit issue in branch view mode\n  perf report: Remove duplicate annotate choice in branch view mode\n  perf/x86: Prettify pmu config literals\n  perf report: Enable TUI in branch view mode\n  perf report: Auto-detect branch stack sampling mode\n  perf record: Add HEADER_BRANCH_STACK tag\n  perf record: Provide default branch stack sampling mode option\n  perf tools: Make perf able to read files from older ABIs\n  perf tools: Fix ABI compatibility bug in print_event_desc()\n  perf tools: Enable reading of perf.data files from different ABI rev\n  perf: Add ABI reference sizes\n  perf report: Add support for taken branch sampling\n  perf record: Add support for sampling taken branch\n  perf tools: Add code to support PERF_SAMPLE_BRANCH_STACK\n  x86/kprobes: Split out optprobe related code to kprobes-opt.c\n  x86/kprobes: Fix a bug which can modify kernel code permanently\n  x86/kprobes: Fix instruction recovery on optimized path\n  perf: Add callback to flush branch_stack on context switch\n  perf: Disable PERF_SAMPLE_BRANCH_* when not supported\n  perf/x86: Add LBR software filter support for Intel CPUs\n  ...\n"
    },
    {
      "commit": "5928a2b60cfdbad730f93696acab142d0b607280",
      "tree": "49bb21c9219673e61bad7a7c9202c7f25f5fe1be",
      "parents": [
        "5ed59af85077d28875a3a137b21933aaf1b4cd50",
        "bdd4431c8d071491a68a65d9457996f222b5ecd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 17:12:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU changes for v3.4 from Ingo Molnar.  The major features of this\nseries are:\n\n - making RCU more aggressive about entering dyntick-idle mode in order\n   to improve energy efficiency\n\n - converting a few more call_rcu()s to kfree_rcu()s\n\n - applying a number of rcutree fixes and cleanups to rcutiny\n\n - removing CONFIG_SMP #ifdefs from treercu\n\n - allowing RCU CPU stall times to be set via sysfs\n\n - adding CPU-stall capability to rcutorture\n\n - adding more RCU-abuse diagnostics\n\n - updating documentation\n\n - fixing yet more issues located by the still-ongoing top-to-bottom\n   inspection of RCU, this time with a special focus on the CPU-hotplug\n   code path.\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)\n  rcu: Stop spurious warnings from synchronize_sched_expedited\n  rcu: Hold off RCU_FAST_NO_HZ after timer posted\n  rcu: Eliminate softirq-mediated RCU_FAST_NO_HZ idle-entry loop\n  rcu: Add RCU_NONIDLE() for idle-loop RCU read-side critical sections\n  rcu: Allow nesting of rcu_idle_enter() and rcu_idle_exit()\n  rcu: Remove redundant check for rcu_head misalignment\n  PTR_ERR should be called before its argument is cleared.\n  rcu: Convert WARN_ON_ONCE() in rcu_lock_acquire() to lockdep\n  rcu: Trace only after NULL-pointer check\n  rcu: Call out dangers of expedited RCU primitives\n  rcu: Rework detection of use of RCU by offline CPUs\n  lockdep: Add CPU-idle/offline warning to lockdep-RCU splat\n  rcu: No interrupt disabling for rcu_prepare_for_idle()\n  rcu: Move synchronize_sched_expedited() to rcutree.c\n  rcu: Check for illegal use of RCU from offlined CPUs\n  rcu: Update stall-warning documentation\n  rcu: Add CPU-stall capability to rcutorture\n  rcu: Make documentation give more realistic rcutorture duration\n  rcutorture: Permit holding off CPU-hotplug operations during boot\n  rcu: Print scheduling-clock information on RCU CPU stall-warning messages\n  ...\n"
    },
    {
      "commit": "c3eede8e0a1292d95c051cf947738687b9c42322",
      "tree": "2c49ee2ddfa1115b45c72cc995f7b6503ea55b64",
      "parents": [
        "0de9a1e28a0d005f42c8cc5456a246710133b9ab"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:39 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:27 2012 +0800"
      },
      "message": "lib: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "35239e23c66f1614c76739b62a299c3c92d6eb68",
      "tree": "7b1e068df888ec9a00b43c1dd7517a6490da6a94",
      "parents": [
        "3f33ab1c0c741bfab2138c14ba1918a7905a1e8b",
        "87e24f4b67e68d9fd8df16e0bf9c66d1ad2a2533"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:07 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:11 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "930c514f6960454a5082f7e533bd2867df6fe9cb",
      "tree": "91da120b6954c142063c83602631e52376e12a71",
      "parents": [
        "dfd25ffffc132c00070eed64200e8950da5d7e9d"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Mar 11 19:59:43 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 11 19:59:43 2012 -0700"
      },
      "message": "dql: Fix undefined jiffies\n\nIn some configurations, jiffies may be undefined in\nlib/dynamic_queue_limits.c.  Adding include of jiffies.h to avoid\nthis.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "263a5c8e16c34199ddf6de3f102e789ffa3ee26e",
      "tree": "4f049e339d522b2ab0ba3bed3ec217e4bbc83d35",
      "parents": [
        "54d20f006ceff1f2f1e69d0e54049b6c0765c039",
        "192cfd58774b4d17b2fe8bdc77d89c2ef4e0591d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Mar 09 12:35:53 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Mar 09 12:35:53 2012 -0800"
      },
      "message": "Merge 3.3-rc6 into driver-core-next\n\nThis was done to resolve a conflict in the drivers/base/cpu.c file.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7b60a18da393ed70db043a777fd9e6d5363077c4",
      "tree": "cf83f1b5fdd5b7fab96c256f40db877112b277fe",
      "parents": [
        "8b0372a258e6bd0e9e5ea3f3d5f05a6bf3972fee"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Wed Mar 07 14:49:56 2012 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Mar 08 12:56:40 2012 -0800"
      },
      "message": "uevent: send events in correct order according to seqnum (v3)\n\nThe queue handling in the udev daemon assumes that the events are\nordered.\n\nBefore this patch uevent_seqnum is incremented under sequence_lock,\nthan an event is send uner uevent_sock_mutex. I want to say that code\ncontained a window between incrementing seqnum and sending an event.\n\nThis patch locks uevent_sock_mutex before incrementing uevent_seqnum.\n\nv2: delete sequence_lock, uevent_seqnum is protected by uevent_sock_mutex\nv3: unlock the mutex before the goto exit\n\nThanks for Kay for the comments.\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nTested-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8bc3bcc93a2b4e47d5d410146f6546bca6171663",
      "tree": "101f55a96f751749041c90c32ef1ba89f94dc4d1",
      "parents": [
        "630d9c47274aa89bfa77fe6556d7818bdcb12992"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Nov 16 21:29:17 2011 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Mar 07 15:04:04 2012 -0500"
      },
      "message": "lib: reduce the use of module.h wherever possible\n\nFor files only using THIS_MODULE and/or EXPORT_SYMBOL, map\nthem onto including export.h -- or if the file isn\u0027t even\nusing those, then just delete the include.  Fix up any implicit\ninclude dependencies that were being masked by module.h along\nthe way.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "5756b76e4db643d8f75174a9a50038523d4b9e32",
      "tree": "62873627752df2dd08b244e983b1cd89e31b72ee",
      "parents": [
        "c09ff089aa62380ad904ea785bd713c56720270e"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Mon Mar 05 16:49:24 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 06 08:22:26 2012 -0800"
      },
      "message": "vsprintf: make %pV handling compatible with kasprintf()\n\nkasprintf() (and potentially other functions that I didn\u0027t run across so\nfar) want to evaluate argument lists twice.  Caring to do so for the\nprimary list is obviously their job, but they can\u0027t reasonably be\nexpected to check the format string for instances of %pV, which however\nneed special handling too: On architectures like x86-64 (as opposed to\ne.g.  ix86), using the same argument list twice doesn\u0027t produce the\nexpected results, as an internally managed cursor gets updated during\nthe first run.\n\nFix the problem by always acting on a copy of the original list when\nhandling %pV.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f78ff005a6b6313728247113948450b2adddde8",
      "tree": "91bf021b9d2d1a09ae74a39c11275aacaf6082f1",
      "parents": [
        "9354f1b8e6c55c335d1c4fb10d0ae7a041935240"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Mon Mar 05 14:59:17 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:43 2012 -0800"
      },
      "message": "debugobjects: Fix selftest for static warnings\n\ndebugobjects is now printing a warning when a fixup for a NOTAVAILABLE\nobject is run.  This causes the selftest to fail like:\n\n\tODEBUG: selftest warnings failed 4 !\u003d 5\n\nWe could just increase the number of warnings that the selftest is\nexpecting to see because that is actually what has changed.  But, it turns\nout that fixup_activate() was written with inverted logic and thus a fixup\nfor a static object returned 1 indicating the object had been fixed, and 0\notherwise.  Fix the logic to be correct and update the counts to reflect\nthat nothing needed fixing for a static object.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "737f24bda723fdf89ecaacb99fa2bf5683c32799",
      "tree": "35495fff3e9956679cb5468e74e6814c8e44ee66",
      "parents": [
        "8eedce996556d7d06522cd3a0e6069141c8dffe0",
        "b7c924274c456499264d1cfa3d44063bb11eb5db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/builtin-record.c\n\ttools/perf/builtin-top.c\n\ttools/perf/perf.h\n\ttools/perf/util/top.h\n\nMerge reason: resolve these cherry-picking conflicts.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50af5ead3b44ccf8bd2b4d2a50c1b610f557c480",
      "tree": "e53d8e0b0bd2cf2134e48d3441b91ac41c6c3721",
      "parents": [
        "b116ee4d772565d204db057a10fcd81d7a2513a8"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jan 20 18:35:53 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Feb 29 17:15:08 2012 -0500"
      },
      "message": "bug.h: add include of it to various implicit C users\n\nWith bug.h currently living right in linux/kernel.h there\nare files that use BUG_ON and friends but are not including\nthe header explicitly.  Fix them up so we can remove the\npresence in kernel.h file.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "b116ee4d772565d204db057a10fcd81d7a2513a8",
      "tree": "7336a79f5446a8c648ccef609b70027d188b8c12",
      "parents": [
        "4ebc1b4b0004b45e280940db81888a7863d3a01d"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jan 20 18:46:49 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Feb 28 17:49:27 2012 -0500"
      },
      "message": "lib: fix implicit users of kernel.h for TAINT_WARN\n\nA pending header cleanup will cause this to show up as:\n\nlib/average.c:38: error: \u0027TAINT_WARN\u0027 undeclared (first use in this function)\nlib/list_debug.c:24: error: \u0027TAINT_WARN\u0027 undeclared (first use in this function)\n\nand TAINT_WARN comes from include/linux/kernel.h file.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "a858af2875fb291d0f4b0a4419fefbf03c2379c0",
      "tree": "5183796cbf50ec0cd3bd5c741db15705376dacbd",
      "parents": [
        "13cfcca0e4e2d4cee1d0183c049eb34e54ac976e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Jan 16 13:29:10 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:49 2012 -0800"
      },
      "message": "rcu: Print scheduling-clock information on RCU CPU stall-warning messages\n\nThere have been situations where RCU CPU stall warnings were caused by\nissues in scheduling-clock timer initialization.  To make it easier to\ntrack these down, this commit causes the RCU CPU stall-warning messages\nto print out the number of scheduling-clock interrupts taken in the\ncurrent grace period for each stalled CPU.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5c8806a037ad4f53259146060b32600566475e29",
      "tree": "72537f97d6af9e826f3872b20872b575eebb099a",
      "parents": [
        "486e259340fc4c60474f2c14703e3b3634bb58ca"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 15:10:44 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:26 2012 -0800"
      },
      "message": "rcu: Move RCU_TRACE to lib/Kconfig.debug\n\nThe RCU_TRACE kernel parameter has always been intended for debugging,\nnot for production use.  Formalize this by moving RCU_TRACE from\ninit/Kconfig to lib/Kconfig.debug.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5f329089431aac08bf759fa2bcb34077a6aa1f4e",
      "tree": "400dd32e7651ca8fd34d52c63bf497aabb62d6b1",
      "parents": [
        "9919cba7ff71147803c988521cc1ceb80e7f0f6d"
      ],
      "author": {
        "name": "Fernando Luis Vázquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Thu Feb 09 17:42:21 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 11 15:11:30 2012 +0100"
      },
      "message": "watchdog: Update Kconfig entries\n\nThe soft and hard lockup thresholds have changed so the\ncorresponding Kconfig entries need to be updated accordingly.\nAdd a reference to  watchdog_thresh while at it.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1328827342-6253-2-git-send-email-dzickus@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "690d137f448d4c4da9001871e6569d5636f116c7",
      "tree": "a6ccb2a00ce2e1fd2f3d8facabd0242e61431704",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 09 15:48:20 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 09 10:09:30 2012 -0800"
      },
      "message": "Reduce the number of expensive division instructions done by _parse_integer()\n\n_parse_integer() does one or two division instructions (which are slow)\nper digit parsed to perform the overflow check.\n\nFurthermore, these are particularly expensive examples of division\ninstruction as the number of clock cycles required to complete them may\ngo up with the position of the most significant set bit in the dividend:\n\n\tif (*res \u003e div_u64(ULLONG_MAX - val, base))\n\nwhich is as maximal as possible.\n\nWorse, on 32-bit arches, more than one of these division instructions\nmay be required per digit.\n\nSo, assuming we don\u0027t support a base of more than 16, skip the check if the\ntop nibble of the result is not set at this point.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n[ Changed it to not dereference the pointer all the time - even if the\n  compiler can and does optimize it away, the code just looks cleaner.\n  And edited the top nybble test slightly to make the code generated on\n  x86-64 better in the loop - test against a hoisted constant instead of\n  shifting and testing the result ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95025d6b27721ae8bbce592403fdc06e982204c8",
      "tree": "04cdc095c1d1b41406ebaf6c5d3639f4d27b3f38",
      "parents": [
        "59c1204d464075fcb5d02e7daa6b23782dd4a088",
        "1e05b62ae4bd4c1209229de367b0989b39644f88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 07 14:32:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 07 14:32:24 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\narch: fix ioport mapping on mips,sh\n\nKevin Cernekee reported that recent cleanup that replaced pci_iomap with\na generic function failed to take into account the differences in io\nport handling on mips and sh architectures.\n\nRather than revert the changes reintroducing the code duplication, this\npatchset fixes this by adding ability for architectures to override\nioport mapping for pci devices.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:\n  sh: use the the PCI channels\u0027s io_map_base\n  mips: use the the PCI controller\u0027s io_map_base\n  lib: add NO_GENERIC_PCI_IOPORT_MAP\n"
    },
    {
      "commit": "2f2fde927243bde5fd106da692efef34be12f81c",
      "tree": "28e69ca8fa227b1ba53e3bf4ddd42340499e7fe7",
      "parents": [
        "bd3ce7d57c380af110c86d19e256115d0e7053ca",
        "b0f4c4b32c8e3aa0d44fc4dd6c40a9a9a8d66b63",
        "45179fec946dd554f74e950d2278dabd5ad23fd3",
        "cb297a3e433dbdcf7ad81e0564e7b804c941ff0d",
        "e6d36a653becc7bbc643c399a77882e02bf552cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 11:11:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 11:11:13 2012 -0800"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027, \u0027sched-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  bugs, x86: Fix printk levels for panic, softlockups and stack dumps\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf top: Fix number of samples displayed\n  perf tools: Fix strlen() bug in perf_event__synthesize_event_type()\n  perf tools: Fix broken build by defining _GNU_SOURCE in Makefile\n  x86/dumpstack: Remove unneeded check in dump_trace()\n  perf: Fix broken interrupt rate throttling\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/rt: Fix task stack corruption under __ARCH_WANT_INTERRUPTS_ON_CTXSW\n  sched: Fix ancient race in do_exit()\n  sched/nohz: Fix nohz cpu idle load balancing state with cpu hotplug\n  sched/s390: Fix compile error in sched/core.c\n  sched: Fix rq-\u003enr_uninterruptible update race\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/reboot: Remove VersaLogic Menlow reboot quirk\n  x86/reboot: Skip DMI checks if reboot set by user\n  x86: Properly parenthesize cmpxchg() macro arguments\n"
    },
    {
      "commit": "a99e7e5f36c55e561a64280f5099078c31839076",
      "tree": "01c1bc431834e465ee0ae2585ea4f5a0a7442cf4",
      "parents": [
        "c6df4b17c8539f737a6a2d7b797eac41e8e34cdc"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 02 00:17:55 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 10:34:25 2012 +1100"
      },
      "message": "lib: Fix 32-bit sparc udiv_qrnnd() definition in mpilib\u0027s longlong.h\n\nThis copy of longlong.h is extremely dated and results in compile\nerrors on sparc32 when MPILIB is enabled, copy over the more uptodate\nimplementation from arch/sparc/math/sfp-util_32.h\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "c6df4b17c8539f737a6a2d7b797eac41e8e34cdc",
      "tree": "7b891178267aa9486fed1197419aac57d3036b5f",
      "parents": [
        "86f8bedc9e1a8ddb4f1d9ff1f0c1229cc0797d6d"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 02 00:17:54 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 10:34:23 2012 +1100"
      },
      "message": "lib: Fix multiple definitions of clz_tab\n\nBoth sparc 32-bit\u0027s software divide assembler and MPILIB provide\nclz_tab[] with identical contents.\n\nBreak it out into a seperate object file and select it when\nSPARC32 or MPILIB is set.\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "86f8bedc9e1a8ddb4f1d9ff1f0c1229cc0797d6d",
      "tree": "a0b67fa9e778cba871b8135cf6976066d11af83b",
      "parents": [
        "43b2c0aeaab2237996a72f9b9d7952ba82d56913"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:24 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:24:04 2012 +1100"
      },
      "message": "lib/digsig: checks for NULL return value\n\nmpi_read_from_buffer() return value must not be NULL.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "43b2c0aeaab2237996a72f9b9d7952ba82d56913",
      "tree": "d685ff8357eafe11ffab7d42bf4e7d3fd81cb97c",
      "parents": [
        "a6d68ecc56ed182644c81ef6917ce1f5404db7dd"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:18 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:39 2012 +1100"
      },
      "message": "lib/mpi: added missing NULL check\n\nAdded missing NULL check after mpi_alloc_limb_space().\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "a6d68ecc56ed182644c81ef6917ce1f5404db7dd",
      "tree": "c2141a497e88fa2d596833f2a27c87f5b995cbc6",
      "parents": [
        "4877e056192245b387aae004ab38f7f3899dd57c"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:20 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:39 2012 +1100"
      },
      "message": "lib/mpi: added comment on divide by 0 case\n\nComment explains that existing clients do not call this function\nwith dsize \u003d\u003d 0, which means that 1/0 should not happen.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "4877e056192245b387aae004ab38f7f3899dd57c",
      "tree": "af540cd2de9df321421651016fed50e4a56b224c",
      "parents": [
        "b35e286a640f31d619a637332972498b51f3fd90"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:19 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:39 2012 +1100"
      },
      "message": "lib/mpi: check for possible zero length\n\nBuggy client might pass zero nlimbs which is meaningless.\nAdded check for zero length.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b35e286a640f31d619a637332972498b51f3fd90",
      "tree": "66ea75588c31570245b7048693e15c72ce2ded34",
      "parents": [
        "f58a08152ce4198a2a1da162b97ecf8264c24866"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:26 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:39 2012 +1100"
      },
      "message": "lib/digsig: pkcs_1_v1_5_decode_emsa cleanup\n\nRemoved useless \u0027is_valid\u0027 variable in pkcs_1_v1_5_decode_emsa(),\nwhich was inhereted from original code. Client now uses return value\nto check for an error.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f58a08152ce4198a2a1da162b97ecf8264c24866",
      "tree": "e430ef22210d8d6d41c0b7253978558a0f15f7a5",
      "parents": [
        "bc95eeadf5c6fd9e9840898a83a93718a0114b6d"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:25 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:38 2012 +1100"
      },
      "message": "lib/digsig: additional sanity checks against badly formated key payload\n\nAdded sanity checks for possible wrongly formatted key payload data:\n- minimum key payload size\n- zero modulus length\n- corrected upper key payload boundary.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "bc95eeadf5c6fd9e9840898a83a93718a0114b6d",
      "tree": "f3179d5bd0f3165e9e31bcddbf02fca9094e7415",
      "parents": [
        "e2fe85c236736c866481de288f636ab06ef49787"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:23 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:14 2012 +1100"
      },
      "message": "lib/mpi: removed unused functions\n\ndo_encode_md() and mpi_get_keyid() are not parts of mpi library.\nThey were used early versions of gnupg and in digsig project,\nbut they are not used neither here nor there anymore.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e2fe85c236736c866481de288f636ab06ef49787",
      "tree": "11861382d9e84ec859a41132afe309f94f7cc20e",
      "parents": [
        "e87c5e35a92e045de75fb6ae9846a38bdd0f92bd"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:22 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:14 2012 +1100"
      },
      "message": "lib/mpi: checks for zero divisor length\n\nDivisor length should not be 0.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e87c5e35a92e045de75fb6ae9846a38bdd0f92bd",
      "tree": "a518be04415fd6b6746493e96b422bfad1cbb10f",
      "parents": [
        "3cccd1543ab623a5065335bf08350e06ffc788ab"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:21 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:14 2012 +1100"
      },
      "message": "lib/mpi: return error code on dividing by zero\n\nDefinitely better to return error code than to divide by zero.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "3cccd1543ab623a5065335bf08350e06ffc788ab",
      "tree": "e6f92704984d5390c22c3c0e165161ed2dc215ca",
      "parents": [
        "c70c471c585a3fc1a10c792d5121b3803c83dde0"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:16 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:14 2012 +1100"
      },
      "message": "lib/mpi: replaced MPI_NULL with normal NULL\n\nMPI_NULL is replaced with normal NULL.\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "c70c471c585a3fc1a10c792d5121b3803c83dde0",
      "tree": "9ba56d609baafe310008974099d6d4adc77a67aa",
      "parents": [
        "62aa2b537c6f5957afd98e29f96897419ed5ebab"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Thu Jan 26 19:13:17 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 02 00:23:13 2012 +1100"
      },
      "message": "lib/mpi: added missing NULL check\n\nAdded missing NULL check after mpi_alloc().\n\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nReviewed-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b923650b84068b74b6df838aa8f9b2a350171de6",
      "tree": "d6d366da5427816210dc15c7c401e4a7910092c4",
      "parents": [
        "0a9626575400879d1d5e6bc8768188b938d7c501"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Jan 30 00:20:48 2012 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Jan 31 23:19:47 2012 +0200"
      },
      "message": "lib: add NO_GENERIC_PCI_IOPORT_MAP\n\nSome architectures need to override the way\nIO port mapping is done on PCI devices.\nSupply a generic macro that calls\nioport_map, and make it possible for architectures\nto override.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "b0f4c4b32c8e3aa0d44fc4dd6c40a9a9a8d66b63",
      "tree": "7387d97d5b69c587ae67a46de025468d474e0eb4",
      "parents": [
        "b64b223aed5f8aeeb6c046f1b050a8f976b87de0"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Thu Jan 26 08:55:34 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 21:28:45 2012 +0100"
      },
      "message": "bugs, x86: Fix printk levels for panic, softlockups and stack dumps\n\nrsyslog will display KERN_EMERG messages on a connected\nterminal.  However, these messages are useless/undecipherable\nfor a general user.\n\nFor example, after a softlockup we get:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Stack:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Call Trace:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Code: ff ff a8 08 75 25 31 d2 48 8d 86 38 e0 ff ff 48 89\n d1 0f 01 c8 0f ae f0 48 8b 86 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 \u003ce8\u003e ea 69 dd ff 4c 29 e8 48 89 c7 e8 0f bc da ff 49 89 c4 49 89\n\nThis happens because the printk levels for these messages are\nincorrect. Only an informational message should be displayed on\na terminal.\n\nI modified the printk levels for various messages in the kernel\nand tested the output by using the drivers/misc/lkdtm.c kernel\nmodules (ie, softlockups, panics, hard lockups, etc.) and\nconfirmed that the console output was still the same and that\nthe output to the terminals was correct.\n\nFor example, in the case of a softlockup we now see the much\nmore informative:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 10:18:06 ...\n BUG: soft lockup - CPU4 stuck for 60s!\n\ninstead of the above confusing messages.\n\nAFAICT, the messages no longer have to be KERN_EMERG.  In the\nmost important case of a panic we set console_verbose().  As for\nthe other less severe cases the correct data is output to the\nconsole and /var/log/messages.\n\nSuccessfully tested by me using the drivers/misc/lkdtm.c module.\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: dzickus@redhat.com\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1327586134-11926-1-git-send-email-prarit@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c60c48f58a78195acc1f71c9a9d01958c02ab89",
      "tree": "7d1a66abc2510aa474105a747fdcd08b033f2b36",
      "parents": [
        "f728019bb72e655680c02ad1829323054a8e875f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jan 21 13:34:05 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 24 16:40:27 2012 -0800"
      },
      "message": "sysctl: Improve the sysctl sanity checks\n\n- Stop validating subdirectories now that we only register leaf tables\n\n- Cleanup and improve the duplicate filename check.\n  * Run the duplicate filename check under the sysctl_lock to guarantee\n    we never add duplicate names.\n  * Reduce the duplicate filename check to nearly O(M*N) where M is the\n    number of entries in tthe table we are registering and N is the\n    number of entries in the directory before we got there.\n\n- Move the duplicate filename check into it\u0027s own function and call\n  it directtly from __register_sysctl_table\n\n- Kill the config option as the sanity checks are now cheap enough\n  the config option is unnecessary. The original reason for the config\n  option was because we had a huge table used to verify the proc filename\n  to binary sysctl mapping.  That table has now evolved into the binary_sysctl\n  translation layer and is no longer part of the sysctl_check code.\n\n- Tighten up the permission checks.  Guarnateeing that files only have read\n  or write permissions.\n\n- Removed redudant check for parents having a procname as now everything has\n  a procname.\n\n- Generalize the backtrace logic so that we print a backtrace from\n  any failure of __register_sysctl_table that was not caused by\n  a memmory allocation failure.  The backtrace allows us to track\n  down who erroneously registered a sysctl table.\n\nBechmark before (CONFIG_SYSCTL_CHECK\u003dy):\n    make-dummies 0 999 -\u003e 12s\n    rmmod dummy        -\u003e 0.08s\n\nBechmark before (CONFIG_SYSCTL_CHECK\u003dn):\n    make-dummies 0 999 -\u003e 0.7s\n    rmmod dummy        -\u003e 0.06s\n    make-dummies 0 99999 -\u003e 1m13s\n    rmmod dummy          -\u003e 0.38s\n\nBenchmark after:\n    make-dummies 0 999 -\u003e 0.65s\n    rmmod dummy        -\u003e 0.055s\n    make-dummies 0 9999 -\u003e 1m10s\n    rmmod dummy         -\u003e 0.39s\n\nThe sysctl sanity checks now impose no measurable cost.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "f3ff9247088a0af0c192a28908dab76ff3d8871f",
      "tree": "4ff2c822bcf82213d14b2195d4f00fe470876b1d",
      "parents": [
        "9f30ea950edfaefa51221dd26a065b3442599778"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jan 24 13:35:24 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 16:00:35 2012 -0800"
      },
      "message": "Remove useless get_driver()/put_driver() calls\n\nAs part of the removal of get_driver()/put_driver(), this patch\n(as1512) gets rid of various useless and unnecessary calls in several\ndrivers.  In some cases it may be desirable to pin the driver by\ncalling try_module_get(), but that can be done later.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCC: Michael Buesch \u003cm@bues.ch\u003e\nCC: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "85f7f6c0edb8414053d788229c97d5ecff21efab",
      "tree": "214ed1f1ed2d026280ca46728948f59c0cb5f528",
      "parents": [
        "574b3725e327531c70361d1a10b8dc8dd2b93590"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:21 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:50:36 2012 -0800"
      },
      "message": "dynamic_debug: process multiple debug-queries on a line\n\nInsert ddebug_exec_queries() in place of ddebug_exec_query().  It\nsplits the query string on [;\\n], and calls ddebug_exec_query() on\neach.  All queries are processed independent of errors, allowing a\nquery to fail, for example when a module is not installed.  Empty\nlines and comments are skipped.  Errors are counted, and the last\nerror seen (negative) or the number of callsites found (0 or positive)\nis returned.  Return code checks are altered accordingly.\n\nWith this, multiple queries can be given in ddebug_query, allowing\nmore selective enabling of callsites.  As a side effect, a set of\ncommands can be batched in:\n\n\tcat cmd-file \u003e $DBGMT/dynamic_debug/control\n\nWe dont want a ddebug_query syntax error to kill the dynamic debug\nfacility, so dynamic_debug_init() zeros ddebug_exec_queries()\u0027s return\ncode after logging the appropriate message, so that ddebug tables are\npreserved and $DBGMT/dynamic_debug/control file is created.  This\nwould be appropriate even without accepting multiple queries.\n\nThis patch also alters ddebug_change() to return number of callsites\nmatched (which typically is the same as number of callsites changed).\nddebug_exec_query() also returns the number found, or a negative value\nif theres a parse error on the query.\n\nSplitting on [;\\n] prevents their use in format-specs, but selecting\ncallsites on punctuation is brittle anyway, meaningful and selective\nsubstrings are more typical.\n\nNote: splitting queries on \u0027;\u0027 before handling trailing #comments\nmeans that a \u0027;\u0027 also terminates a comment, and text after the \u0027;\u0027 is\ntreated as another query.  This trailing query will almost certainly\nresult in a parse error and thus have no effect other than the error\nmessage.  The double corner case with unexpected results is:\n\n     ddebug_query\u003d\"func foo +p # enable foo ; +p\"\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "574b3725e327531c70361d1a10b8dc8dd2b93590",
      "tree": "a68938a8ef462426a34bb002ee697e2e6ce26df7",
      "parents": [
        "2b6783191da7211c88f98eb1a2bd2027bff36e30"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:16 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:50:36 2012 -0800"
      },
      "message": "dynamic_debug: factor vpr_info_dq out of ddebug_parse_query\n\nFactor pr_info(query) out of ddebug_parse_query, into vpr_info_dq(),\nfor reuse later.  Also change the printed labels: file, func to agree\nwith the query-spec keywords accepted in the control file.  Pass \"\"\nwhen string is null, to avoid \"(null)\" output from sprintf.  For\nformat print, use precision to skip last char, assuming its \u0027\\n\u0027, no\ngreat harm if not, its a debug msg.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2b6783191da7211c88f98eb1a2bd2027bff36e30",
      "tree": "3227bbc5c9c187b6dbaa133a6f7e2e4364942594",
      "parents": [
        "7281491c594e7b8501eb5dfcf6cd3724f8a1b5b0"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:12 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:55 2012 -0800"
      },
      "message": "dynamic_debug: add trim_prefix() to provide source-root relative paths\n\ntrim_prefix(path) skips past the absolute source path root, and\nreturns the pointer to the relative path from there.  It is used to\nshorten the displayed path in $DBGMT/dynamic_debug/control via\nddebug_proc_show(), and in ddebug_change() to allow relative filenames\nto be used in applied queries.  For example:\n\n  ~# echo file kernel/freezer.c +p \u003e $DBGMT/dynamic_debug/control\n\n  kernel/freezer.c:128 [freezer]cancel_freezing p \"  clean up: %s\\012\"\n\ntrim_prefix(path) insures common prefix before trimming it, so\nout-of-tree module paths are shown as full absolute paths.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7281491c594e7b8501eb5dfcf6cd3724f8a1b5b0",
      "tree": "7f99ca473ffc79baf0cb96b6dfb33de831af494f",
      "parents": [
        "8bd6026e88cb2eb1e60ee40c7a1a0786b2db6623"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:07 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:55 2012 -0800"
      },
      "message": "dynamic_debug: enlarge command/query write buffer\n\nCurrent query write buffer is 256 bytes, on stack.  In comparison, the\nddebug_query boot-arg is 1024.  Allocate the buffer off heap, and\nenlarge it to 4096 bytes, big enough for ~100 queries (at 40 bytes\neach), and error out if not.  This makes it play nicely with large\nquery sets (to be added later).  The buffer should be enough for most\nuses, and others should probably be split into subsets.\n\n[jbaron@redhat.com: changed USER_BUF_PAGE from 4095 -\u003e 4096 ]\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8bd6026e88cb2eb1e60ee40c7a1a0786b2db6623",
      "tree": "ba8a4a4bab38500b8e6434a1a880755a2a867fc6",
      "parents": [
        "e703ddae383abb24b1c7f363cb0df7e78a44ea45"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:03 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:54 2012 -0800"
      },
      "message": "dynamic_debug: chop off comments in ddebug_tokenize\n\nIf a token begins with #, the remainder of query string is a comment,\nso drop it.  Doing it here avoids \u0027#\u0027 in quoted strings.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b5b78f83854af15e04c63fdbc6efed9355afbe8f",
      "tree": "c0f3a85ec25beace9288e6cc9d07723ffeb989fe",
      "parents": [
        "820874c75ea0d3a9c22d69d6eaad42a279d6756c"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:54 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:54 2012 -0800"
      },
      "message": "dynamic_debug: early return if _ddebug table is empty\n\nIf _ddebug table is empty (in a CONFIG_DYNAMIC_DEBUG build this\nshouldn\u0027t happen), then warn (error?) and return early.  This skips\nempty table scan and parsing of setup-string, including the pr_info\ncall noting the parse.  By inspection, copy return-code handling from\n1st ddebug_add_module() callsite to 2nd.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "820874c75ea0d3a9c22d69d6eaad42a279d6756c",
      "tree": "96cc2880f8bccb0d6d76e6eb518a2cfd533f50e4",
      "parents": [
        "5ca7d2a6c5e4f24dfe39e8383c6d32e61d95d16a"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:49 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:53 2012 -0800"
      },
      "message": "dynamic_debug: tighten up error checking on debug queries\n\nIssue error when a match-spec is given multiple times in a rule.\nPrevious code kept last one, but was silent about it.  Docs imply only\none is allowed by saying match-specs are ANDed together, given that\nmodule M cannot match both A and B.  Also error when last_line \u003c 1st_line.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5ca7d2a6c5e4f24dfe39e8383c6d32e61d95d16a",
      "tree": "9825251f6cd4a7027e8235a73d6a6c8654a6afed",
      "parents": [
        "d6a238d25014d0ff918410d73e2a6300bca5d1f1"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:44 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:52 2012 -0800"
      },
      "message": "dynamic_debug: describe_flags with \u0027\u003d[pmflt_]*\u0027\n\nChange describe_flags() to emit \u0027\u003d[pmflt_]+\u0027 for current callsite\nflags, or just \u0027\u003d_\u0027 when they\u0027re disabled.  Having \u0027\u003d\u0027 in output\nallows a more selective grep expression; in contrast \u0027-\u0027 may appear\nin filenames, line-ranges, and format-strings.  \u0027\u003d\u0027 also has better\nmnemonics, saying; \"the current setting is equal to \u003cflags\u003e\".\n\nThis allows grep \"\u003d_\" \u003cdbgfs\u003e/dynamic_debug/control to see disabled\ncallsites while avoiding the many occurrences of \" \u003d \" seen in format\nstrings.\n\nEnlarge flagsbufs to handle additional flag char, and alter\nddebug_parse_flags() to allow flags\u003d0, so that user can turn off all\ndebug flags via:\n\n  ~# echo \u003d_ \u003e \u003cdbgfs\u003e/dynamic_debug/control\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d6a238d25014d0ff918410d73e2a6300bca5d1f1",
      "tree": "c7abb490f1ff36b0336ca6d8206e4a772bd4ff2f",
      "parents": [
        "ae27f86a21eb9a9e005f06b126eb88662ba4f940"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:39 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:46 2012 -0800"
      },
      "message": "dynamic_debug: drop explicit !\u003dNULL checks\n\nConvert \u0027if (x !\u003dNULL)\u0027 checks into \u0027if (x)\u0027.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ae27f86a21eb9a9e005f06b126eb88662ba4f940",
      "tree": "365183b662741c4ec797792faca06fa5b963b8a8",
      "parents": [
        "bc757f6f5bf4e9251bbc1a3419c94ffe9fd3e2ee"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:34 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:45 2012 -0800"
      },
      "message": "dynamic_debug: pr_err() call should not depend upon verbosity\n\nIssue keyword/parsing errors even w/o verbose set;\nuncover otherwize mysterious non-functionality.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bc757f6f5bf4e9251bbc1a3419c94ffe9fd3e2ee",
      "tree": "593f673d80d7cf6981b346dc5d5ac2e6ba5d5c9a",
      "parents": [
        "74df138d508eb35e8b929e165e5403cfbb46a0c5"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:29 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:45 2012 -0800"
      },
      "message": "dynamic_debug: replace strcpy with strlcpy, in ddebug_setup_query()\n\nReplace strcpy with strlcpy, and add define for the size constant.\n\n[jbaron@redhat.com: Use DDEBUG_STRING_SIZE for overflow check]\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "74df138d508eb35e8b929e165e5403cfbb46a0c5",
      "tree": "6d1951d2c53e39be5b0e0ebe4edcecc785634a52",
      "parents": [
        "b558c96ffa53f4b3dd52b774e4fb7a52982ab52b"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:24 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:45 2012 -0800"
      },
      "message": "dynamic_debug: change verbosity at runtime\n\nAllow changing dynamic_debug verbosity at run-time, to ease debugging\nof ddebug queries as you add them, improving usability.\n\nat boot time: dynamic_debug.verbose\u003d1\nat runtime:\nroot@voyage:~# echo 1 \u003e /sys/module/dynamic_debug/parameters/verbose\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "87e6f968339bcdda56b39572c7e63331192296a0",
      "tree": "f6e6b4afd8fa9d94540d844927e41f3c01a79f7d",
      "parents": [
        "07100be7e0495ff39237d48886bca7396c873db7"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:11:13 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:44 2012 -0800"
      },
      "message": "dynamic_debug: drop enabled field from struct _ddebug, use _DPRINTK_FLAGS_PRINT\n\nCurrently any enabled dynamic-debug flag on a pr_debug callsite will\nenable printing, even if _DPRINTK_FLAGS_PRINT is off.  Checking print\nflag directly allows \"-p\" to disable callsites without fussing with\nother flags, so the following disables everything, without altering\nflags user may have set:\n\n\techo -p \u003e $DBGFS/dynamic_debug/control\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "07100be7e0495ff39237d48886bca7396c873db7",
      "tree": "a4348be0f28063e0f1a986aa3efe60f8bc00f09f",
      "parents": [
        "524b6c5b39b931311dfe5a2f5abae2f5c9731676"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:11:09 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:43 2012 -0800"
      },
      "message": "dynamic_debug: fix whitespace complaints from scripts/cleanfile\n\nStyle cleanups.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4bf1924c008dffdc154f82507b4052e49263a6f4",
      "tree": "28ab539e07f662fcc4c179f411662e343be9520c",
      "parents": [
        "f59e842fc0871cd5baa213dc32e0ce8e5aaf4758"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jan 18 10:03:54 2012 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 19 13:45:51 2012 +1100"
      },
      "message": "MPILIB: Add a missing ENOMEM check\n\nAdd a missing ENOMEM check.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2e5f094b9dbf9463ab93f86351cd1a8dc88942cc",
      "tree": "b849a848f8dacdaa966e4a3e35f60b5af72e5982",
      "parents": [
        "68adcad570a2ce0496918ddd9f8c83138d9bcc93"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Tue Jan 17 17:12:06 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 18 10:46:26 2012 +1100"
      },
      "message": "lib: Removed MPILIB, MPILIB_EXTRA, and SIGNATURE prompts\n\nAs modules are expected to select MPILIB, MPILIB_EXTRA, and SIGNATURE,\nremoved Kconfig prompts.\n\nRequested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "68adcad570a2ce0496918ddd9f8c83138d9bcc93",
      "tree": "548a8e03700472a86aa4063c1822664852dd8283",
      "parents": [
        "be440ec77325d02ad5e43676eb8d868426d35cd5"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Tue Jan 17 17:12:05 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 18 10:46:24 2012 +1100"
      },
      "message": "lib: MPILIB Kconfig description update\n\nIt was reported that description of the MPILIB_EXTRA is confusing.\nIndeed it was copy-paste typo. It is fixed here.\n\nReported-by: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "be440ec77325d02ad5e43676eb8d868426d35cd5",
      "tree": "8d8c47893a8516344c8c48256b7ee6c9a565d199",
      "parents": [
        "5e8898e97a5db4125d944070922164d1d09a2689"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Tue Jan 17 17:12:04 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 18 10:46:23 2012 +1100"
      },
      "message": "lib: digital signature dependency fix\n\nRandy Dunlap reported build break:\n\nERROR: \"crypto_alloc_shash\" [lib/digsig.ko] undefined!\nERROR: \"crypto_shash_final\" [lib/digsig.ko] undefined!\nERROR: \"crypto_shash_update\" [lib/digsig.ko] undefined!\nERROR: \"crypto_destroy_tfm\" [lib/digsig.ko] undefined!\n\nAdded CRYPTO dependency and selected SHA1 algorithm.\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5e8898e97a5db4125d944070922164d1d09a2689",
      "tree": "a5319fcc60499e63fecc7a08d923a1de8f9c7622",
      "parents": [
        "6ac6172a935d1faf7ef259802267657bc0007a62"
      ],
      "author": {
        "name": "Dmitry Kasatkin",
        "email": "dmitry.kasatkin@intel.com",
        "time": "Tue Jan 17 17:12:03 2012 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 18 10:46:21 2012 +1100"
      },
      "message": "lib: digital signature config option name change\n\nIt was reported that DIGSIG is confusing name for digital signature\nmodule. It was suggested to rename DIGSIG to SIGNATURE.\n\nRequested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSuggested-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "892d208bcf79e4e1058707786a7b6d486697cd78",
      "tree": "15446e4d19f7f98078344ab0bc37ae6af4898c6d",
      "parents": [
        "dca88ad6915b65f6e037f8c3e632fcd92a70bd88",
        "029aeff5db879afd7760f11214b6fea45f76b58e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:11:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:11:11 2012 -0800"
      },
      "message": "Merge tag \u0027kmemleak\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux\n\nKmemleak patches\n\nMain features:\n- Handle percpu memory allocations (only scanning them, not actually\n  reporting).\n- Memory hotplug support.\n\nUsability improvements:\n- Show the origin of early allocations.\n- Report previously found leaks even if kmemleak has been disabled by\n  some error.\n\n* tag \u0027kmemleak\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux:\n  kmemleak: Add support for memory hotplug\n  kmemleak: Handle percpu memory allocation\n  kmemleak: Report previously found leaks even after an error\n  kmemleak: When the early log buffer is exceeded, report the actual number\n  kmemleak: Show where early_log issues come from\n"
    },
    {
      "commit": "35f1526845a9d804206883e19bd257d3dcef758f",
      "tree": "aaefaf3e43abec7522fe08f8632cd7ff5dbffa7f",
      "parents": [
        "c755201eb5c1e09f3477d0e83ae1e3aadac0e8d1"
      ],
      "author": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Thu Jan 12 17:21:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:13 2012 -0800"
      },
      "message": "unlzo: fix input buffer free\n\nunlzo modifies the pointer to in_buf, so we have to free the original\nbuffer, not the modified pointer.\n\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nCc: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: Namhyung Kim \u003cnamhyung@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": "e2bdb933ab8b7db71c318a4ddcf78a9fffd61ecb",
      "tree": "23f39b8a9996135b893442c41d6da05c7988a0db",
      "parents": [
        "928da837aca77a9d3cb5076bf07b3224b1ba293b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Thu Jan 12 17:20:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:12 2012 -0800"
      },
      "message": "radix_tree: take radix_tree_path off stack\n\nDown, down in the deepest depths of GFP_NOIO page reclaim, we have\nshrink_page_list() calling __remove_mapping() calling __delete_from_\nswap_cache() or __delete_from_page_cache().\n\nYou would not expect those to need much stack, but in fact they call\nradix_tree_delete(): which declares a 192-byte radix_tree_path array on\nits stack (to record the node,offsets it visits when descending, in case\nit needs to ascend to update them).  And if any tag is still set [1],\nthat calls radix_tree_tag_clear(), which declares a further such\n192-byte radix_tree_path array on the stack.  (At least we have\ninterrupts disabled here, so won\u0027t then be pushing registers too.)\n\nThat was probably a good choice when most users were 32-bit (array of\nhalf the size), and adding fields to radix_tree_node would have bloated\nit unnecessarily.  But nowadays many are 64-bit, and each\nradix_tree_node contains a struct rcu_head, which is only used when\nfreeing; whereas the radix_tree_path info is only used for updating the\ntree (deleting, clearing tags or setting tags if tagged) when a lock\nmust be held, of no interest when accessing the tree locklessly.\n\nSo add a parent pointer to the radix_tree_node, in union with the\nrcu_head, and remove all uses of the radix_tree_path.  There would be\nspace in that union to save the offset when descending as before (we can\nargue that a lock must already be held to exclude other users), but\nrecalculating it when ascending is both easy (a constant shift and a\nconstant mask) and uncommon, so it seems better just to do that.\n\nTwo little optimizations: no need to decrement height when descending,\nadjusting shift is enough; and once radix_tree_tag_if_tagged() has set\ntag on a node and its ancestors, it need not ascend from that node\nagain.\n\nperf on the radix tree test harness reports radix_tree_insert() as 2%\nslower (now having to set parent), but radix_tree_delete() 24% faster.\nSurely that\u0027s an exaggeration from rtth\u0027s artificially low map shift 3,\nbut forcing it back to 6 still rates radix_tree_delete() 8% faster.\n\n[1] Can a pagecache tag (dirty, writeback or towrite) actually still be\nset at the time of radix_tree_delete()? Perhaps not if the filesystem is\nwell-behaved.  But although I\u0027ve not tracked any stack overflow down to\nthis cause, I have observed a curious case in which a dirty tag is set\nand left set on tmpfs: page migration\u0027s migrate_page_copy() happens to\nuse __set_page_dirty_nobuffers() to set PageDirty on the newpage, and\nthat sets PAGECACHE_TAG_DIRTY as a side-effect - harmless to a\nfilesystem which doesn\u0027t use tags, except for this stack depth issue.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Nai Xia \u003cnai.xia@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": "7b67e751479d50b7f84d1a3cc5216eed5e534b66",
      "tree": "a1a6746857cf65f04dde739fe271bf4143d55eaf",
      "parents": [
        "9f13a1fd452f11c18004ba2422a6384b424ec8a9",
        "76ccc297018d25d55b789bbd508861ef1e2cdb0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:50:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:50:26 2012 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (80 commits)\n  x86/PCI: Expand the x86_msi_ops to have a restore MSIs.\n  PCI: Increase resource array mask bit size in pcim_iomap_regions()\n  PCI: DEVICE_COUNT_RESOURCE should be equal to PCI_NUM_RESOURCES\n  PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)\n  PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB\n  x86/PCI: amd: factor out MMCONFIG discovery\n  PCI: Enable ATS at the device state restore\n  PCI: msi: fix imbalanced refcount of msi irq sysfs objects\n  PCI: kconfig: English typo in pci/pcie/Kconfig\n  PCI/PM/Runtime: make PCI traces quieter\n  PCI: remove pci_create_bus()\n  xtensa/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus()\n  x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented()\n  x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan\n  sparc32, leon/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  sparc/PCI: convert to pci_create_root_bus()\n  sh/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  powerpc/PCI: convert to pci_create_root_bus()\n  powerpc/PCI: split PHB part out of pcibios_map_io_space()\n  ...\n\nFix up conflicts in drivers/pci/msi.c and include/linux/pci_regs.h due\nto the same patches being applied in other branches.\n"
    },
    {
      "commit": "e7691a1ce341c80ed9504244a36b31c025217391",
      "tree": "e9941bb350f64a726130e299c411821da6f41a53",
      "parents": [
        "5cd9599bba428762025db6027764f1c59d0b1e1b",
        "8fcc99549522fc7a0bbaeb5755855ab0d9a59ce8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security: (32 commits)\n  ima: fix invalid memory reference\n  ima: free duplicate measurement memory\n  security: update security_file_mmap() docs\n  selinux: Casting (void *) value returned by kmalloc is useless\n  apparmor: fix module parameter handling\n  Security: tomoyo: add .gitignore file\n  tomoyo: add missing rcu_dereference()\n  apparmor: add missing rcu_dereference()\n  evm: prevent racing during tfm allocation\n  evm: key must be set once during initialization\n  mpi/mpi-mpow: NULL dereference on allocation failure\n  digsig: build dependency fix\n  KEYS: Give key types their own lockdep class for key-\u003esem\n  TPM: fix transmit_cmd error logic\n  TPM: NSC and TIS drivers X86 dependency fix\n  TPM: Export wait_for_stat for other vendor specific drivers\n  TPM: Use vendor specific function for status probe\n  tpm_tis: add delay after aborting command\n  tpm_tis: Check return code from getting timeouts/durations\n  tpm: Introduce function to poll for result of self test\n  ...\n\nFix up trivial conflict in lib/Makefile due to addition of CONFIG_MPI\nand SIGSIG next to CONFIG_DQL addition.\n"
    },
    {
      "commit": "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
      "tree": "46c81c6ae375b1f14e209b13c8ac020842807ece",
      "parents": [
        "06792c4dde2ad143928cc95c1ba218c6269c494b",
        "193a667fba76b3df482cbf865228e26ee246e889"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\nlib: use generic pci_iomap on all architectures\n\nMany architectures don\u0027t want to pull in iomap.c,\nso they ended up duplicating pci_iomap from that file.\nThat function isn\u0027t trivial, and we are going to modify it\nhttps://lkml.org/lkml/2011/11/14/183\nso the duplication hurts.\n\nThis reduces the scope of the problem significantly,\nby moving pci_iomap to a separate file and\nreferencing that from all architectures.\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:\n  alpha: drop pci_iomap/pci_iounmap from pci-noop.c\n  mn10300: switch to GENERIC_PCI_IOMAP\n  mn10300: add missing __iomap markers\n  frv: switch to GENERIC_PCI_IOMAP\n  tile: switch to GENERIC_PCI_IOMAP\n  tile: don\u0027t panic on iomap\n  sparc: switch to GENERIC_PCI_IOMAP\n  sh: switch to GENERIC_PCI_IOMAP\n  powerpc: switch to GENERIC_PCI_IOMAP\n  parisc: switch to GENERIC_PCI_IOMAP\n  mips: switch to GENERIC_PCI_IOMAP\n  microblaze: switch to GENERIC_PCI_IOMAP\n  arm: switch to GENERIC_PCI_IOMAP\n  alpha: switch to GENERIC_PCI_IOMAP\n  lib: add GENERIC_PCI_IOMAP\n  lib: move GENERIC_IOMAP to lib/Kconfig\n\nFix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig\n"
    },
    {
      "commit": "40ba587923ae67090d9f141c1d3c951be5c1420e",
      "tree": "342a72fc0ee13a0d2496ef970b64dfeadf1355d2",
      "parents": [
        "54c2c5761febcca46c8037d3a81612991e6c209a",
        "6b550f9495947fc279d12c38feaf98500e8d0646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (aka \"Andrew\u0027s patch-bomb\")\n\nAndrew elucidates:\n - First installmeant of MM.  We have a HUGE number of MM patches this\n   time.  It\u0027s crazy.\n - MAINTAINERS updates\n - backlight updates\n - leds\n - checkpatch updates\n - misc ELF stuff\n - rtc updates\n - reiserfs\n - procfs\n - some misc other bits\n\n* akpm: (124 commits)\n  user namespace: make signal.c respect user namespaces\n  workqueue: make alloc_workqueue() take printf fmt and args for name\n  procfs: add hidepid\u003d and gid\u003d mount options\n  procfs: parse mount options\n  procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n  procfs: make proc_get_link to use dentry instead of inode\n  signal: add block_sigmask() for adding sigmask to current-\u003eblocked\n  sparc: make SA_NOMASK a synonym of SA_NODEFER\n  reiserfs: don\u0027t lock root inode searching\n  reiserfs: don\u0027t lock journal_init()\n  reiserfs: delay reiserfs lock until journal initialization\n  reiserfs: delete comments referring to the BKL\n  drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range\n  drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030\n  drivers/rtc/: remove redundant spi driver bus initialization\n  drivers/rtc/rtc-jz4740.c: make jz4740_rtc_driver static\n  drivers/rtc/rtc-mc13xxx.c: make mc13xxx_rtc_idtable static\n  rtc: convert drivers/rtc/* to use module_platform_driver()\n  drivers/rtc/rtc-wm831x.c: convert to devm_kzalloc()\n  drivers/rtc/rtc-wm831x.c: remove unused period IRQ handler\n  ...\n"
    },
    {
      "commit": "5742332dea5560d6c449b007d9539dbdc8ee531b",
      "tree": "64f4516b733638c966d6e66613e6ae016839d3f2",
      "parents": [
        "bfcb2cc798a14230d22b6dd999e2e680623de622"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Tue Jan 10 15:10:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "crc32: optimize inner loop\n\nTaking a pointer reference to each row in the crc table matrix, one can\nreduce the inner loop with a few insn\u0027s\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nCc: Bob Pearson \u003crpearson@systemfabricworks.com\u003e\nCc: Frank Zago \u003cfzago@systemfabricworks.com\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": "96b62067f970ff529c98913311d33f4b57b453dc",
      "tree": "4e696c155b2cce6fd0068a9be2a0c09e42bb38d6",
      "parents": [
        "c957b614bde8539416dcde8d702370ff30b1c662"
      ],
      "author": {
        "name": "Steve Hodgson",
        "email": "steve@purestorage.com",
        "time": "Tue Jan 10 15:09:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:49 2012 -0800"
      },
      "message": "btree: export btree_get_prev() so modules can use btree_for_each\n\nThe btree_for_each API is implemented with macros that internally call\nbtree_get_prev(), so if btree_get_prev() isn\u0027t exported then modules fail\nto link if they try to use one of the btree_for_each macros.  Since the\nrest of the btree API is exported, we should keep things orthogonal and\nmake this work too.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Steve Hodgson \u003csteve@purestorage.com\u003e\nAcked-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a464cbb3d483f2f195b614cffa4aa1b910a0440",
      "tree": "af57dee6436532dbb546b8670e9e1f6910d489b5",
      "parents": [
        "dbe950f201a8edd353b0bd9079e8d536ee4ce37c",
        "095f979a539245a46b9e5d600ec9c720b4d928e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 11:04:36 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 11:04:36 2012 -0800"
      },
      "message": "Merge branch \u0027drm-core-next\u0027 of git://people.freedesktop.org/~airlied/linux\n\n* \u0027drm-core-next\u0027 of git://people.freedesktop.org/~airlied/linux: (307 commits)\n  drm/nouveau/pm: fix build with HWMON off\n  gma500: silence gcc warnings in mid_get_vbt_data()\n  drm/ttm: fix condition (and vs or)\n  drm/radeon: double lock typo in radeon_vm_bo_rmv()\n  drm/radeon: use after free in radeon_vm_bo_add()\n  drm/sis|via: don\u0027t return stack garbage from free_mem ioctl\n  drm/radeon/kms: remove pointless CS flags priority struct\n  drm/radeon/kms: check if vm is supported in VA ioctl\n  drm: introduce drm_can_sleep and use in intel/radeon drivers. (v2)\n  radeon: Fix disabling PCI bus mastering on big endian hosts.\n  ttm: fix agp since ttm tt rework\n  agp: Fix multi-line warning message whitespace\n  drm/ttm/dma: Fix accounting error when calling ttm_mem_global_free_page and don\u0027t try to free freed pages.\n  drm/ttm/dma: Only call set_pages_array_wb when the page is not in WB pool.\n  drm/radeon/kms: sync across multiple rings when doing bo moves v3\n  drm/radeon/kms: Add support for multi-ring sync in CS ioctl (v2)\n  drm/radeon: GPU virtual memory support v22\n  drm: make DRM_UNLOCKED ioctls with their own mutex\n  drm: no need to hold global mutex for static data\n  drm/radeon/benchmark: common modes sweep ignores 640x480@32\n  ...\n\nFix up trivial conflicts in radeon/evergreen.c and vmwgfx/vmwgfx_kms.c\n"
    },
    {
      "commit": "8fcc99549522fc7a0bbaeb5755855ab0d9a59ce8",
      "tree": "a118eaef15d4ba22247f45ee01537ecc906cd161",
      "parents": [
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610",
        "7b7e5916aa2f46e57f8bd8cb89c34620ebfda5da"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 09 12:16:48 2012 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 09 12:16:48 2012 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n\nConflicts:\n\tsecurity/integrity/evm/evm_crypto.c\n\nResolved upstream fix vs. next conflict manually.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "7affca3537d74365128e477b40c529d6f2fe86c8",
      "tree": "20be92bd240029182fc89c2c4f25401b7715dcae",
      "parents": [
        "356b95424cfb456e14a59eaa579422ce014c424b",
        "ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 07 12:03:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 07 12:03:30 2012 -0800"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)\n  arm: fix up some samsung merge sysdev conversion problems\n  firmware: Fix an oops on reading fw_priv-\u003efw in sysfs loading file\n  Drivers:hv: Fix a bug in vmbus_driver_unregister()\n  driver core: remove __must_check from device_create_file\n  debugfs: add missing #ifdef HAS_IOMEM\n  arm: time.h: remove device.h #include\n  driver-core: remove sysdev.h usage.\n  clockevents: remove sysdev.h\n  arm: convert sysdev_class to a regular subsystem\n  arm: leds: convert sysdev_class to a regular subsystem\n  kobject: remove kset_find_obj_hinted()\n  m86k: gpio - convert sysdev_class to a regular subsystem\n  mips: txx9_sram - convert sysdev_class to a regular subsystem\n  mips: 7segled - convert sysdev_class to a regular subsystem\n  sh: dma - convert sysdev_class to a regular subsystem\n  sh: intc - convert sysdev_class to a regular subsystem\n  power: suspend - convert sysdev_class to a regular subsystem\n  power: qe_ic - convert sysdev_class to a regular subsystem\n  power: cmm - convert sysdev_class to a regular subsystem\n  s390: time - convert sysdev_class to a regular subsystem\n  ...\n\nFix up conflicts with \u0027struct sysdev\u0027 removal from various platform\ndrivers that got changed:\n - arch/arm/mach-exynos/cpu.c\n - arch/arm/mach-exynos/irq-eint.c\n - arch/arm/mach-s3c64xx/common.c\n - arch/arm/mach-s3c64xx/cpu.c\n - arch/arm/mach-s5p64x0/cpu.c\n - arch/arm/mach-s5pv210/common.c\n - arch/arm/plat-samsung/include/plat/cpu.h\n - arch/powerpc/kernel/sysfs.c\nand fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h\n"
    },
    {
      "commit": "9753dfe19a85e7e45a34a56f4cb2048bb4f50e27",
      "tree": "c017a1b4a70b8447c71b01d8b320e071546b5c9d",
      "parents": [
        "edf7c8148ec40c0fd27c0ef3f688defcc65e3913",
        "9f42f126154786e6e76df513004800c8c633f020"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 17:22:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 17:22:09 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1958 commits)\n  net: pack skb_shared_info more efficiently\n  net_sched: red: split red_parms into parms and vars\n  net_sched: sfq: extend limits\n  cnic: Improve error recovery on bnx2x devices\n  cnic: Re-init dev-\u003estats_addr after chip reset\n  net_sched: Bug in netem reordering\n  bna: fix sparse warnings/errors\n  bna: make ethtool_ops and strings const\n  xgmac: cleanups\n  net: make ethtool_ops const\n  vmxnet3\" make ethtool ops const\n  xen-netback: make ops structs const\n  virtio_net: Pass gfp flags when allocating rx buffers.\n  ixgbe: FCoE: Add support for ndo_get_fcoe_hbainfo() call\n  netdev: FCoE: Add new ndo_get_fcoe_hbainfo() call\n  igb: reset PHY after recovering from PHY power down\n  igb: add basic runtime PM support\n  igb: Add support for byte queue limits.\n  e1000: cleanup CE4100 MDIO registers access\n  e1000: unmap ce4100_gbe_mdio_base_virt in e1000_remove\n  ...\n"
    },
    {
      "commit": "fb7ebfe4108e2cdfa2bb88e57148087717463dfa",
      "tree": "e18690b45566b6c4df7598524bdbeb71fbd80ba1",
      "parents": [
        "cda57bf9348fdbf4b8a830d6f9eb7da81df2f486"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jan 04 15:50:02 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 06 12:15:21 2012 -0800"
      },
      "message": "PCI: Increase resource array mask bit size in pcim_iomap_regions()\n\nDEVICE_COUNT_RESOURCE will be bigger than 16 when SRIOV supported is enabled.\n\nLet them pass with int just like pci_enable_resources().\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df",
      "tree": "d851c923f85566572112d4c0f884cff388a3cc05",
      "parents": [
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610",
        "ea04018e6bc5ddb2f0466c0e5b986bd4901b7e8e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 11:42:52 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 11:42:52 2012 -0800"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 into Linux 3.2\n\nThis resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,\nand it fixes the build error in the arch/x86/kernel/microcode_core.c\nfile, that the merge did not catch.\n\nThe microcode_core.c patch was provided by Stephen Rothwell\n\u003csfr@canb.auug.org.au\u003e who was invaluable in the merge issues involved\nwith the large sysdev removal process in the driver-core tree.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8c717b72dec32a50666175b62b41de24e4b39be7",
      "tree": "e2b4335496cbddb5cded7b1bfd7579ee33f60505",
      "parents": [
        "07d106d0a33d6063d2061305903deb02489eba20",
        "dc4218bd0fe499fce2896f88101ea42dac1f60fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 07:53:34 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 07:53:34 2012 -0800"
      },
      "message": "Merge branch \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timer: Use debugobjects to catch deletion of uninitialized timers\n  timer: Setup uninitialized timer with a stub callback\n  debugobjects: Extend to assert that an object is initialized\n  debugobjects: Be smarter about static objects\n"
    },
    {
      "commit": "f4ae40a6a50a98ac23d4b285f739455e926a473e",
      "tree": "c84d7393700bd85e5285a194f8c22d4d00e36b28",
      "parents": [
        "48176a973d65572e61d0ce95495e5072887e6fb6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 04:33:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch debugfs to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "abb434cb0539fb355c1c921f8fd761efbbac3462",
      "tree": "24a7d99ec161f8fd4dc9ff03c9c4cc93be883ce6",
      "parents": [
        "2494654d4890316e7340fb8b3458daad0474a1b9",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n\nJust two overlapping changes, one added an initialization of\na local variable, and another change added a new local variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "b3e8d7b2478401b2f25f4566a90faad54f7d6d07"
}
