)]}'
{
  "log": [
    {
      "commit": "f39cdaebb89dc3e6dd4f3e75b6d4e87ef12190af",
      "tree": "3e6db2d5c97c822591350be26a09097589ef5b8c",
      "parents": [
        "10d8935f46e5028847b179757ecbf9238b13d129"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jun 20 12:53:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 20 14:39:36 2012 -0700"
      },
      "message": "fault-inject: avoid call to random32() if fault injection is disabled\n\nAfter enabling CONFIG_FAILSLAB I noticed random32 in profiles even if slub\nfault injection wasn\u0027t enabled at runtime.\n\nshould_fail forces a comparison against random32() even if probability is\n0:\n\n        if (attr-\u003eprobability \u003c\u003d random32() % 100)\n                return false;\n\nAdd a check up front for probability \u003d\u003d 0 and avoid all of the more\ncomplicated checks.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a95f9b6e092ed862278e08266207c7ab231076b4",
      "tree": "c5daf86ce89b3033c051dfc7b2955981d6add16d",
      "parents": [
        "a41b0e71563166762ee9d4905f3aa518a9348ed4",
        "4a1e001d2bb75c47a9cdbbfb66ae51daff1ddcba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 15 16:52:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 15 16:52:35 2012 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core updates (RCU and locking) from Ingo Molnar:\n \"Most of the diffstat comes from the RCU slow boot regression fixes,\n  but there\u0027s also a debuggability improvements/fixes.\"\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  memblock: Document memblock_is_region_{memory,reserved}()\n  rcu: Precompute RCU_FAST_NO_HZ timer offsets\n  rcu: Move RCU_FAST_NO_HZ per-CPU variables to rcu_dynticks structure\n  rcu: Update RCU_FAST_NO_HZ tracing for lazy callbacks\n  rcu: RCU_FAST_NO_HZ detection of callback adoption\n  spinlock: Indicate that a lockup is only suspected\n  kdump: Execute kmsg_dump(KMSG_DUMP_PANIC) after smp_send_stop()\n  panic: Make panic_on_oops configurable\n"
    },
    {
      "commit": "39caa0916ef27cf1da5026eb708a2b8413156f75",
      "tree": "8cabf096e8a485ac623883ad57064ca1d18f253b",
      "parents": [
        "cbf8ae32f66a9ceb8907ad9e16663c2a29e48990"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Jun 07 14:21:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 14:43:55 2012 -0700"
      },
      "message": "btree: catch NULL value before it does harm\n\nStoring NULL values in the btree is illegal and can lead to memory\ncorruption and possible other fun as well.  Catch it on insert, instead\nof waiting for the inevitable.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbf8ae32f66a9ceb8907ad9e16663c2a29e48990",
      "tree": "0e290072f6c077fffeafd74b540c7536e3aa9873",
      "parents": [
        "7d8a45695cc8f9fcdf4121fcbd897ecb63f758e4"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Jun 07 14:21:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 07 14:43:55 2012 -0700"
      },
      "message": "btree: fix tree corruption in btree_get_prev()\n\nThe memory the parameter __key points to is used as an iterator in\nbtree_get_prev(), so if we save off a bkey() pointer in retry_key and\nthen assign that to __key, we\u0027ll end up corrupting the btree internals\nwhen we do eg\n\n\tlongcpy(__key, bkey(geo, node, i), geo-\u003ekeylen);\n\nto return the key value.  What we should do instead is use longcpy() to\ncopy the key value that retry_key points to __key.\n\nThis can cause a btree to get corrupted by seemingly read-only\noperations such as btree_for_each_safe.\n\n[akpm@linux-foundation.org: avoid the double longcpy()]\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nAcked-by: Joern Engel \u003cjoern@logfs.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "374916ed16180b8de388699704e827e7740be525",
      "tree": "5ef81883ac392c0ee57dd53cfdbc64e863844957",
      "parents": [
        "9e68447f5b38d6092a6feeeb713a6564e963e68b",
        "aba336bd1d46d6b0404b06f6915ed76150739057"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 06 09:49:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 06 09:49:28 2012 -0700"
      },
      "message": "Merge tag \u0027md-3.5-fixes\u0027 of git://neil.brown.name/md\n\nPull two md fixes from NeilBrown:\n \"One sparse-warning fix, one bugfix for 3.4-stable\"\n\n* tag \u0027md-3.5-fixes\u0027 of git://neil.brown.name/md:\n  md: raid1/raid10: fix problem with merge_bvec_fn\n  lib/raid6: fix sparse warnings in recovery functions\n"
    },
    {
      "commit": "8a173b1476d126674104c7c5c6cef0bcd824b001",
      "tree": "788d4c8a018ee939f7b7fcbb782a23259e274d2c",
      "parents": [
        "c7f5f4ab10ce4e05b9f8877f1fd112faba71f175"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue May 29 11:18:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 11:34:20 2012 +0200"
      },
      "message": "spinlock: Indicate that a lockup is only suspected\n\nOn an over-committed KVM system we got a:\n\n  \"BUG: spinlock lockup on CPU#2, swapper/2/0\"\n\nmessage on the heavily contended virtio blk spinlock.\n\nWhile we might want to reconsider the locking of virtio-blk\n(lock is held while switching to the host) this patch tries to\nmake the message clearer: the lockup is only suspected.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1338283124-7063-1-git-send-email-borntraeger@de.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c7f5f4ab10ce4e05b9f8877f1fd112faba71f175",
      "tree": "f4e09bf621f0201283167f17f2b33461042cc1a7",
      "parents": [
        "eea5b5510fc5545d15b69da8e485a7424ae388cf",
        "62be73eafaa045d3233337303fb140f7f8a61135"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 11:12:55 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 11:12:55 2012 +0200"
      },
      "message": "Merge branch \u0027core/debug\u0027 into core/urgent\n\nMerge two debugging patchlets that were waiting for\npreparatory commits to hit upstream.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fffaee365fded09f9ebf2db19066065fa54323c3",
      "tree": "f6a6d331fa62c9814f9875a845afad1e7994cbde",
      "parents": [
        "f9ba7179ce91fb77b2adf6eaab3676ab3a1f5a15"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue Jun 05 21:36:33 2012 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 10:46:40 2012 -0700"
      },
      "message": "radix-tree: fix contiguous iterator\n\nThis patch fixes bug in macro radix_tree_for_each_contig().\n\nIf radix_tree_next_slot() sees NULL in next slot it returns NULL, but following\nradix_tree_next_chunk() switches iterating into next chunk. As result iterating\nbecomes non-contiguous and breaks vfs \"splice\" and all its users.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nReported-and-bisected-by: Hans de Bruin \u003cjmdebruin@xmsnet.nl\u003e\nReported-and-bisected-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nReported-bisected-and-tested-by: Toralf Förster \u003ctoralf.foerster@gmx.de\u003e\nLink: https://lkml.org/lkml/2012/6/5/64\nCc: stable \u003cstable@vger.kernel.org\u003e # 3.4.x\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fc3acf2918fa158dc651a0c824a23944e956919",
      "tree": "3258f1037ee45c3799d12805d78679e41fdc98c9",
      "parents": [
        "63004afa718b1506fe9a286075b3b2d8c6ca2b9b",
        "9ca3cc6f3026946ba655e863ca2096339e667639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 16:22:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 16:22:51 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking updates from David Miller:\n\n 1) Make syn floods consume significantly less resources by\n\n    a) Not pre-COW\u0027ing routing metrics for SYN/ACKs\n    b) Mirroring the device queue mapping of the SYN for the SYN/ACK\n       reply.\n\n    Both from Eric Dumazet.\n\n 2) Fix calculation errors in Byte Queue Limiting, from Hiroaki SHIMODA.\n\n 3) Validate the length requested when building a paged SKB for a\n    socket, so we don\u0027t overrun the page vector accidently.  From Jason\n    Wang.\n\n 4) When netlabel is disabled, we abort all IP option processing when we\n    see a CIPSO option.  This isn\u0027t the right thing to do, we should\n    simply skip over it and continue processing the remaining options\n    (if any).  Fix from Paul Moore.\n\n 5) SRIOV fixes for the mellanox driver from Jack orgenstein and Marcel\n    Apfelbaum.\n\n 6) 8139cp enables the receiver before the ring address is properly\n    programmed, which potentially lets the device crap over random\n    memory.  Fix from Jason Wang.\n\n 7) e1000/e1000e fixes for i217 RST handling, and an improper buffer\n    address reference in jumbo RX frame processing from Bruce Allan and\n    Sebastian Andrzej Siewior, respectively.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  fec_mpc52xx: fix timestamp filtering\n  mcs7830: Implement link state detection\n  e1000e: fix Rapid Start Technology support for i217\n  e1000: look into the page instead of skb-\u003edata for e1000_tbi_adjust_stats()\n  r8169: call netif_napi_del at errpaths and at driver unload\n  tcp: reflect SYN queue_mapping into SYNACK packets\n  tcp: do not create inetpeer on SYNACK message\n  8139cp/8139too: terminate the eeprom access with the right opmode\n  8139cp: set ring address before enabling receiver\n  cipso: handle CIPSO options correctly when NetLabel is disabled\n  net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()\n  bql: Avoid possible inconsistent calculation.\n  bql: Avoid unneeded limit decrement.\n  bql: Fix POSDIFF() to integer overflow aware.\n  net/mlx4_core: Fix obscure mlx4_cmd_box parameter in QUERY_DEV_CAP\n  net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap\n  net/mlx4_core: Fixes for VF / Guest startup flow\n  net/mlx4_en: Fix improper use of \"port\" parameter in mlx4_en_event\n  net/mlx4_core: Fix number of EQs used in ICM initialisation\n  net/mlx4_core: Fix the slave_id out-of-range test in mlx4_eq_int\n"
    },
    {
      "commit": "08615d7d85e5aa02c05bf6c4dde87d940e7f85f6",
      "tree": "18906149d313d25914160aca21cedf54b3a7e818",
      "parents": [
        "9fdadb2cbaf4b482dfd6086e8bd3d2db071a1702",
        "0a4dd35c67b144d8ef9432120105f1aab9293ee9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:10:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge misc patches from Andrew Morton:\n\n - the \"misc\" tree - stuff from all over the map\n\n - checkpatch updates\n\n - fatfs\n\n - kmod changes\n\n - procfs\n\n - cpumask\n\n - UML\n\n - kexec\n\n - mqueue\n\n - rapidio\n\n - pidns\n\n - some checkpoint-restore feature work.  Reluctantly.  Most of it\n   delayed a release.  I\u0027m still rather worried that we don\u0027t have a\n   clear roadmap to completion for this work.\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (78 patches)\n  kconfig: update compression algorithm info\n  c/r: prctl: add ability to set new mm_struct::exe_file\n  c/r: prctl: extend PR_SET_MM to set up more mm_struct entries\n  c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat\n  syscalls, x86: add __NR_kcmp syscall\n  fs, proc: introduce /proc/\u003cpid\u003e/task/\u003ctid\u003e/children entry\n  sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE\n  aio/vfs: cleanup of rw_copy_check_uvector() and compat_rw_copy_check_uvector()\n  eventfd: change int to __u64 in eventfd_signal()\n  fs/nls: add Apple NLS\n  pidns: make killed children autoreap\n  pidns: use task_active_pid_ns in do_notify_parent\n  rapidio/tsi721: add DMA engine support\n  rapidio: add DMA engine support for RIO data transfers\n  ipc/mqueue: add rbtree node caching support\n  tools/selftests: add mq_perf_tests\n  ipc/mqueue: strengthen checks on mqueue creation\n  ipc/mqueue: correct mq_attr_ok test\n  ipc/mqueue: improve performance of send/recv\n  selftests: add mq_open_tests\n  ...\n"
    },
    {
      "commit": "133fd9f5cda2d86904126f4b9fa4e8f4330c9569",
      "tree": "0e60bfcec85f123243cf1ffe735264527efd6d0e",
      "parents": [
        "725fe002d315c2501c110b7245d3eb4f4535f4d6"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Thu May 31 16:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "vsprintf: further optimize decimal conversion\n\nPrevious code was using optimizations which were developed to work well\neven on narrow-word CPUs (by today\u0027s standards).  But Linux runs only on\n32-bit and wider CPUs.  We can use that.\n\nFirst: using 32x32-\u003e64 multiply and trivial 32-bit shift, we can correctly\ndivide by 10 much larger numbers, and thus we can print groups of 9 digits\ninstead of groups of 5 digits.\n\nNext: there are two algorithms to print larger numbers.  One is generic:\ndivide by 1000000000 and repeatedly print groups of (up to) 9 digits.\nIt\u0027s conceptually simple, but requires an (unsigned long long) /\n1000000000 division.\n\nSecond algorithm splits 64-bit unsigned long long into 16-bit chunks,\nmanipulates them cleverly and generates groups of 4 decimal digits.  It so\nhappens that it does NOT require long long division.\n\nIf long is \u003e 32 bits, division of 64-bit values is relatively easy, and we\nwill use the first algorithm.  If long long is \u003e 64 bits (strange\narchitecture with VERY large long long), second algorithm can\u0027t be used,\nand we again use the first one.\n\nElse (if long is 32 bits and long long is 64 bits) we use second one.\n\nAnd third: there is a simple optimization which takes fast path not only\nfor zero as was done before, but for all one-digit numbers.\n\nIn all tested cases new code is faster than old one, in many cases by 30%,\nin few cases by more than 50% (for example, on x86-32, conversion of\n12345678).  Code growth is ~0 in 32-bit case and ~130 bytes in 64-bit\ncase.\n\nThis patch is based upon an original from Michal Nazarewicz.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Douglas W Jones \u003cjones@cs.uiowa.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "725fe002d315c2501c110b7245d3eb4f4535f4d6",
      "tree": "c68759e4765673eb1f28e220edea40d84d9ff744",
      "parents": [
        "d84970bbaf9a09b3fc60c18ee6d59bc9cb4c3b8a"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu May 31 16:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "vsprintf: correctly handle width when \u0027#\u0027 flag used in %#p format\n\nThe \u0027%p\u0027 output of the kernel\u0027s vsprintf() uses spec.field_width to\ndetermine how many digits to output based on 2 * sizeof(void*) so that all\ndigits of a pointer are shown.  ie.  a pointer will be output as\n\"001A2B3C\" instead of \"1A2B3C\".  However, if the \u0027#\u0027 flag is used in the\nformat (%#p), then the code doesn\u0027t take into account the width of the\n\u00270x\u0027 prefix and will end up outputing \"0x1A2B3C\" instead of \"0x001A2B3C\".\n\nThis patch reworks the \"pointer()\" format hook to include 2 characters for\nthe \u00270x\u0027 prefix if the \u0027#\u0027 flag is included.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "914bec1011a25f65cdc94988a6f974bfb9a3c10d",
      "tree": "2651e473b6f02888b595f215fbfb9710e6e231ff",
      "parents": [
        "25426b794efdc70dde7fd3134dc56fac3e7d562d"
      ],
      "author": {
        "name": "Hiroaki SHIMODA",
        "email": "shimoda.hiroaki@gmail.com",
        "time": "Wed May 30 12:25:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 31 18:18:17 2012 -0400"
      },
      "message": "bql: Avoid possible inconsistent calculation.\n\ndql-\u003enum_queued could change while processing dql_completed().\nTo provide consistent calculation, added an on stack variable.\n\nSigned-off-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25426b794efdc70dde7fd3134dc56fac3e7d562d",
      "tree": "800ef2d96fbf9cc6e8973d517f714edbda6b4fc2",
      "parents": [
        "0cfd32b736ae0c36b42697584811042726c07cba"
      ],
      "author": {
        "name": "Hiroaki SHIMODA",
        "email": "shimoda.hiroaki@gmail.com",
        "time": "Wed May 30 12:25:19 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 31 18:18:16 2012 -0400"
      },
      "message": "bql: Avoid unneeded limit decrement.\n\nWhen below pattern is observed,\n\n                                               TIME\n       dql_queued()         dql_completed()     |\n      a) initial state                          |\n                                                |\n      b) X bytes queued                         V\n\n      c) Y bytes queued\n                           d) X bytes completed\n      e) Z bytes queued\n                           f) Y bytes completed\n\na) dql-\u003elimit has already some value and there is no in-flight packet.\nb) X bytes queued.\nc) Y bytes queued and excess limit.\nd) X bytes completed and dql-\u003eprev_ovlimit is set and also\n   dql-\u003eprev_num_queued is set Y.\ne) Z bytes queued.\nf) Y bytes completed. inprogress and prev_inprogress are true.\n\nAt f), according to the comment, all_prev_completed becomes\ntrue and limit should be increased. But POSDIFF() ignores\n(completed \u003d\u003d dql-\u003eprev_num_queued) case, so limit is decreased.\n\nSigned-off-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cfd32b736ae0c36b42697584811042726c07cba",
      "tree": "1e667905d1a668206875db4dc5eeb6d72a7c299d",
      "parents": [
        "401453a31ea8192eb94f9337f5608de907681bfb"
      ],
      "author": {
        "name": "Hiroaki SHIMODA",
        "email": "shimoda.hiroaki@gmail.com",
        "time": "Wed May 30 12:24:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 31 18:18:16 2012 -0400"
      },
      "message": "bql: Fix POSDIFF() to integer overflow aware.\n\nPOSDIFF() fails to take into account integer overflow case.\n\nSigned-off-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f83766d4b18774c856329a8fca4c9338dfeda39",
      "tree": "a19ea2165755f5700d7f37a61ece7edce231744f",
      "parents": [
        "4523e1458566a0e8ecfaff90f380dd23acc44d27",
        "28f8571e1e84782244cc7bf1b129baf6cdc0832e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 08:49:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 08:49:28 2012 -0700"
      },
      "message": "Merge tag \u0027iommu-updates-v3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\nPull IOMMU updates from Joerg Roedel:\n \"Not much stuff this time.  The only change to the IOMMU core code is\n  the addition of a handle to the fault handling code.  A few updates to\n  the AMD IOMMU driver to work around new errata.  The other patches are\n  mostly fixes and enhancements to the existing ARM IOMMU drivers and\n  documentation updates.\n\n  A new IOMMU driver for the Exynos platform was also underway but got\n  merged via the Samsung tree and is not part of this tree.\"\n\n* tag \u0027iommu-updates-v3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:\n  Documentation: kernel-parameters.txt Add amd_iommu_dump\n  iommu/core: pass a user-provided token to fault handlers\n  iommu/tegra: gart: Fix register offset correctly\n  iommu: OMAP: device detach on domain destroy\n  iommu: tegra/gart: Add device tree support\n  iommu: tegra/gart: use correct gart_device\n  iommu/tegra: smmu: Print device name correctly\n  iommu/amd: Add workaround for event log erratum\n  iommu/amd: Check for the right TLP prefix bit\n  dma-debug: release free_entries_lock before saving stack trace\n"
    },
    {
      "commit": "28f8571e1e84782244cc7bf1b129baf6cdc0832e",
      "tree": "31838b4724f687e23d439c5b1854eb4ce9598288",
      "parents": [
        "3d06fca8d2aa3543030e40b95f1d62f9f5a03540",
        "29cdd4e4ec91aae239192bb122d377d15a9d75e3",
        "803b5277215c75a5cc3b3eb5d19015c7290601a5",
        "774dfc9bb7f2ab1950a790a8f13eca3d5c580033",
        "77ca23323594589ac8cba1c8d59bfe7e85d3cb8b",
        "c099cf1731f5929af18928a50c8c814b44b30f98"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed May 30 12:41:29 2012 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed May 30 12:41:29 2012 +0200"
      },
      "message": "Merge branches \u0027iommu/fixes\u0027, \u0027dma-debug\u0027, \u0027arm/omap\u0027, \u0027arm/tegra\u0027, \u0027core\u0027 and \u0027x86/amd\u0027 into next\n"
    },
    {
      "commit": "7c20342230ff370c397fc4a9c4c1e7a91964bb66",
      "tree": "e9ccb5eaee5bcd4578f7ea30311f2c3830815b9c",
      "parents": [
        "5536805292e64393f57054de66578f17eb1ea994"
      ],
      "author": {
        "name": "Pierre Carrier",
        "email": "pierre@spotify.com",
        "time": "Tue May 29 15:07:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "lib/vsprintf.c: \"%#o\",0 becomes \u00270\u0027 instead of \u002700\u0027\n\nnumber()\u0027s behaviour is slighly changed: 0 becomes \"0\" instead of \"00\"\nwhen using the flag SPECIAL and base 8.\n\nBefore:\nNumber\\Format  %o    %#o  %x    %#x\n            0     0   00    0   0x0\n            1     1   01    1   0x1\n           16    20  020   10  0x10\n\nAfter:\nNumber\\Format  %o    %#o  %x    %#x\n            0     0    0    0   0x0\n            1     1   01    1   0x1\n           16    20  020   10  0x10\n\nSigned-off-by: Pierre Carrier \u003cpierre@spotify.com\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5536805292e64393f57054de66578f17eb1ea994",
      "tree": "d7c283b123fd1fa0a944b500aba31f01207a98fd",
      "parents": [
        "fd0a37355c4d39affa39d5cd75168fb94b292318"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Tue May 29 15:07:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "radix-tree: fix preload vector size\n\nWe are not preallocating a sufficient number of nodes.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd0a37355c4d39affa39d5cd75168fb94b292318",
      "tree": "66bdbffce2ce960ff4566ed9dd6bd0e5e6f0eee2",
      "parents": [
        "4796dd200db943e36f876e7029552212e5bbdf33"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue May 29 15:07:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "spinlock_debug: print kallsyms name for lock\n\nWhen a spinlock warning is printed we usually get\n\n BUG: spinlock bad magic on CPU#0, modprobe/111\n  lock: 0xdff09f38, .magic: 00000000, .owner: /0, .owner_cpu: 0\n\nbut it\u0027s nicer to print the symbol for the lock if we have it so that we\ncan avoid \u0027grep dff09f38 /proc/kallsyms\u0027 to find out which lock it was.\nUse kallsyms to print the symbol name so we get something a bit easier to\nread\n\n BUG: spinlock bad magic on CPU#0, modprobe/112\n  lock: test_lock, .magic: 00000000, .owner: \u003cnone\u003e/-1, .owner_cpu: 0\n\nIf the lock is not in kallsyms %ps will fall back to printing the address\ndirectly.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4796dd200db943e36f876e7029552212e5bbdf33",
      "tree": "a594c2b1ce1f4dbc96b25a516e49655917a9fa30",
      "parents": [
        "05a6c8a9226599f921bd0b6e439dbc04df96a6fc"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue May 29 15:07:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "vsprintf: fix %ps on non symbols when using kallsyms\n\nUsing %ps in a printk format will sometimes fail silently and print the\nempty string if the address passed in does not match a symbol that\nkallsyms knows about.  But using %pS will fall back to printing the full\naddress if kallsyms can\u0027t find the symbol.  Make %ps act the same as %pS\nby falling back to printing the address.\n\nWhile we\u0027re here also make %ps print the module that a symbol comes from\nso that it matches what %pS already does.  Take this simple function for\nexample (in a module):\n\n\tstatic void test_printk(void)\n\t{\n\t\tint test;\n\t\tpr_info(\"with pS: %pS\\n\", \u0026test);\n\t\tpr_info(\"with ps: %ps\\n\", \u0026test);\n\t}\n\nBefore this patch:\n\n with pS: 0xdff7df44\n with ps:\n\nAfter this patch:\n\n with pS: 0xdff7df44\n with ps: 0xdff7df44\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05a6c8a9226599f921bd0b6e439dbc04df96a6fc",
      "tree": "9d95bd7811837139f600a7aa5044e12bf26f6d39",
      "parents": [
        "68aecfb97978fe6730615f92f53c11149e929052"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 29 15:07:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "lib/bitmap.c: fix documentation for scnprintf() functions\n\nThe code comments for bscnl_emit() and bitmap_scnlistprintf() are\ndescribing snprintf() return semantics, but these functions use\nscnprintf() return semantics.  Fix that, and document the\nbitmap_scnprintf() return value as well.\n\nCc: Ryota Ozaki \u003cozaki.ryota@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": "68aecfb97978fe6730615f92f53c11149e929052",
      "tree": "bb94a6c90c670f810c7851b586e552140d51a8a0",
      "parents": [
        "26d7b99b835294ab21e2a2b4b3bdf04b03b0028d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 29 15:07:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "lib/string_helpers.c: make arrays static\n\nMoving these arrays into static storage shrinks the kernel a bit:\n\n   text    data     bss     dec     hex filename\n    723     112      64     899     383 lib/string_helpers.o\n    516     272      64     852     354 lib/string_helpers.o\n\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: \"Aneesh Kumar K.V\" \u003caneesh.kumar@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": "26d7b99b835294ab21e2a2b4b3bdf04b03b0028d",
      "tree": "5fc743efbd38408361b7bf99eb1fadebd7a5940d",
      "parents": [
        "17a801f4bfeb8d55df1b05fa7adb16ada504e765"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue May 29 15:07:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "lib/test-kstrtox.c: mark const init data with __initconst instead of __initdata\n\nAs long as there is no other non-const variable marked __initdata in the\nsame compilation unit it doesn\u0027t hurt.  If there were one however\ncompilation would fail with\n\n\terror: $variablename causes a section type conflict\n\nbecause a section containing const variables is marked read only and so\ncannot contain non-const variables.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17a801f4bfeb8d55df1b05fa7adb16ada504e765",
      "tree": "7aa3a8683c48ff5d5c5fd987f0edbc34171ddb7e",
      "parents": [
        "401dea7f7ade662b77c33ce2498fb5b4f97cb29c"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue May 29 15:07:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "list_debug: WARN for adding something already in the list\n\nWe were bitten by this at one point and added an additional sanity test\nfor DEBUG_LIST.  You can\u0027t validly add a list_head to a list where either\nprev or next is the same as the thing you\u0027re adding.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3af684c7c5b3dddf7c5d83b8ad431380cdc6f164",
      "tree": "a2b04a9e2b0d9d2ffc93ca557f941bd6adeb0856",
      "parents": [
        "365811d6f9bd98543bedc02b72d94f0f0faf3670"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Tue May 29 15:06:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:21 2012 -0700"
      },
      "message": "swiotlb: print physical addresses consistently with other parts of kernel\n\nPrint swiotlb info in a style consistent with the %pR style used elsewhere\nin the kernel.  For example:\n\n    -Placing 64MB software IO TLB between ffff88007a662000 - ffff88007e662000\n    -software IO TLB at phys 0x7a662000 - 0x7e662000\n    +software IO TLB [mem 0x7a662000-0x7e661fff] (64MB) mapped at [ffff88007a662000-ffff88007e661fff]\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: 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": "2aa4ee2a8805ec0260dde971e9e6699917c868a7",
      "tree": "387ae430fbdeece7ff0335152abacdf525c5e820",
      "parents": [
        "1e2aec873ad6d16538512dbb96853caa1fa076af"
      ],
      "author": {
        "name": "Jim Kukunas",
        "email": "james.t.kukunas@linux.intel.com",
        "time": "Mon May 28 14:10:22 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon May 28 14:10:22 2012 +1000"
      },
      "message": "lib/raid6: fix sparse warnings in recovery functions\n\nMake the recovery functions static to fix the following sparse warnings:\n\nlib/raid6/recov.c:25:6: warning: symbol \u0027raid6_2data_recov_intx1\u0027 was\nnot declared. Should it be static?\nlib/raid6/recov.c:69:6: warning: symbol \u0027raid6_datap_recov_intx1\u0027 was\nnot declared. Should it be static?\nlib/raid6/recov_ssse3.c:22:6: warning: symbol \u0027raid6_2data_recov_ssse3\u0027\nwas not declared. Should it be static?\nlib/raid6/recov_ssse3.c:197:6: warning: symbol \u0027raid6_datap_recov_ssse3\u0027\nwas not declared. Should it be static?\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Jim Kukunas \u003cjames.t.kukunas@linux.intel.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "69ea6405980f217557b6a58f70ff60d8d88519a5",
      "tree": "d5e2b702e0226465d6962a28d1406c2deeb9fedd",
      "parents": [
        "1e2aec873ad6d16538512dbb96853caa1fa076af"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon May 28 12:59:56 2012 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 27 20:59:46 2012 -0700"
      },
      "message": "lib: Fix generic strnlen_user for 32-bit big-endian machines\n\nThe aligned_byte_mask() definition is wrong for 32-bit big-endian\nmachines: the \"7-(n)\" part of the definition assumes a long is 8\nbytes.  This fixes it by using BITS_PER_LONG - 8 instead of 8*7.\nTested on 32-bit and 64-bit PowerPC.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e2aec873ad6d16538512dbb96853caa1fa076af",
      "tree": "d792b19ac47be44debd24610ae27f1330fa490e4",
      "parents": [
        "ae32adc1e06d096399f195eeda12d443d53539c4",
        "2c66f623631709aa5f2e4c14c7e089682e7394a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 16:57:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 16:57:16 2012 -0700"
      },
      "message": "Merge branch \u0027generic-string-functions\u0027\n\nThis makes \u003casm/word-at-a-time.h\u003e actually live up to its promise of\nallowing architectures to help tune the string functions that do their\nwork a word at a time.\n\nDavid had already taken the x86 strncpy_from_user() function, modified\nit to work on sparc, and then done the extra work to make it generically\nuseful.  This then expands on that work by making x86 use that generic\nversion, completing the circle.\n\nBut more importantly, it fixes up the word-at-a-time interfaces so that\nit\u0027s now easy to also support things like strnlen_user(), and pretty\nmuch most random string functions.\n\nDavid reports that it all works fine on sparc, and Jonas Bonn reported\nthat an earlier version of this worked on OpenRISC too.  It\u0027s pretty\neasy for architectures to add support for this and just replace their\nprivate versions with the generic code.\n\n* generic-string-functions:\n  sparc: use the new generic strnlen_user() function\n  x86: use the new generic strnlen_user() function\n  lib: add generic strnlen_user() function\n  word-at-a-time: make the interfaces truly generic\n  x86: use generic strncpy_from_user routine\n"
    },
    {
      "commit": "39b6cc668c5ecc66f6f9c9293ffab681cb6f7065",
      "tree": "f048b17a1b1a0a0f6d6a8d33459e8789c600c634",
      "parents": [
        "27953437059c64d14086196eb96f43c78caa9db3",
        "3f81b2c49d31e763a9c1da831ceb6cef087cf6c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 12:50:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 12:50:04 2012 -0700"
      },
      "message": "Merge tag \u0027stmp-dev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull arm-soc stmp-dev library code from Olof Johansson:\n \"A number of devices are using a common register layout, this adds\n  support code for it in lib/stmp_device.c so we do not need to\n  duplicate it in each driver.\"\n\nFix up trivial conflicts in drivers/i2c/busses/i2c-mxs.c and\nlib/Makefile\n\n* tag \u0027stmp-dev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:\n  i2c: mxs: use global reset function\n  lib: add support for stmp-style devices\n"
    },
    {
      "commit": "a08c5356a3aaf638c41897ae4169de18db89595e",
      "tree": "fe0d1cb48a26cc000c199d484a139799d559a178",
      "parents": [
        "36126f8f2ed8168eb13aa0662b9b9585cba100a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:06:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:33:53 2012 -0700"
      },
      "message": "lib: add generic strnlen_user() function\n\nThis adds a new generic optimized strnlen_user() function that uses the\n\u003casm/word-at-a-time.h\u003e infrastructure to portably do efficient string\nhandling.\n\nIn many ways, strnlen is much simpler than strncpy, and in particular we\ncan always pre-align the words we load from memory.  That means that all\nthe worries about alignment etc are a non-issue, so this one can easily\nbe used on any architecture.  You obviously do have to do the\nappropriate word-at-a-time.h macros.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36126f8f2ed8168eb13aa0662b9b9585cba100a9",
      "tree": "543f6b6ab60dd3e47af931142aa84f0ba7749d43",
      "parents": [
        "4ae73f2d53255c388d50bf83c1681112a6f9cba1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 10:43:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:33:40 2012 -0700"
      },
      "message": "word-at-a-time: make the interfaces truly generic\n\nThis changes the interfaces in \u003casm/word-at-a-time.h\u003e to be a bit more\ncomplicated, but a lot more generic.\n\nIn particular, it allows us to really do the operations efficiently on\nboth little-endian and big-endian machines, pretty much regardless of\nmachine details.  For example, if you can rely on a fast population\ncount instruction on your architecture, this will allow you to make your\noptimized \u003casm/word-at-a-time.h\u003e file with that.\n\nNOTE! The \"generic\" version in include/asm-generic/word-at-a-time.h is\nnot truly generic, it actually only works on big-endian.  Why? Because\non little-endian the generic algorithms are wasteful, since you can\ninevitably do better. The x86 implementation is an example of that.\n\n(The only truly non-generic part of the asm-generic implementation is\nthe \"find_zero()\" function, and you could make a little-endian version\nof it.  And if the Kbuild infrastructure allowed us to pick a particular\nheader file, that would be lovely)\n\nThe \u003casm/word-at-a-time.h\u003e functions are as follows:\n\n - WORD_AT_A_TIME_CONSTANTS: specific constants that the algorithm\n   uses.\n\n - has_zero(): take a word, and determine if it has a zero byte in it.\n   It gets the word, the pointer to the constant pool, and a pointer to\n   an intermediate \"data\" field it can set.\n\n   This is the \"quick-and-dirty\" zero tester: it\u0027s what is run inside\n   the hot loops.\n\n - \"prep_zero_mask()\": take the word, the data that has_zero() produced,\n   and the constant pool, and generate an *exact* mask of which byte had\n   the first zero.  This is run directly *outside* the loop, and allows\n   the \"has_zero()\" function to answer the \"is there a zero byte\"\n   question without necessarily getting exactly *which* byte is the\n   first one to contain a zero.\n\n   If you do multiple byte lookups concurrently (eg \"hash_name()\", which\n   looks for both NUL and \u0027/\u0027 bytes), after you\u0027ve done the prep_zero_mask()\n   phase, the result of those can be or\u0027ed together to get the \"either\n   or\" case.\n\n - The result from \"prep_zero_mask()\" can then be fed into \"find_zero()\"\n   (to find the byte offset of the first byte that was zero) or into\n   \"zero_bytemask()\" (to find the bytemask of the bytes preceding the\n   zero byte).\n\n   The existence of zero_bytemask() is optional, and is not necessary\n   for the normal string routines.  But dentry name hashing needs it, so\n   if you enable DENTRY_WORD_AT_A_TIME you need to expose it.\n\nThis changes the generic strncpy_from_user() function and the dentry\nhashing functions to use these modified word-at-a-time interfaces.  This\ngets us back to the optimized state of the x86 strncpy that we lost in\nthe previous commit when moving over to the generic version.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce004178be1bbaa292e9e6497939e2970300095a",
      "tree": "1cd5306548947deaedd612189b56d35265217e8e",
      "parents": [
        "9978306e31a8f89bd81fbc4c49fd9aefb1d30d10",
        "c5389831cda3b38a56606a348a537a1332f2d729"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 15:10:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 15:10:28 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\nPull sparc changes from David S. Miller:\n \"This has the generic strncpy_from_user() implementation architectures\n  can now use, which we\u0027ve been developing on linux-arch over the past\n  few days.\n\n  For good measure I ran both a 32-bit and a 64-bit glibc testsuite run,\n  and the latter of which pointed out an adjustment I needed to make to\n  sparc\u0027s user_addr_max() definition.  Linus, you were right, STACK_TOP\n  was not the right thing to use, even on sparc itself :-)\n\n  From Sam Ravnborg, we have a conversion of sparc32 over to the common\n  alloc_thread_info_node(), since the aspect which originally blocked\n  our doing so (sun4c) has been removed.\"\n\nFix up trivial arch/sparc/Kconfig and lib/Makefile conflicts.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc: Fix user_addr_max() definition.\n  lib: Sparc\u0027s strncpy_from_user is generic enough, move under lib/\n  kernel: Move REPEAT_BYTE definition into linux/kernel.h\n  sparc: Increase portability of strncpy_from_user() implementation.\n  sparc: Optimize strncpy_from_user() zero byte search.\n  sparc: Add full proper error handling to strncpy_from_user().\n  sparc32: use the common implementation of alloc_thread_info_node()\n"
    },
    {
      "commit": "2922585b93294d47172a765115e0dbc1bfe1be19",
      "tree": "acb4436987d24b2a3fb3cef02097eefbc4762bbf",
      "parents": [
        "446969084d33a4064a39d280806da642c54ba4ac"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 13:12:28 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 13:12:28 2012 -0700"
      },
      "message": "lib: Sparc\u0027s strncpy_from_user is generic enough, move under lib/\n\nTo use this, an architecture simply needs to:\n\n1) Provide a user_addr_max() implementation via asm/uaccess.h\n\n2) Add \"select GENERIC_STRNCPY_FROM_USER\" to their arch Kcnfig\n\n3) Remove the existing strncpy_from_user() implementation and symbol\n   exports their architecture had.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "c80ddb526331a72c9e9d1480f85f6fd7c74e3d2d",
      "tree": "0212803a009f171990032abb94fad84156baa153",
      "parents": [
        "2c13bc0f8f0d3e13b42be70bf74fec8e56b58324",
        "1dff2b87a34a1ac1d1898ea109bf97ed396aca53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:08:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:08:40 2012 -0700"
      },
      "message": "Merge tag \u0027md-3.5\u0027 of git://neil.brown.name/md\n\nPull md updates from NeilBrown:\n \"It\u0027s been a busy cycle for md - lots of fun stuff here..  if you like\n  this kind of thing :-)\n\n  Main features:\n   - RAID10 arrays can be reshaped - adding and removing devices and\n     changing chunks (not \u0027far\u0027 array though)\n   - allow RAID5 arrays to be reshaped with a backup file (not tested\n     yet, but the priciple works fine for RAID10).\n   - arrays can be reshaped while a bitmap is present - you no longer\n     need to remove it first\n   - SSSE3 support for RAID6 syndrome calculations\n\n  and of course a number of minor fixes etc.\"\n\n* tag \u0027md-3.5\u0027 of git://neil.brown.name/md: (56 commits)\n  md/bitmap: record the space available for the bitmap in the superblock.\n  md/raid10: Remove extras after reshape to smaller number of devices.\n  md/raid5: improve removal of extra devices after reshape.\n  md: check the return of mddev_find()\n  MD RAID1: Further conditionalize \u0027fullsync\u0027\n  DM RAID: Use md_error() in place of simply setting Faulty bit\n  DM RAID: Record and handle missing devices\n  DM RAID: Set recovery flags on resume\n  md/raid5: Allow reshape while a bitmap is present.\n  md/raid10: resize bitmap when required during reshape.\n  md: allow array to be resized while bitmap is present.\n  md/bitmap: make sure reshape request are reflected in superblock.\n  md/bitmap: add bitmap_resize function to allow bitmap resizing.\n  md/bitmap: use DIV_ROUND_UP instead of open-code\n  md/bitmap: create a \u0027struct bitmap_counts\u0027 substructure of \u0027struct bitmap\u0027\n  md/bitmap: make bitmap bitops atomic.\n  md/bitmap: make _page_attr bitops atomic.\n  md/bitmap: merge bitmap_file_unmap and bitmap_file_put.\n  md/bitmap: remove async freeing of bitmap file.\n  md/bitmap: convert some spin_lock_irqsave to spin_lock_irq\n  ...\n"
    },
    {
      "commit": "19bec32d7f26f263dba13f2797d9c3245de2020b",
      "tree": "05654892c9ae1cc0af8e8f5cfaf2fb6a321a38ac",
      "parents": [
        "514b1923e1549162f1597f81113c0e5b72aed691",
        "fba60c620a6a9ec11140c179e5d0fe0bc3c3ea29",
        "74bc491795420254f8b9c782ec654c9ba005d3ac",
        "ddc5681ed33a279fdc188e98e71f0c539f08c6e6",
        "57da8b960b9a25646a8ddb5a9c1d0b5978e69bec",
        "e826abd523913f63eb03b59746ffb16153c53dc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 10:09:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 10:09:50 2012 -0700"
      },
      "message": "Merge branches \u0027x86-asm-for-linus\u0027, \u0027x86-cleanups-for-linus\u0027, \u0027x86-cpu-for-linus\u0027, \u0027x86-debug-for-linus\u0027 and \u0027x86-microcode-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull initial trivial x86 stuff from Ingo Molnar.\n\nVarious random cleanups and trivial fixes.\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86-64: Eliminate dead ia32 syscall handlers\n\n* \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/pci-calgary_64.c: Remove obsoleted simple_strtoul() usage\n  x86: Don\u0027t continue booting if we can\u0027t load the specified initrd\n  x86: kernel/dumpstack.c simple_strtoul cleanup\n  x86: kernel/check.c simple_strtoul cleanup\n  debug: Add CONFIG_READABLE_ASM\n  x86: spinlock.h: Remove REG_PTR_MODE\n\n* \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/cache_info: Fix setup of l2/l3 ids\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86: Avoid double stack traces with show_regs()\n\n* \u0027x86-microcode-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, microcode: microcode_core.c simple_strtoul cleanup\n"
    },
    {
      "commit": "e8650a08232e75274304b812ff04cfce9af9671c",
      "tree": "0609c942e6ca99016e788ff2ee2bbed1bb9215a4",
      "parents": [
        "3c2c4b73aa79e4a1b601710b59e092441175f4bb",
        "f70d4a95edc7da87f39cd8b603ba131df2c198ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial updates from Jiri Kosina:\n \"As usual, it\u0027s mostly typo fixes, redundant code elimination and some\n  documentation updates.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (57 commits)\n  edac, mips: don\u0027t change code that has been removed in edac/mips tree\n  xtensa: Change mail addresses of Hannes Weiner and Oskar Schirmer\n  lib: Change mail address of Oskar Schirmer\n  net: Change mail address of Oskar Schirmer\n  arm/m68k: Change mail address of Sebastian Hess\n  i2c: Change mail address of Oskar Schirmer\n  net: Fix tcp_build_and_update_options comment in struct tcp_sock\n  atomic64_32.h: fix parameter naming mismatch\n  Kconfig: replace \"--- help ---\" with \"---help---\"\n  c2port: fix bogus Kconfig \"default no\"\n  edac: Fix spelling errors.\n  qla1280: Remove redundant NULL check before release_firmware() call\n  remoteproc: remove redundant NULL check before release_firmware()\n  qla2xxx: Remove redundant NULL check before release_firmware() call.\n  aic94xx: Get rid of redundant NULL check before release_firmware() call\n  tehuti: delete redundant NULL check before release_firmware()\n  qlogic: get rid of a redundant test for NULL before call to release_firmware()\n  bna: remove redundant NULL test before release_firmware()\n  tg3: remove redundant NULL test before release_firmware() call\n  typhoon: get rid of redundant conditional before all to release_firmware()\n  ...\n"
    },
    {
      "commit": "5d4e2d08e7fdf7339f84a1c670d296a77e02f881",
      "tree": "1c419660defa56191091dfdf50fdb57a72009173",
      "parents": [
        "fb2123fad3b499f0898835b19dbb93b18d27ee98",
        "94ca629e40eb7e997be21d8065c25e4f3797b03f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 16:02:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 16:02:13 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.5-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core updates from Greg Kroah-Hartman:\n \"Here\u0027s the driver core, and other driver subsystems, pull request for\n  the 3.5-rc1 merge window.\n\n  Outside of a few minor driver core changes, we ended up with the\n  following different subsystem and core changes as well, due to\n  interdependancies on the driver core:\n   - hyperv driver updates\n   - drivers/memory being created and some drivers moved into it\n   - extcon driver subsystem created out of the old Android staging\n     switch driver code\n   - dynamic debug updates\n   - printk rework, and /dev/kmsg changes\n\n  All of this has been tested in the linux-next releases for a few weeks\n  with no reported problems.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFix up conflicts in drivers/extcon/extcon-max8997.c where git noticed\nthat a patch to the deleted drivers/misc/max8997-muic.c driver needs to\nbe applied to this one.\n\n* tag \u0027driver-core-3.5-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (90 commits)\n  uio_pdrv_genirq: get irq through platform resource if not set otherwise\n  memory: tegra{20,30}-mc: Remove empty *_remove()\n  printk() - isolate KERN_CONT users from ordinary complete lines\n  sysfs: get rid of some lockdep false positives\n  Drivers: hv: util: Properly handle version negotiations.\n  Drivers: hv: Get rid of an unnecessary check in vmbus_prep_negotiate_resp()\n  memory: tegra{20,30}-mc: Use dev_err_ratelimited()\n  driver core: Add dev_*_ratelimited() family\n  Driver Core: don\u0027t oops with unregistered driver in driver_find_device()\n  printk() - restore prefix/timestamp printing for multi-newline strings\n  printk: add stub for prepend_timestamp()\n  ARM: tegra30: Make MC optional in Kconfig\n  ARM: tegra20: Make MC optional in Kconfig\n  ARM: tegra30: MC: Remove unnecessary BUG*()\n  ARM: tegra20: MC: Remove unnecessary BUG*()\n  printk: correctly align __log_buf\n  ARM: tegra30: Add Tegra Memory Controller(MC) driver\n  ARM: tegra20: Add Tegra Memory Controller(MC) driver\n  printk() - restore timestamp printing at console output\n  printk() - do not merge continuation lines of different threads\n  ...\n"
    },
    {
      "commit": "96e67703e71f4b3cc32b747dbb6158ec74d01e19",
      "tree": "7abe4800c1827f5d3b3af42abeb19c8c3ac24df0",
      "parents": [
        "2dbf708448c836754d25fe6108c5bfe1f5697c95"
      ],
      "author": {
        "name": "Jim Kukunas",
        "email": "james.t.kukunas@linux.intel.com",
        "time": "Tue May 22 13:54:24 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue May 22 13:54:24 2012 +1000"
      },
      "message": "lib/raid6: cleanup gen_syndrome function selection\n\nReorders functions in raid6_algos as well as the preference check\nto reduce the number of functions tested on initialization.\n\nAlso, creates symmetry between choosing the gen_syndrome functions\nand choosing the recovery functions.\n\nSigned-off-by: Jim Kukunas \u003cjames.t.kukunas@linux.intel.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "2dbf708448c836754d25fe6108c5bfe1f5697c95",
      "tree": "e66440e324014436704192e8a8f6549b8637fd03",
      "parents": [
        "048a8b8c89dc427dd7a58527c8923224b1e66d83"
      ],
      "author": {
        "name": "Jim Kukunas",
        "email": "james.t.kukunas@linux.intel.com",
        "time": "Tue May 22 13:54:23 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue May 22 13:54:23 2012 +1000"
      },
      "message": "lib/raid6: update test program for recovery functions\n\nTest each combination of recovery and syndrome generation\nfunctions.\n\nSigned-off-by: Jim Kukunas \u003cjames.t.kukunas@linux.intel.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "048a8b8c89dc427dd7a58527c8923224b1e66d83",
      "tree": "c8e09964537839f3848d0ad0e25ee40e873c3d09",
      "parents": [
        "f674ef7b43881b2ac11f98d6ba2dc5d9dd0dd118"
      ],
      "author": {
        "name": "Jim Kukunas",
        "email": "james.t.kukunas@linux.intel.com",
        "time": "Tue May 22 13:54:18 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue May 22 13:54:18 2012 +1000"
      },
      "message": "lib/raid6: Add SSSE3 optimized recovery functions\n\nAdd SSSE3 optimized recovery functions, as well as a system\nfor selecting the most appropriate recovery functions to use.\n\nOriginally-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Jim Kukunas \u003cjames.t.kukunas@linux.intel.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f674ef7b43881b2ac11f98d6ba2dc5d9dd0dd118",
      "tree": "a41283e030cf4ab5513ca99604921b46651eafe8",
      "parents": [
        "ea4d26ae24e58fbd2c61de9242adab053cb982d8"
      ],
      "author": {
        "name": "Jim Kukunas",
        "email": "james.t.kukunas@linux.intel.com",
        "time": "Tue May 22 13:54:16 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue May 22 13:54:16 2012 +1000"
      },
      "message": "lib/raid6: fix test program build\n\n\u003clinux/module.h\u003e drags in headers which are not visible to userspace,\nthus breaking the build for the test program.\n\nSigned-off-by: Jim Kukunas \u003cjames.t.kukunas@linux.intel.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "226da0dbc84ed97f448523e2a4cb91c27fa68ed9",
      "tree": "3969a9f612cd5596747ecde2066e65eacbab7d2e",
      "parents": [
        "5ec29e3149d800e6db83c1b6ff441daf319cbbe2",
        "2d84e023cb5ec00403ff5d447533c6fd58fcc7ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:26:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:26:51 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 from Ingo Molnar:\n \"This is the v3.5 RCU tree from Paul E.  McKenney:\n\n 1) A set of improvements and fixes to the RCU_FAST_NO_HZ feature (with\n    more on the way for 3.6).  Posted to LKML:\n       https://lkml.org/lkml/2012/4/23/324 (commits 1-3 and 5),\n       https://lkml.org/lkml/2012/4/16/611 (commit 4),\n       https://lkml.org/lkml/2012/4/30/390 (commit 6), and\n       https://lkml.org/lkml/2012/5/4/410 (commit 7, combined with\n       the other commits for the convenience of the tester).\n\n 2) Changes to make rcu_barrier() avoid disrupting execution of CPUs\n    that have no RCU callbacks.  Posted to LKML:\n       https://lkml.org/lkml/2012/4/23/322.\n\n 3) A couple of commits that improve the efficiency of the interaction\n    between preemptible RCU and the scheduler, these two being all that\n    survived an abortive attempt to allow preemptible RCU\u0027s\n    __rcu_read_lock() to be inlined.  The full set was posted to LKML at\n    https://lkml.org/lkml/2012/4/14/143, and the first and third patches\n    of that set remain.\n\n 4) Lai Jiangshan\u0027s algorithmic implementation of SRCU, which includes\n    call_srcu() and srcu_barrier().  A major feature of this new\n    implementation is that synchronize_srcu() no longer disturbs the\n    execution of other CPUs.  This work is based on earlier\n    implementations by Peter Zijlstra and Paul E.  McKenney.  Posted to\n    LKML: https://lkml.org/lkml/2012/2/22/82.\n\n 5) A number of miscellaneous bug fixes and improvements which were\n    posted to LKML at: https://lkml.org/lkml/2012/4/23/353 with\n    subsequent updates posted to LKML.\"\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)\n  rcu: Make rcu_barrier() less disruptive\n  rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables\n  rcu: Make RCU_FAST_NO_HZ handle timer migration\n  rcu: Update RCU maintainership\n  rcu: Make exit_rcu() more precise and consolidate\n  rcu: Move PREEMPT_RCU preemption to switch_to() invocation\n  rcu: Ensure that RCU_FAST_NO_HZ timers expire on correct CPU\n  rcu: Add rcutorture test for call_srcu()\n  rcu: Implement per-domain single-threaded call_srcu() state machine\n  rcu: Use single value to handle expedited SRCU grace periods\n  rcu: Improve srcu_readers_active_idx()\u0027s cache locality\n  rcu: Remove unused srcu_barrier()\n  rcu: Implement a variant of Peter\u0027s SRCU algorithm\n  rcu: Improve SRCU\u0027s wait_idx() comments\n  rcu: Flip -\u003ecompleted only once per SRCU grace period\n  rcu: Increment upper bit only for srcu_read_lock()\n  rcu: Remove fast check path from __synchronize_srcu()\n  rcu: Direct algorithmic SRCU implementation\n  rcu: Introduce rcutorture testing for rcu_barrier()\n  timer: Fix mod_timer_pinned() header comment\n  ...\n"
    },
    {
      "commit": "513de477a09f770e42ad042bf830565d9c73a158",
      "tree": "5a9924a8bffb4777d3df34ce2b05d564f3b567b6",
      "parents": [
        "62c8d922783a0fa41a9b4ca004f0467d6ca9be48",
        "3340808cf04faad7b87d6c6e13800825e5552b51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:22:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:22:55 2012 -0700"
      },
      "message": "Merge branch \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core/debugobjects changes from Ingo Molnar:\n \"Not much happened: it includes a cleanup and an irq latency reduction\n  fixlet.\"\n\n* \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  debugobjects: Fill_pool() returns void now\n  debugobjects: printk with irqs enabled\n  debugobjects: Remove unused return value from fill_pool()\n"
    },
    {
      "commit": "6684b5729df289ba60a404d8d095d820dc553cdf",
      "tree": "69f52bdad9a836c00b93fab95b361a86f1555684",
      "parents": [
        "3d4f5eb1264a1d3aa4aa19502d8c588b3cc4ecc4"
      ],
      "author": {
        "name": "Oskar Schirmer",
        "email": "oskar@scara.com",
        "time": "Wed May 16 09:41:19 2012 +0000"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu May 17 15:18:37 2012 +0200"
      },
      "message": "lib: Change mail address of Oskar Schirmer\n\nThat old mail address doesnt exist any more.\nThis changes all occurences to my new address.\n\nSigned-off-by: Oskar Schirmer \u003coskar@scara.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "649e6ee33f73ba1c4f2492c6de9aff2254b540cb",
      "tree": "f7fe1b11f4eb7c306a07a8893980a5d34a0886d9",
      "parents": [
        "5c5d5ca51abd728c8de3be43ffd6bb00f977bfcd"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay@vrfy.org",
        "time": "Thu May 10 04:30:45 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 09 20:35:06 2012 -0700"
      },
      "message": "printk() - restore timestamp printing at console output\n\nThe output of the timestamps got lost with the conversion of the\nkmsg buffer to records; restore the old behavior.\n\nDocument, that CONFIG_PRINTK_TIME now only controls the output of\nthe timestamps in the syslog() system call and on the console, and\nnot the recording of the timestamps.\n\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9ff1f838e9c019b16b720dca9b04565f1a6e0316",
      "tree": "2bca4423f81aba84775c63b3155f1cf058d2acbf",
      "parents": [
        "fef15d2f3d97c9858694f234af94a4ef40d86679"
      ],
      "author": {
        "name": "Zhi Yong Wu",
        "email": "wuzhy@linux.vnet.ibm.com",
        "time": "Mon May 07 10:48:25 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 07 16:51:19 2012 -0700"
      },
      "message": "kobject: fix the uncorrect comment\n\nSigned-off-by: Zhi Yong Wu \u003cwuzhy@linux.vnet.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "fef15d2f3d97c9858694f234af94a4ef40d86679",
      "tree": "6b3b6e1cf69eec40722b6a5ce0cc811d3e3cf24a",
      "parents": [
        "b5f3abf950f16fa615dc621e38eec63b2cc67946"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 07 16:47:32 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 07 16:47:32 2012 -0700"
      },
      "message": "Revert \"dynamic_debug: remove unneeded includes\"\n\nThis reverts commit 04db6e5fddca55186b6a74339a62c800150648bc.\n\nOdds are, we really don\u0027t want to revert all of these, and need to be\nmore careful in the future to make sure we don\u0027t break the build of\nother arches.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2a01bb3885c9145dbb7583d5aa5f5d5504f6f46f",
      "tree": "1690ae9e0a0a1335eb9d1e22e84a5c43069f3f02",
      "parents": [
        "febb72a6e4cc6c8cffcc1ea649a3fb364f1ea432"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kmcmarti@redhat.com",
        "time": "Wed Apr 11 08:15:29 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 07 14:45:29 2012 +0200"
      },
      "message": "panic: Make panic_on_oops configurable\n\nSeveral distros set this by default by patching panic_on_oops.\nIt seems to fit with the BOOTPARAM_{HARD,SOFT}_PANIC options\nthough, so let\u0027s add a Kconfig entry and reduce some more\nupstream delta.\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120411121529.GH26688@redacted.bos.redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "04db6e5fddca55186b6a74339a62c800150648bc",
      "tree": "c520f9df5434a6391e2f8d20c32c233ebb7b13b1",
      "parents": [
        "1ef9eaf2bf8901e92bb931875a5621692c8a0b84"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Thu May 03 11:57:39 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri May 04 17:25:46 2012 -0700"
      },
      "message": "dynamic_debug: remove unneeded includes\n\nThese arent currently needed, so drop them.  Some will probably get\nre-added when static-branches are added, but include loops prevent\nthat at present.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "eb1574270a6de8fb8d31ffc3b021e30df0afcda3",
      "tree": "d154ba369f222f5108ed1a2462d815d7faadc2e5",
      "parents": [
        "aac10aaa8cc65a6fef6f5bc7d0b96035b0225a61",
        "69964ea4c7b68c9399f7977aa5b9aa6539a6a98a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 02 14:33:37 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 02 14:33:37 2012 -0700"
      },
      "message": "Merge 3.4-rc5 into driver-core-next\n\nThis was done to resolve a merge issue with the init/main.c file.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9c1c21a0533aa37a475e8e8cce7ee064ed771881",
      "tree": "7a6ff2d0c49a31196da5bb8b486c7c9db7bcb98f",
      "parents": [
        "516cf1be07cf3ab52e6d2f64da33b0fa5d9e0042"
      ],
      "author": {
        "name": "Aneesh V",
        "email": "aneesh@ti.com",
        "time": "Fri Apr 27 17:54:03 2012 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 02 00:04:06 2012 -0700"
      },
      "message": "ddr: add LPDDR2 data from JESD209-2\n\nadd LPDDR2 data from the JEDEC spec JESD209-2. The data\nincludes:\n\n1. Addressing information for LPDDR2 memories of different\n   densities and types(S2/S4)\n2. AC timing data.\n\nThis data will useful for memory controller device drivers.\nRight now this is used by the TI EMIF SDRAM controller\ndriver.\n\nSigned-off-by: Aneesh V \u003caneesh@ti.com\u003e\nReviewed-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Benoit Cousson \u003cb-cousson@ti.com\u003e\n[santosh.shilimkar@ti.com: Moved to drivers/memory from drivers/misc]\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: Lokesh Vutla \u003clokeshvutla@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3ec5652ab70f6e9a888d9e5f67c858af354323b3",
      "tree": "309ed6abea9f994da93a33576aeaf07cefe2562b",
      "parents": [
        "29e36c9ffb696ed8d73e1aee713d483ec74a9a43"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:42 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:26:31 2012 -0400"
      },
      "message": "dynamic_debug: init with early_initcall, not arch_initcall\n\n1- Call dynamic_debug_init() from early_initcall, not arch_initcall.\n2- Call dynamic_debug_init_debugfs() from fs_initcall, not module_init.\n\nRFC: This works for me on a 64 bit desktop and a i586 SBC, but is\nuntested on other arches.  I presume there is or was a reason\noriginal code used arch_initcall, maybe the constraints have changed.\n\nThis makes facility available as soon as possible.\n\n2nd change has a downside when dynamic_debug.verbose\u003d1; all the\nvpr_info()s called in the proc-fs code are activated, causing\nvoluminous output from dmesg.  TBD: Im unsure of this explanation, but\nthe output is there.  This could be fixed by changing those callsites\nto v2pr_info(if verbose \u003e 1).\n\n1st change is still not early enough to enable pr_debugs in\nkernel/params, so parsing of boot-args isnt logged.  The reparse of\nthose args is however visible after params.dyndbg\u003d\"+p\" is processed.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "29e36c9ffb696ed8d73e1aee713d483ec74a9a43",
      "tree": "1cb91235091fa9d750fd56753f6b4ffd6701ca0d",
      "parents": [
        "8e59b5cfb9a6f43753236b554d785e8efca62db7"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:41 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:26:30 2012 -0400"
      },
      "message": "dynamic_debug: update Documentation/*, Kconfig.debug\n\nIn dynamic-debug-howto.txt:\n\n- add section: Debug Messages at Module Initialization Time\n- update flags indicators in example outputs to include \u0027\u003d\u0027\n- make flags descriptions tabular\n- add item on \u0027_\u0027 flag-char\n- add dyndbg, boot-args examples\n- rewrap some paragraphs with long lines\n\nIn Kconfig.debug, note that compiling with -DDEBUG enables all\npr_debug()s in that code.\n\nIn kernel-parameters.txt, add dyndbg and module.dyndbg items,\nand deprecate ddebug_query.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8e59b5cfb9a6f43753236b554d785e8efca62db7",
      "tree": "1e6116dadf2106fe910d5cbc4fb03488028361fe",
      "parents": [
        "4107692760db8160a65347f7bb2fa7fa7bf9b0d1"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:40 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:25:39 2012 -0400"
      },
      "message": "dynamic_debug: add modname arg to exec_query callchain\n\nPass module name into ddebug_exec_queries(), ddebug_exec_query(), and\nddebug_parse_query() as separate parameter.  In ddebug_parse_query(),\nthe module name is added into the query struct before the query-string\nis parsed.  This allows the query-string to be shorter:\n\ninstead of:\n   $modname.dyndbg\u003d\"module $modname +fp\"\ndo this:\n   $modname.dyndbg\u003d\"+fp\"\n\nOmitting \"module $modname\" from the query string is actually required\nfor $modname.dyndbg rules; the set-only-once check added in a previous\npatch will throw an error if its added again.  ddebug_query\u003d\"...\" has\nno $modname associated with it, so the query string may include it.\n\nThis also fixes redundant \"module $modname\" otherwise needed to handle\nmultiple queries per string:\n\n   $modname.dyndbg\u003d\"func foo +fp; func bar +fp\"\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4107692760db8160a65347f7bb2fa7fa7bf9b0d1",
      "tree": "7e729fc32c723bc8fa77e852f3bf9308822fa653",
      "parents": [
        "af442399fcf378a21ffe924b182f6d9ee70001ca"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:39 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:25:39 2012 -0400"
      },
      "message": "dynamic_debug: print ram usage by ddebug tables if verbose\n\nPrint ram usage of dynamic-debug tables and verbose section so user\nknows cost of enabling CONFIG_DYNAMIC_DEBUG.  This only counts the\nsize of the _ddebug tables for builtins and the __verbose section that\nthey refer to, not those used in loadable modules.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "af442399fcf378a21ffe924b182f6d9ee70001ca",
      "tree": "c4489c25edde2f6c4aaeac9eaf2d6d784f6572f9",
      "parents": [
        "6ab676e96422f33a873006096f928feeded7ce3b"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:38 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:25:39 2012 -0400"
      },
      "message": "dynamic_debug: simplify dynamic_debug_init error exit\n\nWe dont want errors while parsing ddebug_query to unload ddebug\ntables, so set success after tables are loaded, and return 0 after\nquery parsing is done.\n\nSimplify error handling code since its no longer used for success,\nand change goto label to out_err to clarify this.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6ab676e96422f33a873006096f928feeded7ce3b",
      "tree": "dbb5ae0912831f528db8cd654ca96a294a5afb33",
      "parents": [
        "f0b919d967284313be4a767ba92ab5a88cb27410"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:37 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:24:34 2012 -0400"
      },
      "message": "dynamic_debug: combine parse_args callbacks together\n\nRefactor ddebug_dyndbg_boot_param_cb and ddebug_dyndbg_module_param_cb\ninto a common helper function, and call it from both.  The handling of\nfoo.dyndbg is unneeded by the latter, but harmless.\n\nThe 2 callers differ only by pr_info and the return code they pass to\nthe helper for when an unknown param is handled.  I could slightly\nreduce dmesg clutter by putting the vpr_info in the common helper,\nafter the return on_err, but that loses __func__ context, is overly\nsilent on module_cb unknown param errors, and the clutter is only when\ndynamic_debug.verbose\u003d1 anyway.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f0b919d967284313be4a767ba92ab5a88cb27410",
      "tree": "2b6491553abf9bad7aac976f7b08f060cd4e20d5",
      "parents": [
        "b48420c1d3019ce8d84fb8e58f4ca86b8e3655b8"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:36 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:24:34 2012 -0400"
      },
      "message": "dynamic_debug: deprecate ddebug_query, suggest dyndbg instead\n\nWith ddebug_dyndbg_boot_params_cb() handling bare dyndbg params, we\ndont need ddebug_query param anymore.  Add a warning when processing\nddebug_query\u003d param that it is deprecated, and to change it to dyndbg\u003d\n\nAdd a deprecation notice for v3.8 to feature-removal-schedule.txt, and\nadd a suggested deprecation period of 3 releases to the header.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b48420c1d3019ce8d84fb8e58f4ca86b8e3655b8",
      "tree": "feeeb1008ff2433bba3107c3584ec8b4a403cec5",
      "parents": [
        "9fb48c744ba6a4bf58b666f4e6fdac3008ea1bd4"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:35 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 14:31:46 2012 -0400"
      },
      "message": "dynamic_debug: make dynamic-debug work for module initialization\n\nThis introduces a fake module param $module.dyndbg.  Its based upon\nThomas Renninger\u0027s $module.ddebug boot-time debugging patch from\nhttps://lkml.org/lkml/2010/9/15/397\n\nThe \u0027fake\u0027 module parameter is provided for all modules, whether or\nnot they need it.  It is not explicitly added to each module, but is\nimplemented in callbacks invoked from parse_args.\n\nFor builtin modules, dynamic_debug_init() now directly calls\nparse_args(..., \u0026ddebug_dyndbg_boot_params_cb), to process the params\nundeclared in the modules, just after the ddebug tables are processed.\n\nWhile its slightly weird to reprocess the boot params, parse_args() is\nalready called repeatedly by do_initcall_levels().  More importantly,\nthe dyndbg queries (given in ddebug_query or dyndbg params) cannot be\nactivated until after the ddebug tables are ready, and reusing\nparse_args is cleaner than doing an ad-hoc parse.  This reparse would\nbreak options like inc_verbosity, but they probably should be params,\nlike verbosity\u003d3.\n\nddebug_dyndbg_boot_params_cb() handles both bare dyndbg (aka:\nddebug_query) and module-prefixed dyndbg params, and ignores all other\nparameters.  For example, the following will enable pr_debug()s in 4\nbuiltin modules, in the order given:\n\n  dyndbg\u003d\"module params +p; module aio +p\" module.dyndbg\u003d+p pci.dyndbg\n\nFor loadable modules, parse_args() in load_module() calls\nddebug_dyndbg_module_params_cb().  This handles bare dyndbg params as\npassed from modprobe, and errors on other unknown params.\n\nNote that modprobe reads /proc/cmdline, so \"modprobe foo\" grabs all\nfoo.params, strips the \"foo.\", and passes these to the kernel.\nddebug_dyndbg_module_params_cb() is again called for the unknown\nparams; it handles dyndbg, and errors on others.  The \"doing\" arg\nadded previously contains the module name.\n\nFor non CONFIG_DYNAMIC_DEBUG builds, the stub function accepts\nand ignores $module.dyndbg params, other unknowns get -ENOENT.\n\nIf no param value is given (as in pci.dyndbg example above), \"+p\" is\nassumed, which enables all pr_debug callsites in the module.\n\nThe dyndbg fake parameter is not shown in /sys/module/*/parameters,\nthus it does not use any resources.  Changes to it are made via the\ncontrol file.\n\nAlso change pr_info in ddebug_exec_queries to vpr_info,\nno need to see it all the time.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCC: Thomas Renninger \u003ctrenn@suse.de\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b8ccd5dee776d85e29cf139c77595b7369e294bc",
      "tree": "e46fe649436eba9a6023b751a7bad85c3f40075d",
      "parents": [
        "c0a6720977f89c50473366af965ae28cd8fce923"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:32 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 13:35:30 2012 -0400"
      },
      "message": "dynamic_debug: replace if (verbose) pr_info with macro vpr_info\n\nUse vpr_info to declutter code, reduce indenting, and change one\nadditional pr_info call in ddebug_exec_queries.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "559f9badd11ddf399f88b18b4c0f110fd511ae53",
      "tree": "443f8c575362e19c01c07173c82b0fc3763ebc50",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 14 22:17:39 2012 -0400"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:54:49 2012 -0700"
      },
      "message": "rcu: List-debug variants of rcu list routines.\n\n* Make __list_add_rcu check the next-\u003eprev and prev-\u003enext pointers\n  just like __list_add does.\n* Make list_del_rcu use __list_del_entry, which does the same checking\n  at deletion time.\n\nHas been running for a week here without anything being tripped up,\nbut it seems worth adding for completeness just in case something\never does corrupt those lists.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6b9606106ba58d2bd80610f97e06fea58206b47c",
      "tree": "cb6c557872521dced6b92ede4e486901b93b2d46",
      "parents": [
        "9169c01236ab29ce55c93aaf22ec6ecc65c46d1a"
      ],
      "author": {
        "name": "yan",
        "email": "clouds.yan@gmail.com",
        "time": "Fri Apr 20 21:25:53 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 23 13:34:29 2012 -0700"
      },
      "message": "lib/kobject.c : Remove redundant check in create_dir\n\ncreate_dir is a static function used only in kobject_add_internal.\nThere\u0027s no need to do check here, for kobject_add_internal will\nreject kobject with invalid name.\n\nSigned-off-by: Yan Hong \u003cclouds.yan@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4ccf4beab8c447f8cd33d46afb6e10e1aa3befc6",
      "tree": "2291a9cb2b1fa2bbb94bbcb9df3c9cf8588fc176",
      "parents": [
        "e816b57a337ea3b755de72bec38c10c864f23015"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Wed Aug 31 20:35:40 2011 +0200"
      },
      "committer": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Fri Apr 20 23:27:08 2012 +0200"
      },
      "message": "lib: add support for stmp-style devices\n\nMX23/28 use IP cores which follow a register layout I have first seen on\nSTMP3xxx SoCs. In this layout, every register actually has four u32:\n\n 1.) to store a value directly\n 2.) a SET register where every 1-bit sets the corresponding bit,\n     others are unaffected\n 3.) same with a CLR register\n 4.) same with a TOG (toggle) register\n\nAlso, the 2 MSBs in register 0 are always the same and can be used to reset\nthe IP core.\n\nAll this is strictly speaking not mach-specific (but IP core specific) and,\nthus, doesn\u0027t need to be in mach-mxs/include. At least mx6 also uses IP cores\nfollowing this stmp-style. So:\n\nIntroduce a stmp-style device, put the code and defines for that in a public\nplace (lib/), and let drivers for stmp-style devices select that code.\nTo avoid regressions and ease reviewing, the actual code is simply copied from\nmach-mxs. It definately wants updates, but those need a seperate patch series.\n\nVoila, mach dependency gone, reusable code introduced. Note that I didn\u0027t\nremove the duplicated code from mach-mxs yet, first the drivers have to be\nconverted.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nAcked-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\n"
    },
    {
      "commit": "7cd9c9bb57476167e83b7780dbc06d1dd601789d",
      "tree": "afcf43a6d5e4661306676ebcd08224906170b578",
      "parents": [
        "591bfc6bf9e5e25e464fd4c87d64afd5135667c4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Apr 19 19:17:30 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Apr 19 19:17:30 2012 -0700"
      },
      "message": "Revert \"driver core: check start node in klist_iter_init_node\"\n\nThis reverts commit a15d49fd3094cff90e5410ca454a870e0a722fe1 as that\npatch broke the build.\n\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a15d49fd3094cff90e5410ca454a870e0a722fe1",
      "tree": "f3e458fa4ce3524f756e0faa48d5ed2400c022bf",
      "parents": [
        "97ec448aeadff55234368a89c4a07a7ef290a084"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Apr 16 15:06:25 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Apr 18 15:39:52 2012 -0700"
      },
      "message": "driver core: check start node in klist_iter_init_node\n\nklist_iter_init_node() takes a node as a start argument.\nHowever, this node might not be valid anymore.\nThis patch updates the klist_iter_init_node() and\ndependent functions to return an error if so.\nAll calling functions have been audited to check\nfor a return code here.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Greg Kroah-Hartmann \u003cgregkh@linuxfoundation.org\u003e\nCc: Kay Sievers \u003ckay@vrfy.org\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\nCc: Linux Kernel \u003clinux-kernel@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3340808cf04faad7b87d6c6e13800825e5552b51",
      "tree": "6f6f10c00a7172043a39abb03527ead9f5c56ab3",
      "parents": [
        "765a5e0cb581ef32646f58a213b38b56c77709b0"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Apr 18 14:28:10 2012 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 18 13:38:48 2012 +0200"
      },
      "message": "debugobjects: Fill_pool() returns void now\n\nThere was a return missed in 1fda107d44 \"debugobjects: Remove unused\nreturn value from fill_pool()\".  It makes gcc complain:\n\n\tlib/debugobjects.c: In function ‘fill_pool’:\n\tlib/debugobjects.c:98:4: warning: ‘return’ with a value, in\n\t\tfunction returning void [enabled by default]\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nLink: http://lkml.kernel.org/r/20120418112810.GA2669@elgon.mountain\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "09c79b60960bdd4b00916219402eabfa5e479c5a",
      "tree": "d8be1892ca81cbd194ac5e8c198f0f939d432257",
      "parents": [
        "86812bb0de1a3758dc6c7aa01a763158a7c0638a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Feb 06 20:07:04 2012 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "james.l.morris@oracle.com",
        "time": "Wed Apr 18 12:14:28 2012 +1000"
      },
      "message": "mpi: Avoid using freed pointer in mpi_lshift_limbs()\n\nAt the start of the function we assign \u0027a-\u003ed\u0027 to \u0027ap\u0027. Then we use the\nRESIZE_IF_NEEDED macro on \u0027a\u0027 - this may free \u0027a-\u003ed\u0027 and replace it\nwith newly allocaetd storage. In that case, we\u0027ll be operating on\nfreed memory further down in the function when we index into \u0027ap[]\u0027.\nSince we don\u0027t actually need \u0027ap\u0027 until after the use of the\nRESIZE_IF_NEEDED macro we can just delay the assignment to it until\nafter we\u0027ve potentially resized, thus avoiding the issue.\n\nWhile I was there anyway I also changed the integer variable \u0027n\u0027 to be\nconst. It might as well be since we only assign to it once and use it\nas a constant, and then the compiler will tell us if we ever assign to\nit in the future.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nSigned-off-by: James Morris \u003cjames.l.morris@oracle.com\u003e\n"
    },
    {
      "commit": "29cdd4e4ec91aae239192bb122d377d15a9d75e3",
      "tree": "2407fb9f3c7144d110029ad7d32328dee45758bc",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kubakici@wp.pl",
        "time": "Wed Apr 04 03:19:10 2012 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Apr 12 12:28:46 2012 +0200"
      },
      "message": "dma-debug: release free_entries_lock before saving stack trace\n\nSaving stack trace can take a while and once the entry\nis allocated free_entries_lock is no longer needed.\n\nSigned-off-by: Jakub Kicinski \u003ckubakici@wp.pl\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "765a5e0cb581ef32646f58a213b38b56c77709b0",
      "tree": "a26024288f0dba86084adc716bb4e0f82b155b04",
      "parents": [
        "1fda107d44de1e8df2bdfd1d4a2c12a338b8d725"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 11 11:54:27 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 11 11:56:17 2012 +0200"
      },
      "message": "debugobjects: printk with irqs enabled\n\nNo point in keeping interrupts disabled here.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1fda107d44de1e8df2bdfd1d4a2c12a338b8d725",
      "tree": "c15e86b196d23d8328f0d101170bd07057214b27",
      "parents": [
        "923e9a1399b620d063cd88537c64561bc3d5f905"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 11 11:52:18 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 11 11:56:17 2012 +0200"
      },
      "message": "debugobjects: Remove unused return value from fill_pool()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "282029c005e65ffdce3aa9f8220f88a8bbbc4dae",
      "tree": "48d488d453def3bd1c408aed1bd4bb4e18115b4c",
      "parents": [
        "3a198886ab5f228fcbebb9ace803d8b99721d49a"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Apr 06 13:41:15 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Apr 10 14:48:51 2012 -0700"
      },
      "message": "kobject: provide more diagnostic info for kobject_add_internal() failures\n\n1/ convert open-coded KERN_ERR+dump_stack() to WARN(), so that automated\n   tools pick up this warning.\n\n2/ include the \u0027child\u0027 and \u0027parent\u0027 kobject names.  This information was\n   useful for tracking down the case where scsi invoked device_del() on a\n   parent object and subsequently invoked device_add() on a child.  Now the\n   warning looks like:\n\n     kobject_add_internal failed for target8:0:16 (error: -2 parent: end_device-8:0:24)\n     Pid: 2942, comm: scsi_scan_8 Not tainted 3.3.0-rc7-isci+ #2\n     Call Trace:\n      [\u003cffffffff8125e551\u003e] kobject_add_internal+0x1c1/0x1f3\n      [\u003cffffffff81075149\u003e] ? trace_hardirqs_on+0xd/0xf\n      [\u003cffffffff8125e659\u003e] kobject_add_varg+0x41/0x50\n      [\u003cffffffff8125e723\u003e] kobject_add+0x64/0x66\n      [\u003cffffffff8131124b\u003e] device_add+0x12d/0x63a\n      [\u003cffffffff8125e0ef\u003e] ? kobject_put+0x4c/0x50\n      [\u003cffffffff8132f370\u003e] scsi_sysfs_add_sdev+0x4e/0x28a\n      [\u003cffffffff8132dce3\u003e] do_scan_async+0x9c/0x145\n\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: James Bottomley \u003cJBottomley@parallels.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1873e870fd63ee4b87dbe0125ca373e420fb4987",
      "tree": "2c4d4244c653e374a1d0040e581be60f614f23a7",
      "parents": [
        "35372a7d45291140a97518a8d1c8cb0e31ee2bb7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Mar 28 11:51:18 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Mar 30 10:15:21 2012 -0700"
      },
      "message": "debug: Add CONFIG_READABLE_ASM\n\nAdd a config option to disable various gcc compiler optimizations that\nmake assembler listings much harder to read. This is everything that reorders\ncode significantly or creates partial functions.\n\nThis is mainly to keep kernel hackers sane.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nLink: http://lkml.kernel.org/r/1332960678-11879-2-git-send-email-andi@firstfloor.org\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "6b8212a313dae341ef3a2e413dfec5c4dea59617",
      "tree": "bbca09d88f61f999c7714fe82710bdfe6ee0e98b",
      "parents": [
        "bcd550745fc54f789c14e7526e0633222c505faa",
        "8abc3122aa02567bfe626cd13f4d34853c9b1225"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 updates from Ingo Molnar.\n\nThis touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK\nconfig usage.\n\nFixed up trivial conflicts due to just header include changes (removing\nheaders due to cpu_idle() merge clashing with the \u003casm/system.h\u003e split).\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/apic/amd: Be more verbose about LVT offset assignments\n  x86, tls: Off by one limit check\n  x86/ioapic: Add io_apic_ops driver layer to allow interception\n  x86/olpc: Add debugfs interface for EC commands\n  x86: Merge the x86_32 and x86_64 cpu_idle() functions\n  x86/kconfig: Remove CONFIG_TR\u003dy from the defconfigs\n  x86: Stop recursive fault in print_context_stack after stack overflow\n  x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ\u003dy\n  x86/apic: Add separate apic_id_valid() functions for selected apic drivers\n  locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage\n  x86/kconfig: Update defconfigs\n  x86: Fix excessive MSR print out when show_msr is not specified\n"
    },
    {
      "commit": "532bfc851a7475fb6a36c1e953aa395798a7cca7",
      "tree": "a7892e5a31330dd59f31959efbe9fda1803784fd",
      "parents": [
        "0195c00244dc2e9f522475868fa278c473ba7339",
        "8da00edc1069f01c34510fa405dc15d96c090a3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:28 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge third batch of patches from Andrew Morton:\n - Some MM stragglers\n - core SMP library cleanups (on_each_cpu_mask)\n - Some IPI optimisations\n - kexec\n - kdump\n - IPMI\n - the radix-tree iterator work\n - various other misc bits.\n\n \"That\u0027ll do for -rc1.  I still have ~10 patches for 3.4, will send\n  those along when they\u0027ve baked a little more.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (35 commits)\n  backlight: fix typo in tosa_lcd.c\n  crc32: add help text for the algorithm select option\n  mm: move hugepage test examples to tools/testing/selftests/vm\n  mm: move slabinfo.c to tools/vm\n  mm: move page-types.c from Documentation to tools/vm\n  selftests/Makefile: make `run_tests\u0027 depend on `all\u0027\n  selftests: launch individual selftests from the main Makefile\n  radix-tree: use iterators in find_get_pages* functions\n  radix-tree: rewrite gang lookup using iterator\n  radix-tree: introduce bit-optimized iterator\n  fs/proc/namespaces.c: prevent crash when ns_entries[] is empty\n  nbd: rename the nbd_device variable from lo to nbd\n  pidns: add reboot_pid_ns() to handle the reboot syscall\n  sysctl: use bitmap library functions\n  ipmi: use locks on watchdog timeout set on reboot\n  ipmi: simplify locking\n  ipmi: fix message handling during panics\n  ipmi: use a tasklet for handling received messages\n  ipmi: increase KCS timeouts\n  ipmi: decrease the IPMI message transaction time in interrupt mode\n  ...\n"
    },
    {
      "commit": "82edb4baa762c98008fcea6393e85bffedab2b3c",
      "tree": "70adf1cd03a3f4ed635ae23db6e95b0f0525a13a",
      "parents": [
        "f0f57b2b1488251970c25deea0ea150a8d0911ed"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Wed Mar 28 14:42:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:37 2012 -0700"
      },
      "message": "crc32: add help text for the algorithm select option\n\nAdd help text to the crc32 algorithm selection option in Kconfig.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cebbd29e1c2f7a969919f19f74583070840163d7",
      "tree": "f9ec01b2cb5c3affe64587b83d4877429f0edc0c",
      "parents": [
        "78c1d78488a3c45685d993130c9f17102dc79a54"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Mar 28 14:42:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:37 2012 -0700"
      },
      "message": "radix-tree: rewrite gang lookup using iterator\n\nRewrite radix_tree_gang_lookup_* functions using the new radix-tree\niterator.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nTested-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78c1d78488a3c45685d993130c9f17102dc79a54",
      "tree": "b9fd6e6b53b5b161836bea39811f16deb0ad88ff",
      "parents": [
        "4c619aa0ba171c092a0ae5d969364deb82dbe371"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Mar 28 14:42:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:37 2012 -0700"
      },
      "message": "radix-tree: introduce bit-optimized iterator\n\nA series of radix tree cleanups, and usage of them in the core pagecache\ncode.\n\nMicro-benchmark:\n\nlookup 14 slots (typical page-vector size)\nin radix-tree there earch \u003cstep\u003e slot filled and tagged\nbefore/after - nsec per full scan through tree\n\n* Intel Sandy Bridge i7-2620M 4Mb L3\nNew code always faster\n\n* AMD Athlon 6000+ 2x1Mb L2, without L3\nNew code generally faster,\nMinor degradation (marked with \"*\") for huge sparse trees\n\n* i386 on Sandy Bridge\nNew code faster for common cases: tagged and dense trees.\nSome degradations for non-tagged lookup on sparse trees.\n\nIdeally, there might help __ffs() analog for searching first non-zero\nlong element in array, gcc sometimes cannot optimize this loop corretly.\n\nNumbers:\n\nCPU: Intel Sandy Bridge i7-2620M 4Mb L3\n\nradix-tree with 1024 slots:\n\ntagged lookup\n\nstep  1      before  7156        after  3613\nstep  2      before  5399        after  2696\nstep  3      before  4779        after  1928\nstep  4      before  4456        after  1429\nstep  5      before  4292        after  1213\nstep  6      before  4183        after  1052\nstep  7      before  4157        after  951\nstep  8      before  4016        after  812\nstep  9      before  3952        after  851\nstep  10     before  3937        after  732\nstep  11     before  4023        after  709\nstep  12     before  3872        after  657\nstep  13     before  3892        after  633\nstep  14     before  3720        after  591\nstep  15     before  3879        after  578\nstep  16     before  3561        after  513\n\nnormal lookup\n\nstep  1      before  4266       after  3301\nstep  2      before  2695       after  2129\nstep  3      before  2083       after  1712\nstep  4      before  1801       after  1534\nstep  5      before  1628       after  1313\nstep  6      before  1551       after  1263\nstep  7      before  1475       after  1185\nstep  8      before  1432       after  1167\nstep  9      before  1373       after  1092\nstep  10     before  1339       after  1134\nstep  11     before  1292       after  1056\nstep  12     before  1319       after  1030\nstep  13     before  1276       after  1004\nstep  14     before  1256       after  987\nstep  15     before  1228       after  992\nstep  16     before  1247       after  999\n\nradix-tree with 1024*1024*128 slots:\n\ntagged lookup\n\nstep  1      before  1086102841  after  674196409\nstep  2      before  816839155   after  498138306\nstep  7      before  599728907   after  240676762\nstep  15     before  555729253   after  185219677\nstep  63     before  606637748   after  128585664\nstep  64     before  608384432   after  102945089\nstep  65     before  596987114   after  123996019\nstep  128    before  304459225   after  56783056\nstep  256    before  158846855   after  31232481\nstep  512    before  86085652    after  18950595\nstep  12345  before  6517189     after  1674057\n\nnormal lookup\n\nstep  1      before  626064869  after  544418266\nstep  2      before  418809975  after  336321473\nstep  7      before  242303598  after  207755560\nstep  15     before  208380563  after  176496355\nstep  63     before  186854206  after  167283638\nstep  64     before  176188060  after  170143976\nstep  65     before  185139608  after  167487116\nstep  128    before  88181865   after  86913490\nstep  256    before  45733628   after  45143534\nstep  512    before  24506038   after  23859036\nstep  12345  before  2177425    after  2018662\n\n* AMD Athlon 6000+ 2x1Mb L2, without L3\n\nradix-tree with 1024 slots:\n\ntag-lookup\n\nstep  1      before  8164        after  5379\nstep  2      before  5818        after  5581\nstep  3      before  4959        after  4213\nstep  4      before  4371        after  3386\nstep  5      before  4204        after  2997\nstep  6      before  4950        after  2744\nstep  7      before  4598        after  2480\nstep  8      before  4251        after  2288\nstep  9      before  4262        after  2243\nstep  10     before  4175        after  2131\nstep  11     before  3999        after  2024\nstep  12     before  3979        after  1994\nstep  13     before  3842        after  1929\nstep  14     before  3750        after  1810\nstep  15     before  3735        after  1810\nstep  16     before  3532        after  1660\n\nnormal-lookup\n\nstep  1      before  7875        after  5847\nstep  2      before  4808        after  4071\nstep  3      before  4073        after  3462\nstep  4      before  3677        after  3074\nstep  5      before  4308        after  2978\nstep  6      before  3911        after  3807\nstep  7      before  3635        after  3522\nstep  8      before  3313        after  3202\nstep  9      before  3280        after  3257\nstep  10     before  3166        after  3083\nstep  11     before  3066        after  3026\nstep  12     before  2985        after  2982\nstep  13     before  2925        after  2924\nstep  14     before  2834        after  2808\nstep  15     before  2805        after  2803\nstep  16     before  2647        after  2622\n\nradix-tree with 1024*1024*128 slots:\n\ntag-lookup\n\nstep  1      before  1288059720  after  951736580\nstep  2      before  961292300   after  884212140\nstep  7      before  768905140   after  547267580\nstep  15     before  771319480   after  456550640\nstep  63     before  504847640   after  242704304\nstep  64     before  392484800   after  177920786\nstep  65     before  491162160   after  246895264\nstep  128    before  208084064   after  97348392\nstep  256    before  112401035   after  51408126\nstep  512    before  75825834    after  29145070\nstep  12345  before  5603166     after  2847330\n\nnormal-lookup\n\nstep  1      before  1025677120  after  861375100\nstep  2      before  647220080   after  572258540\nstep  7      before  505518960   after  484041813\nstep  15     before  430483053   after  444815320\t*\nstep  63     before  388113453   after  404250546\t*\nstep  64     before  374154666   after  396027440\t*\nstep  65     before  381423973   after  396704853\t*\nstep  128    before  190078700   after  202619384\t*\nstep  256    before  100886756   after  102829108\t*\nstep  512    before  64074505    after  56158720\nstep  12345  before  4237289     after  4422299\t\t*\n\n* i686 on Sandy bridge\n\nradix-tree with 1024 slots:\n\ntagged lookup\n\nstep  1      before  7990        after  4019\nstep  2      before  5698        after  2897\nstep  3      before  5013        after  2475\nstep  4      before  4630        after  1721\nstep  5      before  4346        after  1759\nstep  6      before  4299        after  1556\nstep  7      before  4098        after  1513\nstep  8      before  4115        after  1222\nstep  9      before  3983        after  1390\nstep  10     before  4077        after  1207\nstep  11     before  3921        after  1231\nstep  12     before  3894        after  1116\nstep  13     before  3840        after  1147\nstep  14     before  3799        after  1090\nstep  15     before  3797        after  1059\nstep  16     before  3783        after  745\n\nnormal lookup\n\nstep  1      before  5103       after  3499\nstep  2      before  3299       after  2550\nstep  3      before  2489       after  2370\nstep  4      before  2034       after  2302\t\t*\nstep  5      before  1846       after  2268\t\t*\nstep  6      before  1752       after  2249\t\t*\nstep  7      before  1679       after  2164\t\t*\nstep  8      before  1627       after  2153\t\t*\nstep  9      before  1542       after  2095\t\t*\nstep  10     before  1479       after  2109\t\t*\nstep  11     before  1469       after  2009\t\t*\nstep  12     before  1445       after  2039\t\t*\nstep  13     before  1411       after  2013\t\t*\nstep  14     before  1374       after  2046\t\t*\nstep  15     before  1340       after  1975\t\t*\nstep  16     before  1331       after  2000\t\t*\n\nradix-tree with 1024*1024*128 slots:\n\ntagged lookup\n\nstep  1      before  1225865377  after  667153553\nstep  2      before  842427423   after  471533007\nstep  7      before  609296153   after  276260116\nstep  15     before  544232060   after  226859105\nstep  63     before  519209199   after  141343043\nstep  64     before  588980279   after  141951339\nstep  65     before  521099710   after  138282060\nstep  128    before  298476778   after  83390628\nstep  256    before  149358342   after  43602609\nstep  512    before  76994713    after  22911077\nstep  12345  before  5328666     after  1472111\n\nnormal lookup\n\nstep  1      before  819284564  after  533635310\nstep  2      before  512421605  after  364956155\nstep  7      before  271443305  after  305721345\t*\nstep  15     before  223591630  after  273960216\t*\nstep  63     before  190320247  after  217770207\t*\nstep  64     before  178538168  after  267411372\t*\nstep  65     before  186400423  after  215347937\t*\nstep  128    before  88106045   after  140540612\t*\nstep  256    before  44812420   after  70660377\t\t*\nstep  512    before  24435438   after  36328275\t\t*\nstep  12345  before  2123924    after  2148062\t\t*\n\nbloat-o-meter delta for this patchset + patchset with related shmem cleanups\n\nbloat-o-meter: x86_64\n\nadd/remove: 4/3 grow/shrink: 5/6 up/down: 928/-939 (-11)\nfunction                                     old     new   delta\nradix_tree_next_chunk                          -     499    +499\nshmem_unuse                                  428     554    +126\nshmem_radix_tree_replace                     131     227     +96\nfind_get_pages_tag                           354     419     +65\nfind_get_pages_contig                        345     407     +62\nfind_get_pages                               362     396     +34\n__kstrtab_radix_tree_next_chunk                -      22     +22\n__ksymtab_radix_tree_next_chunk                -      16     +16\n__kcrctab_radix_tree_next_chunk                -       8      +8\nradix_tree_gang_lookup_slot                  204     203      -1\nstatic.shmem_xattr_set                       384     381      -3\nradix_tree_gang_lookup_tag_slot              208     191     -17\nradix_tree_gang_lookup                       231     187     -44\nradix_tree_gang_lookup_tag                   247     199     -48\nshmem_unlock_mapping                         278     190     -88\n__lookup                                     217       -    -217\n__lookup_tag                                 242       -    -242\nradix_tree_locate_item                       279       -    -279\n\nbloat-o-meter: i386\n\nadd/remove: 3/3 grow/shrink: 8/9 up/down: 1075/-1275 (-200)\nfunction                                     old     new   delta\nradix_tree_next_chunk                          -     757    +757\nshmem_unuse                                  352     449     +97\nfind_get_pages_contig                        269     322     +53\nshmem_radix_tree_replace                     113     154     +41\nfind_get_pages_tag                           277     318     +41\ndcache_dir_lseek                             426     458     +32\n__kstrtab_radix_tree_next_chunk                -      22     +22\nvc_do_resize                                 968     977      +9\nsnd_pcm_lib_read1                            725     733      +8\n__ksymtab_radix_tree_next_chunk                -       8      +8\nnetlbl_cipsov4_list                         1120    1127      +7\nfind_get_pages                               293     291      -2\nnew_slab                                     467     459      -8\nbitfill_unaligned_rev                        425     417      -8\nradix_tree_gang_lookup_tag_slot              177     146     -31\nblk_dump_cmd                                 267     229     -38\nradix_tree_gang_lookup_slot                  212     134     -78\nshmem_unlock_mapping                         221     128     -93\nradix_tree_gang_lookup_tag                   275     162    -113\nradix_tree_gang_lookup                       255     126    -129\n__lookup                                     227       -    -227\n__lookup_tag                                 271       -    -271\nradix_tree_locate_item                       277       -    -277\n\nThis patch:\n\nImplement a clean, simple and effective radix-tree iteration routine.\n\nIterating divided into two phases:\n* lookup next chunk in radix-tree leaf node\n* iterating through slots in this chunk\n\nMain iterator function radix_tree_next_chunk() returns pointer to first\nslot, and stores in the struct radix_tree_iter index of next-to-last slot.\n For tagged-iterating it also constuct bitmask of tags for retunted chunk.\n All additional logic implemented as static-inline functions and macroses.\n\nAlso adds radix_tree_find_next_bit() static-inline variant of\nfind_next_bit() optimized for small constant size arrays, because\nfind_next_bit() too heavy for searching in an array with one/two long\nelements.\n\n[akpm@linux-foundation.org: rework comments a bit]\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nTested-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38b93780a5381961ad92d24ab9a12a964189a3a4",
      "tree": "1d157e768930b91f222a7aaf1093ff982f2a9690",
      "parents": [
        "74046494ea68676d29ef6501a4bd950f08112a2c"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Mar 28 14:42:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "lib/cpumask.c: remove __any_online_cpu()\n\n__any_online_cpu() is not optimal and also unnecessary.  So, replace its\nuse by faster cpumask_* operations.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "ae3a197e3d0bfe3f4bf1693723e82dc018c096f3",
      "tree": "12a222c01afd73dbc3ebb6859952083e2eb96441",
      "parents": [
        "527dcdccd60759ee38e6224c93f87a6194d970ad"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:02 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:02 2012 +0100"
      },
      "message": "Disintegrate asm/system.h for PowerPC\n\nDisintegrate asm/system.h for PowerPC.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\ncc: linuxppc-dev@lists.ozlabs.org\n"
    },
    {
      "commit": "fa453a625de5b8ee9ada0a5b329df3f88751c615",
      "tree": "7a9e04d4a44bb929e96bd9bebb7b97cb733d1ecb",
      "parents": [
        "30eebb54b13ef198a3f1a143ee9dd68f295c60de",
        "3463ff4439661d8107ac024329b5fe01d6e5117b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 18:29:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 18:29:53 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus-3.4-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml\n\nPull UML changes from Richard Weinberger:\n \"Mostly bug fixes and cleanups\"\n\n* \u0027for-linus-3.4-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: (35 commits)\n  um: Update defconfig\n  um: Switch to large mcmodel on x86_64\n  MTD: Relax dependencies\n  um: Wire CONFIG_GENERIC_IO up\n  um: Serve io_remap_pfn_range()\n  Introduce CONFIG_GENERIC_IO\n  um: allow SUBARCH\u003dx86\n  um: most of the SUBARCH uses can be killed\n  um: deadlock in line_write_interrupt()\n  um: don\u0027t bother trying to rebuild CHECKFLAGS for USER_OBJS\n  um: use the right ifdef around exports in user_syms.c\n  um: a bunch of headers can be killed by using generic-y\n  um: ptrace-generic.h doesn\u0027t need user.h\n  um: kill HOST_TASK_PID\n  um: remove pointless include of asm/fixmap.h from asm/pgtable.h\n  um: asm-offsets.h might as well come from underlying arch...\n  um: merge processor_{32,64}.h a bit...\n  um: switch close_chan() to struct line\n  um: race fix: initialize delayed_work *before* registering IRQ\n  um: line-\u003ehave_irq is never checked...\n  ...\n"
    },
    {
      "commit": "087fafd15204fb7a5df44b635ed3d3f4348f2d5e",
      "tree": "92feb580b5d88150a17442fc833bc95294e8ee85",
      "parents": [
        "4c3ff74742b481eaf32d010d072b421c97fd8f08"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Tue Feb 07 01:22:46 2012 +0100"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Sun Mar 25 00:29:56 2012 +0100"
      },
      "message": "Introduce CONFIG_GENERIC_IO\n\nThere are situations where CONFIG_HAS_IOMEM is too restrictive.\nFor example CONFIG_MTD_NAND_NANDSIM depends on CONFIG_HAS_IOMEM\nbut it works perfectly fine if an architecture without io memory\njust includes asm-generic/io.h or implements everything defined in it.\nUML is such a corner case.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
      "tree": "9a2c085e1fce41012bb0f2a340f6ceaaf616b7a0",
      "parents": [
        "ed2d265d1266736bd294332d7f649003943ae36e",
        "8bc3bcc93a2b4e47d5d410146f6546bca6171663"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:24:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:24:31 2012 -0700"
      },
      "message": "Merge tag \u0027module-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull cleanup of fs/ and lib/ users of module.h from Paul Gortmaker:\n \"Fix up files in fs/ and lib/ dirs to only use module.h if they really\n  need it.\n\n  These are trivial in scope vs the work done previously.  We now have\n  things where any few remaining cleanups can be farmed out to arch or\n  subsystem maintainers, and I have done so when possible.  What is\n  remaining here represents the bits that don\u0027t clearly lie within a\n  single arch/subsystem boundary, like the fs dir and the lib dir.\n\n  Some duplicate includes arising from overlapping fixes from\n  independent subsystem maintainer submissions are also quashed.\"\n\nFix up trivial conflicts due to clashes with other include file cleanups\n(including some due to the previous bug.h cleanup pull).\n\n* tag \u0027module-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  lib: reduce the use of module.h wherever possible\n  fs: reduce the use of module.h wherever possible\n  includecheck: delete any duplicate instances of module.h\n"
    },
    {
      "commit": "ed2d265d1266736bd294332d7f649003943ae36e",
      "tree": "860e5b7bb72933e4a9abacdc2f2d75a0e6254e32",
      "parents": [
        "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
        "6c03438edeb5c359af35f060ea016ca65671c269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "message": "Merge tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/bug.h\u003e cleanup from Paul Gortmaker:\n \"The changes shown here are to unify linux\u0027s BUG support under the one\n  \u003clinux/bug.h\u003e file.  Due to historical reasons, we have some BUG code\n  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in\n  linux/kernel.h predates the addition of linux/bug.h, but old code in\n  kernel.h wasn\u0027t moved to bug.h at that time.  As a band-aid, kernel.h\n  was including \u003casm/bug.h\u003e to pseudo link them.\n\n  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here\n  is an example that violates the principle of least surprise:\n\n      CC      lib/string.o\n      lib/string.c: In function \u0027strlcat\u0027:\n      lib/string.c:225:2: error: implicit declaration of function \u0027BUILD_BUG_ON\u0027\n      make[2]: *** [lib/string.o] Error 1\n      $\n      $ grep linux/bug.h lib/string.c\n      #include \u003clinux/bug.h\u003e\n      $\n\n  We\u0027ve included \u003clinux/bug.h\u003e for the BUG infrastructure and yet we\n  still get a compile fail! [We\u0027ve not kernel.h for BUILD_BUG_ON.] Ugh -\n  very confusing for someone who is new to kernel development.\n\n  With the above in mind, the goals of this changeset are:\n\n  1) find and fix any include/*.h files that were relying on the\n     implicit presence of BUG code.\n  2) find and fix any C files that were consuming kernel.h and hence\n     relying on implicitly getting some/all BUG code.\n  3) Move the BUG related code living in kernel.h to \u003clinux/bug.h\u003e\n  4) remove the asm/bug.h from kernel.h to finally break the chain.\n\n  During development, the order was more like 3-4, build-test, 1-2.  But\n  to ensure that git history for bisect doesn\u0027t get needless build\n  failures introduced, the commits have been reorderd to fix the problem\n  areas in advance.\n\n\t[1]  https://lkml.org/lkml/2012/1/3/90\n\t[2]  https://lkml.org/lkml/2012/1/17/414\"\n\nFix up conflicts (new radeon file, reiserfs header cleanups) as per Paul\nand linux-next.\n\n* tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  kernel.h: doesn\u0027t explicitly use bug.h, so don\u0027t include it.\n  bug: consolidate BUILD_BUG_ON with other bug code\n  BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n  bug.h: add include of it to various implicit C users\n  lib: fix implicit users of kernel.h for TAINT_WARN\n  spinlock: macroize assert_spin_locked to avoid bug.h dependency\n  x86: relocate get/set debugreg fcns to include/asm/debugreg.\n"
    },
    {
      "commit": "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"
    }
  ],
  "next": "97e834c5040b85e133d8d922111a62b2b853a406"
}
