)]}'
{
  "log": [
    {
      "commit": "0785a8e87be0202744d8681363aecbd4ffbb5f5a",
      "tree": "8ebfb5a988dd497a9103b07ec2897b7ac1462062",
      "parents": [
        "de96355c111679dd6e2c5c73e25e814c72510c58"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 05:26:35 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 05:26:35 2011 -0700"
      },
      "message": "sparc: Fix build with DEBUG_PAGEALLOC enabled.\n\narch/sparc/mm/init_64.c:1622:22: error: unused variable \u0027__swapper_4m_tsb_phys_patch_end\u0027 [-Werror\u003dunused-variable]\narch/sparc/mm/init_64.c:1621:22: error: unused variable \u0027__swapper_4m_tsb_phys_patch\u0027 [-Werror\u003dunused-variable]\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de96355c111679dd6e2c5c73e25e814c72510c58",
      "tree": "9283eee98bad9ee6dabdebcce12ec37f80196905",
      "parents": [
        "8cd290a07d095f3b354e3448bcd7757393c29cd5",
        "39060a07781b4930656752943cf5d66376d0533c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:44:38 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:44:38 2011 -1000"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (55 commits)\n  Revert \"drm/i915: Try enabling RC6 by default (again)\"\n  drm/radeon: Extended DDC Probing for ECS A740GM-M DVI-D Connector\n  drm/radeon: Log Subsystem Vendor and Device Information\n  drm/radeon: Extended DDC Probing for Connectors with Improperly Wired DDC Lines (here: Asus M2A-VM HDMI)\n  drm: Separate EDID Header Check from EDID Block Check\n  drm: Add NULL check about irq functions\n  drm: Fix irq install error handling\n  drm/radeon: fix potential NULL dereference in drivers/gpu/drm/radeon/atom.c\n  drm/radeon: clean reg header files\n  drm/debugfs: Initialise empty variable\n  drm/radeon/kms: add thermal chip quirk for asus 9600xt\n  drm/radeon: off by one in check_reg() functions\n  drm/radeon/kms: fix version comment due to merge timing\n  drm/i915: allow cache sharing policy control\n  drm/i915/hdmi: HDMI source product description infoframe support\n  drm/i915/hdmi: split infoframe setting from infoframe type code\n  drm: track CEA version number if present\n  drm/i915: Try enabling RC6 by default (again)\n  Revert \"drm/i915/dp: Zero the DPCD data before connection probe\"\n  drm/i915/dp: wait for previous AUX channel activity to clear\n  ...\n"
    },
    {
      "commit": "8cd290a07d095f3b354e3448bcd7757393c29cd5",
      "tree": "af33cb7677646bc506f1fae34676834dc45584a4",
      "parents": [
        "07d952dc669bb70a9716a81e140e89b7d4969f09",
        "961f65fc41cdc1f9099a6075258816c0db98e390"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:42:36 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:42:36 2011 -1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc: Size mondo queues more sanely.\n  sparc: Access kernel TSB using physical addressing when possible.\n  sparc: Fix __atomic_add_unless() return value.\n  sparc: use kbuild-generic support for true asm-generic header files\n  sparc: Use popc when possible for ffs/__ffs/ffz.\n  sparc: Set reboot-cmd using reboot data hypervisor call if available.\n  sparc: Add some missing hypervisor API groups.\n  sparc: Use hweight64() in popc emulation.\n  sparc: Use popc if possible for hweight routines.\n  sparc: Minor tweaks to Niagara page copy/clear.\n  sparc: Sanitize cpu feature detection and reporting.\n"
    },
    {
      "commit": "07d952dc669bb70a9716a81e140e89b7d4969f09",
      "tree": "6e6455adcfdbd689e98e417401d692784de8ff92",
      "parents": [
        "5fdb32472ec6cd1d62788d8872585b342b5d1d92",
        "c15fea2d8ca834dae491339c47e4fb3c81428190"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:42:01 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:42:01 2011 -1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (54 commits)\n  ipv6: check for IPv4 mapped addresses when connecting IPv6 sockets\n  mlx4: decreasing ref count when removing mac\n  net: Fix security_socket_sendmsg() bypass problem.\n  net: Cap number of elements for sendmmsg\n  net: sendmmsg should only return an error if no messages were sent\n  ixgbe: fix PHY link setup for 82599\n  ixgbe: fix __ixgbe_notify_dca() bail out code\n  igb: fix WOL on second port of i350 device\n  e1000e: minor re-order of #include files\n  e1000e: remove unnecessary check for NULL pointer\n  intel drivers: repair missing flush operations\n  macb: restore wrap bit when performing underrun cleanup\n  cdc_ncm: fix endianness problem.\n  irda: use PCI_VENDOR_ID_*\n  mlx4: Fixing Ethernet unicast packet steering\n  net: fix NULL dereferences in check_peer_redir()\n  bnx2x: Clear MDIO access warning during first driver load\n  bnx2x: Fix BCM578xx MAC test\n  bnx2x: Fix BCM54618se invalid link indication\n  bnx2x: Fix BCM84833 link\n  ...\n"
    },
    {
      "commit": "5fdb32472ec6cd1d62788d8872585b342b5d1d92",
      "tree": "02fa80c65f4a8cf61724594c5181246da0c48945",
      "parents": [
        "140d0b2108faebc77c6523296e211e509cb9f5f9",
        "0302899e144296d6ce8cb3679a9a42d5c6436910"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:41:10 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:41:10 2011 -1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:\n  drivers/ide/cy82c693.c: Add missing pci_dev_put\n  ide: Fix irq flags madness\n"
    },
    {
      "commit": "c15fea2d8ca834dae491339c47e4fb3c81428190",
      "tree": "bb0e318d09366001552d13efbbe128564956adde",
      "parents": [
        "20e72a44098641f0c4de34a31287a93e006afb5b"
      ],
      "author": {
        "name": "Max Matveev",
        "email": "makc@redhat.com",
        "time": "Fri Aug 05 03:56:30 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 03:56:30 2011 -0700"
      },
      "message": "ipv6: check for IPv4 mapped addresses when connecting IPv6 sockets\n\nWhen support for binding to \u0027mapped INADDR_ANY (::ffff.0.0.0.0)\u0027 was added\nin 0f8d3c7ac3693d7b6c731bf2159273a59bf70e12 the rest of the code\nwasn\u0027t told so now it\u0027s possible to bind IPv6 datagram socket to\n::ffff.0.0.0.0, connect it to another IPv4 address and it will all\nwork except for getsockhame() which does not return the local address\nas expected.\n\nTo give getsockname() something to work with check for \u0027mapped INADDR_ANY\u0027\nwhen connecting and update the in-core source addresses appropriately.\n\nSigned-off-by: Max Matveev \u003cmakc@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20e72a44098641f0c4de34a31287a93e006afb5b",
      "tree": "5bcc128348cba73f523a74255efd43cb0e865a24",
      "parents": [
        "c70a3a9203ba327b86a4ce895c04e6d4ef18ee57"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Thu Aug 04 01:05:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 03:36:07 2011 -0700"
      },
      "message": "mlx4: decreasing ref count when removing mac\n\nFor older FW versions, when a Mac address removed from Mac table,\nwe should set 0 for reference count for the corresponding Mac index.\nFixes a bug where removing Mac from the table still left that entry as\ninvalid.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nTested-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c70a3a9203ba327b86a4ce895c04e6d4ef18ee57",
      "tree": "46a209a5fe13259be57d07cbfaee3f88103874f2",
      "parents": [
        "c71d8ebe7a4496fb7231151cb70a6baa0cb56f9a",
        "b57e35bd0e545181c94405ce35b89000aed56cc5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 03:35:00 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 03:35:00 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net\n"
    },
    {
      "commit": "c71d8ebe7a4496fb7231151cb70a6baa0cb56f9a",
      "tree": "2b0d63c14a5e565e97c2b5deb0fc0b5c1890bb08",
      "parents": [
        "98382f419f32d2c12d021943b87dea555677144b"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Aug 04 14:07:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 03:31:03 2011 -0700"
      },
      "message": "net: Fix security_socket_sendmsg() bypass problem.\n\nThe sendmmsg() introduced by commit 228e548e \"net: Add sendmmsg socket system\ncall\" is capable of sending to multiple different destination addresses.\n\nSMACK is using destination\u0027s address for checking sendmsg() permission.\nHowever, security_socket_sendmsg() is called for only once even if multiple\ndifferent destination addresses are passed to sendmmsg().\n\nTherefore, we need to call security_socket_sendmsg() for each destination\naddress rather than only the first destination address.\n\nSince calling security_socket_sendmsg() every time when only single destination\naddress was passed to sendmmsg() is a waste of time, omit calling\nsecurity_socket_sendmsg() unless destination address of previous datagram and\nthat of current datagram differs.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nAcked-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: stable \u003cstable@kernel.org\u003e [3.0+]\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98382f419f32d2c12d021943b87dea555677144b",
      "tree": "d07b99ec8eec119b53ddc2223de9027d7a8c0263",
      "parents": [
        "728ffb86f10873aaf4abd26dde691ee40ae731fe"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Aug 04 14:07:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 03:31:03 2011 -0700"
      },
      "message": "net: Cap number of elements for sendmmsg\n\nTo limit the amount of time we can spend in sendmmsg, cap the\nnumber of elements to UIO_MAXIOV (currently 1024).\n\nFor error handling an application using sendmmsg needs to retry at\nthe first unsent message, so capping is simpler and requires less\napplication logic than returning EINVAL.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: stable \u003cstable@kernel.org\u003e [3.0+]\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "728ffb86f10873aaf4abd26dde691ee40ae731fe",
      "tree": "62bdf029ab504ef38ab664436940e0b262327a86",
      "parents": [
        "d3e614577198757d5854caa912e88f2d4296479b"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Aug 04 14:07:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 03:31:02 2011 -0700"
      },
      "message": "net: sendmmsg should only return an error if no messages were sent\n\nsendmmsg uses a similar error return strategy as recvmmsg but it\nturns out to be a confusing way to communicate errors.\n\nThe current code stores the error code away and returns it on the next\nsendmmsg call. This means a call with completely valid arguments could\nget an error from a previous call.\n\nChange things so we only return an error if no datagrams could be sent.\nIf less than the requested number of messages were sent, the application\nmust retry starting at the first failed one and if the problem is\npersistent the error will be returned.\n\nThis matches the behaviour of other syscalls like read/write - it\nis not an error if less than the requested number of elements are sent.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: stable \u003cstable@kernel.org\u003e [3.0+]\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39060a07781b4930656752943cf5d66376d0533c",
      "tree": "352af8897fc6a198f6f7157ec9637a23e003270d",
      "parents": [
        "a81b31e9fc98e067b7e7f1244861c97e44268e2d"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 05 10:56:29 2011 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 05 10:56:29 2011 +0100"
      },
      "message": "Revert \"drm/i915: Try enabling RC6 by default (again)\"\n\nThis reverts commit 4e20fa65a3ea789510eed1a15deb9e8aab2b8202.\n\nFrancesco Allertsen still has a broken configuration.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "961f65fc41cdc1f9099a6075258816c0db98e390",
      "tree": "867a00c32303c8aeaaef35ae9b49d93b7cacf8e9",
      "parents": [
        "9076d0e7e02b98f7a65df10d1956326c8d8ba61a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 02:38:27 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 02:38:27 2011 -0700"
      },
      "message": "sparc: Size mondo queues more sanely.\n\nThere is currently no upper limit on the mondo queue sizes we\u0027ll use,\nwhich guarentees that we\u0027ll eventually his page allocation limits, and\nthus allocation failures, due to MAX_ORDER.\n\nCap the sizes sanely, current limits are:\n\nCPU  MONDO\t2 * max_possible_cpus\nDEV  MONDO\t256 (basically NR_IRQS)\nRES  MONDO\t128\nNRES MONDO\t4\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9076d0e7e02b98f7a65df10d1956326c8d8ba61a",
      "tree": "ef7d3b694a7365ad8be871c2e892c7454c4b31c2",
      "parents": [
        "a61b582954183e93a3dc3a5cf6bfd2e2c3b40aba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 00:53:57 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 00:53:57 2011 -0700"
      },
      "message": "sparc: Access kernel TSB using physical addressing when possible.\n\nOn sun4v this is basically required since we point the hypervisor and\nthe TSB walking hardware at these tables using physical addressing\ntoo.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "140d0b2108faebc77c6523296e211e509cb9f5f9",
      "tree": "ce8291a62b08810cffacf7a0d377fc06c477aa44",
      "parents": [
        "24f0eed2668b059e847ff145848ddacb75419acc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 19:35:59 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 19:35:59 2011 -1000"
      },
      "message": "Do \u0027shm_init_ns()\u0027 in an early pure_initcall\n\nThis isn\u0027t really critical any more, since other patches (commit\n298507d4d2cf: \"shm: optimize exit_shm()\") have caused us to not actually\nneed to touch the rw_mutex unless there are actual shm segments\nassociated with the namespace, but we really should do tne shm_init_ns()\nearlier than we do now.\n\nThis, together with commit 288d5abec831 (\"Boot up with usermodehelper\ndisabled\") will mean that we really do initialize the initial ipc\nnamespace data structure before we run any tasks.\n\nTested-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24f0eed2668b059e847ff145848ddacb75419acc",
      "tree": "010c89c06e191b068f8a078b10bfaf1d3699c834",
      "parents": [
        "8b6b4628126fd73d0a53b499a26133c15b73c1e6",
        "3567866bf26190d1e734c975c907eb06e923ba23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:40 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:40 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached\n  get rid of boilerplate switches in posix_acl.h\n  fix block device fallout from -\u003efsync() changes\n"
    },
    {
      "commit": "8b6b4628126fd73d0a53b499a26133c15b73c1e6",
      "tree": "d5ae977face87faefbcd7487d118d99485107227",
      "parents": [
        "f03683b8fb7e03862d2f1366a16c1b01732a5741",
        "1eb9a4b8a3c8a141cf2ab27309f089923b69c707"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:23 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:23 2011 -1000"
      },
      "message": "Merge branch \u0027fixefi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027fixefi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  efi: Fix argument types for SetVariable() for ia64\n"
    },
    {
      "commit": "f03683b8fb7e03862d2f1366a16c1b01732a5741",
      "tree": "af8143877e0d56e6a8206d937027a1fd8d8a9ec1",
      "parents": [
        "7f3bf7cd348cead84f8027b32aa30ea49fa64df5",
        "30765b92ada267c5395fc788623cb15233276f5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:04 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:04 2011 -1000"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  slab, lockdep: Annotate the locks before using them\n  lockdep: Clear whole lockdep_map on initialization\n  slab, lockdep: Annotate slab -\u003e rcu -\u003e debug_object -\u003e slab\n  lockdep: Fix up warning\n  lockdep: Fix trace_hardirqs_on_caller()\n  futex: Fix regression with read only mappings\n"
    },
    {
      "commit": "7f3bf7cd348cead84f8027b32aa30ea49fa64df5",
      "tree": "d2f68190c64a7598fff040a8895103031551e2f2",
      "parents": [
        "cbc158d6bfa1990f7869717bb5270867c66068d1",
        "21ef4b8b7a7d59a995bf44382de38c95587767d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:43:43 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:43:43 2011 -1000"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:\n  dmaengine: use DEFINE_IDR for static initialization\n  ioat: fix xor_idx_to_desc\n  Avoid section type conflict in dma/ioat/dma_v3.c\n  ioat: Adding PCI IDs for IOAT devices on SandyBridge platforms\n"
    },
    {
      "commit": "cbc158d6bfa1990f7869717bb5270867c66068d1",
      "tree": "539ec1b63c3cd95dac354e4c3c677d63d9a4e1c8",
      "parents": [
        "53d1e658df6e26d62500410719aaee2b82067c03"
      ],
      "author": {
        "name": "David Brown",
        "email": "davidb@codeaurora.org",
        "time": "Thu Aug 04 09:24:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:35:34 2011 -1000"
      },
      "message": "cpuidle: Consistent spelling of cpuidle_idle_call()\n\nCommit a0bfa1373859e9d11dc92561a8667588803e42d8 mispells\ncpuidle_idle_call() on ARM and SH code.  Fix this to be consistent.\n\nCc: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: x86@kernel.org\nCc: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: David Brown \u003cdavidb@codeaurora.org\u003e\n[ Also done by Mark Brown - th ebug has been around forever, and was\n  noticed in -next, but the idle tree never picked it up. Bad bad bad ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eb9a4b8a3c8a141cf2ab27309f089923b69c707",
      "tree": "05ec866ec960a4f7072ca92a1d912a7dd285d0c7",
      "parents": [
        "f7a2d73fe75c71941fb0a6b4d8fe7da8144f2c7b"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Jul 06 16:48:49 2011 -0400"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Aug 04 16:03:50 2011 -0700"
      },
      "message": "efi: Fix argument types for SetVariable() for ia64\n\nThe spec says this takes uint32 for attributes, not uintn.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "53d1e658df6e26d62500410719aaee2b82067c03",
      "tree": "80dc082c1f256c481f152a62c74605c8962251a6",
      "parents": [
        "455ce9d8410d381f56a1676449a723ca1985b369",
        "fe55c1844a1c106e9d9d3dd27cbfcf8caeb9e77e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:37:07 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:37:07 2011 -1000"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  Revert \"dt: add of_alias_scan and of_alias_get_id\"\n  dt: remove of_alias_get_id() reference\n"
    },
    {
      "commit": "455ce9d8410d381f56a1676449a723ca1985b369",
      "tree": "05ab694a3529958cf917214cfa3dd47b09dc1a2b",
      "parents": [
        "447e1363bc2cc80fa9205a51a4f86d83c35b54a4",
        "205e9a2106b934ea39049bab28f0896c17a2cb30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:36:20 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:36:20 2011 -1000"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:\n  [PARISC] wire up sendmmsg syscall\n  [PARISC] fix return type of __atomic64_add_return\n  [PARISC] Fix futex support\n"
    },
    {
      "commit": "447e1363bc2cc80fa9205a51a4f86d83c35b54a4",
      "tree": "2ef6cba5de8b0e68e141d0e5330539962ed2bf48",
      "parents": [
        "82de9a0cc34bc1640c4f133f13d62a765596b2b9",
        "9e8ed3ae924b65ab5f088fe63ee6f4326f04590f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:35:51 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:35:51 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] signal: use set_restore_sigmask() helper\n  [S390] smp: remove pointless comments in startup_secondary()\n  [S390] qdio: Use kstrtoul_from_user\n  [S390] sclp_async: Use kstrtoul_from_user\n  [S390] exec: remove redundant set_fs(USER_DS)\n  [S390] cpu hotplug: on cpu start wait until being marked active\n  [S390] signal: convert to use set_current_blocked()\n  [S390] asm offsets: fix coding style\n  [S390] Add support for IBM zEnterprise 114\n  [S390] dasd: check if raw track access is supported\n  [S390] Use diagnose 308 for system reset\n  [S390] Export store_status() function\n  [S390] dasd: use vmalloc for statistics input buffer\n  [S390] Add PSW restart shutdown trigger\n  [S390] missing return in page_table_alloc_pgste\n  [S390] qdio: 2nd stage retry on SIGA-W busy conditions\n"
    },
    {
      "commit": "82de9a0cc34bc1640c4f133f13d62a765596b2b9",
      "tree": "122ecd6e6b0662fcfaacd04ce0a5d37b7f62146b",
      "parents": [
        "288d5abec8314ae50fe6692f324b0444acae8486"
      ],
      "author": {
        "name": "Arnaud Lacombe",
        "email": "lacombar@gmail.com",
        "time": "Thu Aug 04 10:39:44 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:32:51 2011 -1000"
      },
      "message": "eisa/pci_eisa.c: fix BUG introduced by 005bdad7b80\n\nWhile `pci_eisa_driver\u0027 still refer `pci_eisa_init\u0027, the .probe() function\nshould not be called after init memory release, as pointed out by commit\n74b9a297. The structure is still referenced in the drivers subsystem, and can\nbe accesseed through sysfs, so the modpost warning is a false positive. Mark\nit as such.\n\nIn the same time, the warning referenced in 005bdad7b80 did only mention\n`pci_eisa_driver\u0027, not `pci_eisa_pci_tbl\u0027, so remove its marking.\n\nBroken-by: Arnaud Lacombe \u003clacombar@gmail.com\u003e (in 005bdad7b80)\nReported-by: Tetsuo Handa \u003cpenguin-kernel@i-love.sakura.ne.jp\u003e\nSigned-off-by: Arnaud Lacombe \u003clacombar@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a81b31e9fc98e067b7e7f1244861c97e44268e2d",
      "tree": "51381172d92fdc005e670964c57be4f6d4974c6b",
      "parents": [
        "d522d9cc5bdd41214084383fc3e6d882f6916a78"
      ],
      "author": {
        "name": "Thomas Reim",
        "email": "reimth@gmail.com",
        "time": "Fri Jul 29 14:29:00 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:40:43 2011 +0100"
      },
      "message": "drm/radeon: Extended DDC Probing for ECS A740GM-M DVI-D Connector\n\n   ECS A740GM-M with ATI RADEON 2100 sends data to i2c bus\n   for a DVI connector that is not implemented/existent on the board.\n\n   Fix by applying extented DDC probing for this connector.\n\n   Requires [PATCH] drm/radeon: Extended DDC Probing for Connectors\n   with Improperly Wired DDC Lines\n\n   Tested for kernel 2.6.38 on Asus ECS A740GM-M board\n\n   BugLink: http://bugs.launchpad.net/bugs/810926\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Thomas Reim \u003creimth@gmail.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nAcked-by: Stephen Michaels \u003cStephen.Micheals@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d522d9cc5bdd41214084383fc3e6d882f6916a78",
      "tree": "f2431df3317186c234899a991fbbfde3b80dfb14",
      "parents": [
        "e384fab8c6f3ca88600bcb2ebdf0eb2f90864fab"
      ],
      "author": {
        "name": "Thomas Reim",
        "email": "reimth@gmail.com",
        "time": "Fri Jul 29 14:28:59 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:40:24 2011 +0100"
      },
      "message": "drm/radeon: Log Subsystem Vendor and Device Information\n\n    Log PCI subsystem vendor and subsystem device ID in addition to\n    PCI vendor and device ID during kernel mode initialisation. This helps\n    to better identify radeon devices of third-party vendors, e. g. for\n    bug analysis.\n\n    Tested for kernel 2.6.35, 2.6.38 and 3.0 on Asus M2A-VM HDMI board\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Thomas Reim \u003creimth@gmail.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nAcked-by: Stephen Michaels \u003cStephen.Micheals@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e384fab8c6f3ca88600bcb2ebdf0eb2f90864fab",
      "tree": "10477faf78310c3fb3fd4bbb9a81df9215b487d9",
      "parents": [
        "051963d4832ed61e5ae74f5330b0a94489e101b9"
      ],
      "author": {
        "name": "Thomas Reim",
        "email": "reimth@gmail.com",
        "time": "Fri Jul 29 14:28:58 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:39:50 2011 +0100"
      },
      "message": "drm/radeon: Extended DDC Probing for Connectors with Improperly Wired DDC Lines (here: Asus M2A-VM HDMI)\n\n    Some integrated ATI Radeon chipset implementations with add-on HDMI card\n    (e. g. Asus M2A-VM HDMI) indicate the availability of a DDC even\n    when the add-on card is not plugged in or HDMI is disabled in BIOS setup.\n    In this case, drm_get_edid() and drm_edid_block_valid() periodically\n    dump data and kernel errors into system log files and onto terminals.\n    For these connectors DDC probing is extended by a check for a correct\n    EDID header. Only in case a valid EDID header is also found, the\n    (HDMI or DVI) connector will be used by the Radeon driver. This prevents\n    the kernel driver from useless flooding of logs and terminal sessions with\n    EDID dumps and error messages.\n    This patch adds a flag \u0027requires_extended_probe\u0027 to the radeon_connector\n    structure. In function radeon_connector_needs_extended_probe() this flag\n    can be set on a chipset family/vendor/connector type specific basis.\n    In addition, function radeon_ddc_probe() has been adapted to perform\n    extended DDC probing if required by the connector\u0027s flag.\n    Requires function drm_edid_header_is_valid() in DRM module provided by\n    [PATCH] drm: Separate EDID Header Check from EDID Block Check.\n\n    Tested for kernel 2.6.35, 2.6.38 and 3.0 on Asus M2A-VM HDMI board\n\n    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id\u003d668196\n    BugLink: http://bugs.launchpad.net/bugs/7228066\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Thomas Reim \u003creimth@gmail.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nAcked-by: Stephen Michaels \u003cStephen.Micheals@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "051963d4832ed61e5ae74f5330b0a94489e101b9",
      "tree": "4ade8f3af4f6ec99d8f76048707072708f5877e7",
      "parents": [
        "5037f8acf448dd0de9868dc7410f45879d3d1a1b"
      ],
      "author": {
        "name": "Thomas Reim",
        "email": "reimth@gmail.com",
        "time": "Fri Jul 29 14:28:57 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:39:35 2011 +0100"
      },
      "message": "drm: Separate EDID Header Check from EDID Block Check\n\n    Provides function drm_edid_header_is_valid() for EDID header check\n    and replaces EDID header check part of function drm_edid_block_valid()\n    by a call of drm_edid_header_is_valid().\n    This is a prerequisite to extend DDC probing, e. g. in function\n    radeon_ddc_probe() for Radeon devices, by a central EDID header check.\n\n    Tested for kernel 2.6.35, 2.6.38 and 3.0\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Thomas Reim \u003creimth@gmail.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nAcked-by: Stephen Michaels \u003cStephen.Micheals@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5037f8acf448dd0de9868dc7410f45879d3d1a1b",
      "tree": "b437939f0fa2c0207bbc0100ebea3ef93d63d276",
      "parents": [
        "e1c44acc8cabda6b38864f25e809b306c4d2d790"
      ],
      "author": {
        "name": "Joonyoung Shim",
        "email": "jy0922.shim@samsung.com",
        "time": "Thu Aug 04 05:41:01 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:39:21 2011 +0100"
      },
      "message": "drm: Add NULL check about irq functions\n\nThe struct drm_driver has some function pointers for irq. They are\ngpu specific and some functions aren\u0027t essential things. This can\nprevents creation of unnecessary dummy function for irq.\n\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e1c44acc8cabda6b38864f25e809b306c4d2d790",
      "tree": "42c6c31cf5e264e161e1d213b683c7ccceb09a98",
      "parents": [
        "816985d4f96cda5159b6b65f3442964725030ae9"
      ],
      "author": {
        "name": "Joonyoung Shim",
        "email": "jy0922.shim@samsung.com",
        "time": "Thu Aug 04 05:41:00 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:39:09 2011 +0100"
      },
      "message": "drm: Fix irq install error handling\n\nThe registered irq should be unregistered by free_irq() if\nirq_postinstall() returns the error after request_irq() is called\nsuccessfully.\n\n[airlied: add vga switcheroo disable]\n\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "816985d4f96cda5159b6b65f3442964725030ae9",
      "tree": "30339b75f344552ef362d7b9b7aa6739673d8efc",
      "parents": [
        "69ad2ffe57a81c7b700e337f066b8b39c3655910"
      ],
      "author": {
        "name": "Bojan Prtvar",
        "email": "prtvar.b@gmail.com",
        "time": "Wed Aug 03 19:51:19 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:39:06 2011 +0100"
      },
      "message": "drm/radeon: fix potential NULL dereference in drivers/gpu/drm/radeon/atom.c\n\nkzalloc() can return NULL, so I added check for it\n\nSigned-off-by: Bojan Prtvar \u003cprtvar.b@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "69ad2ffe57a81c7b700e337f066b8b39c3655910",
      "tree": "ee963afbece5b5a3cefb211477f8ee875d288da5",
      "parents": [
        "4d5cb60d3f6c396899a515e0e667d0f855ed66cc"
      ],
      "author": {
        "name": "Fernando Luis VÃƒÆ’Ã‚Â¡zquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Thu Jul 28 05:44:04 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:39:04 2011 +0100"
      },
      "message": "drm/radeon: clean reg header files\n\nReg header files are generated so they are not cleaned automagically.\nThey need to be added to the clean-files list.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4d5cb60d3f6c396899a515e0e667d0f855ed66cc",
      "tree": "1a468db9dfcb89f74b226dde7115d363704c0ea0",
      "parents": [
        "0b576372e86c8e6bee01506651b21ec0fe8a1698"
      ],
      "author": {
        "name": "Emil Velikov",
        "email": "emil.l.velikov@gmail.com",
        "time": "Sat Jul 30 14:26:01 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:38:52 2011 +0100"
      },
      "message": "drm/debugfs: Initialise empty variable\n\n[airlied: move char declaration]\n\nSigned-off-by: Emil Velikov \u003cemil.l.velikov@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0b576372e86c8e6bee01506651b21ec0fe8a1698",
      "tree": "ed86064dad2db36348ab9c8305a910fe5cc48cec",
      "parents": [
        "c41b9ee901bb2c7e3eacfa7e171de50c15d61c0b",
        "07b7ddd9b7f17a567e3ac2b33a4dffcb2a4524e0"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:22:24 2011 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:22:24 2011 +0100"
      },
      "message": "Merge branch \u0027drm-intel-next\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6 into drm-fixes\n\n* \u0027drm-intel-next\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6: (42 commits)\n  drm/i915: allow cache sharing policy control\n  drm/i915/hdmi: HDMI source product description infoframe support\n  drm/i915/hdmi: split infoframe setting from infoframe type code\n  drm: track CEA version number if present\n  drm/i915: Try enabling RC6 by default (again)\n  Revert \"drm/i915/dp: Zero the DPCD data before connection probe\"\n  drm/i915/dp: wait for previous AUX channel activity to clear\n  drm/i915: don\u0027t use uninitialized EDID bpc values when picking pipe bpp\n  drm/i915/pch: Save/restore PCH_PORT_HOTPLUG across suspend\n  drm/i915: apply phase pointer override on SNB+ too\n  drm/i915: Add quirk to disable SSC on Sony Vaio Y2\n  drm/i915: provide more error output when mode sets fail\n  drm/i915: add GPU max frequency control file\n  i915: add Dell OptiPlex FX170 to intel_no_lvds\n  drm/i915: Ignore GPU wedged errors while pinning scanout buffers\n  drm/i915/hdmi: send AVI info frames on ILK+ as well\n  drm/i915: fix CB tuning check for ILK+\n  drm/i915: Flush other plane register writes\n  drm/i915: flush plane control changes on ILK+ as well\n  drm/i915: apply timing generator bug workaround on CPT and PPT\n  ...\n"
    },
    {
      "commit": "c41b9ee901bb2c7e3eacfa7e171de50c15d61c0b",
      "tree": "f4b636dada4060c12cd6e7dbfc9a964cd746e23f",
      "parents": [
        "884988398f43378a170026184648ce8ff14dcc9f"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Sat Jul 30 18:12:24 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:22:11 2011 +0100"
      },
      "message": "drm/radeon/kms: add thermal chip quirk for asus 9600xt\n\nThe board has an lm63 compatible thermal chip, but no\nthermal chip entry in the vbios tables.\n\nFixes:\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d39513\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "884988398f43378a170026184648ce8ff14dcc9f",
      "tree": "1c22c0d4ab91633a5893e7d7058ada2b8494b58e",
      "parents": [
        "b8709894f248b569d7a0f32cc5e84fa14f7585f0"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jul 27 09:53:40 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:22:10 2011 +0100"
      },
      "message": "drm/radeon: off by one in check_reg() functions\n\nThis off by one range check was copy and pasted a couple places.\nIt\u0027s not really harmful, but we should fix it anyway.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b8709894f248b569d7a0f32cc5e84fa14f7585f0",
      "tree": "704c8b88ec2cc0219827c64be9d9785f5af34a4d",
      "parents": [
        "288d5abec8314ae50fe6692f324b0444acae8486"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Wed Jul 27 04:17:25 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:22:08 2011 +0100"
      },
      "message": "drm/radeon/kms: fix version comment due to merge timing\n\nCompute cs support was actually added in 2.11.0 rather than\n2.10.0, but the patch was written prior.  Update comment\nto match.\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b57e35bd0e545181c94405ce35b89000aed56cc5",
      "tree": "d0a0805ff5d0ff971dc7e56b9d4fd85386b41424",
      "parents": [
        "2a72c31ee4aa31b6a762390e4811a0edf5eefcef"
      ],
      "author": {
        "name": "Emil Tantilov",
        "email": "emil.s.tantilov@intel.com",
        "time": "Thu Jul 28 06:17:04 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Aug 04 05:06:13 2011 -0700"
      },
      "message": "ixgbe: fix PHY link setup for 82599\n\nFix pointer to setup_link for 82599.\n\nThis resolves some link issues when advertising modes unsupported\nby the link partner.\n\nSigned-off-by: Emil Tantilov \u003cemil.s.tantilov@intel.com\u003e\nTested-by: Phil Schmitt \u003cphillip.j.schmitt@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "2a72c31ee4aa31b6a762390e4811a0edf5eefcef",
      "tree": "80d6aaf32576180b132d585e6d8bed8a6541f5ca",
      "parents": [
        "6d337dce664b6872ddf1655f6b1fcab76ce35b08"
      ],
      "author": {
        "name": "Don Skidmore",
        "email": "donald.c.skidmore@intel.com",
        "time": "Wed Jul 20 02:27:05 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Aug 04 05:03:27 2011 -0700"
      },
      "message": "ixgbe: fix __ixgbe_notify_dca() bail out code\n\nThe way __ixgbe_notify_dca() was currently set up it would not be\npossible to add a requester. Both cases of the IXGBE_FLAG_DCA_ENABLED\nbit being on and off would lead to the function exiting for a\nDCA_PROVIDER_ADD.\n\nSigned-off-by: Don Skidmore \u003cdonald.c.skidmore@intel.com\u003e\nTested-by: Phil Schmitt \u003cphillip.j.schmitt@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "6d337dce664b6872ddf1655f6b1fcab76ce35b08",
      "tree": "7062eae398eb26df1ad6a69722b48f721b8d0255",
      "parents": [
        "9fb7a5f77b26dedfcfa4e3a36fe207f818662bee"
      ],
      "author": {
        "name": "Carolyn Wyborny",
        "email": "carolyn.wyborny@intel.com",
        "time": "Thu Jul 07 00:24:56 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Aug 04 05:01:59 2011 -0700"
      },
      "message": "igb: fix WOL on second port of i350 device\n\nThis patch fixes a problem where WOL would fail on second port of i350\ndevice.\n\nReported-by: Martin Wilck \u003cmartin.wilck@ts.fujitsu.com\u003e\nReported-by: Stefan Assmann\u003csassmann@redhat.com\u003e\nSigned-off-by: Carolyn Wyborny \u003ccarolyn.wyborny@intel.com\u003e\nTested-by:  Aaron Brown  \u003caaron.f.brown@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "9fb7a5f77b26dedfcfa4e3a36fe207f818662bee",
      "tree": "1c18b5ddd413bff6b9435642ddc1e1f157fe4e24",
      "parents": [
        "b9e06f70dc186f8353cc593f2b4609383b3be7a9"
      ],
      "author": {
        "name": "Bruce Allan",
        "email": "bruce.w.allan@intel.com",
        "time": "Fri Jul 29 05:52:51 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Aug 04 05:01:24 2011 -0700"
      },
      "message": "e1000e: minor re-order of #include files\n\nThe recent commit a6b7a407 when back-ported to the out-of-tree e1000e\ndriver caused a compilation error on older kernels which required a\nre-ordering of the #include files.  This cosmetic patch syncs the two\ndrivers for easier maintainability.\n\nSigned-off-by: Bruce Allan \u003cbruce.w.allan@intel.com\u003e\nTested-by:  Aaron Brown  \u003caaron.f.brown@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "b9e06f70dc186f8353cc593f2b4609383b3be7a9",
      "tree": "ba35a9357e7060d45a1822c853c46c498bb381d7",
      "parents": [
        "945a51517cc0bd9e461f2018624dfc1faef9ddee"
      ],
      "author": {
        "name": "Bruce Allan",
        "email": "bruce.w.allan@intel.com",
        "time": "Fri Jul 22 06:21:41 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Aug 04 05:00:21 2011 -0700"
      },
      "message": "e1000e: remove unnecessary check for NULL pointer\n\nThe array shadow_ram is never NULL.\n\nSigned-off-by: Bruce Allan \u003cbruce.w.allan@intel.com\u003e\nTested-by:  Aaron Brown  \u003caaron.f.brown@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "945a51517cc0bd9e461f2018624dfc1faef9ddee",
      "tree": "5782ffe27f3fb8f5b4cbc19ffe7b74bff36c6a05",
      "parents": [
        "d3e614577198757d5854caa912e88f2d4296479b"
      ],
      "author": {
        "name": "Jesse Brandeburg",
        "email": "jesse.brandeburg@intel.com",
        "time": "Wed Jul 20 00:56:21 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Aug 04 04:59:07 2011 -0700"
      },
      "message": "intel drivers: repair missing flush operations\n\nafter review of all intel drivers, found several instances where\ndrivers had the incorrect pattern of:\nmemory mapped write();\ndelay();\n\nwhich should always be:\nmemory mapped write();\nwrite flush(); /* aka memory mapped read */\ndelay();\n\nexplanation:\nThe reason for including the flush is that writes can be held\n(posted) in PCI/PCIe bridges, but the read always has to complete\nsynchronously and therefore has to flush all pending writes to a\ndevice.  If a write is held and followed by a delay, the delay\nmeans nothing because the write may not have reached hardware\n(maybe even not until the next read)\n\nSigned-off-by: Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\nTested-by:  Aaron Brown \u003caaron.f.brown@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "fe55c1844a1c106e9d9d3dd27cbfcf8caeb9e77e",
      "tree": "85bbcd23d3f5fcc6b19abfc29d5ffea9608a6fcb",
      "parents": [
        "9e191b22c91873c09c722d7f956ab9f3276f9a37"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Aug 04 10:27:32 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Aug 04 11:26:24 2011 +0100"
      },
      "message": "Revert \"dt: add of_alias_scan and of_alias_get_id\"\n\nThis reverts commit 750f463a749e28464151ad26938d11b07b1c43cb.\n\nof_alias_* still needs work to be generalized for \u0027promtree\u0027 dt\nplatforms, and to no implicitly create entries for available ids.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "9e191b22c91873c09c722d7f956ab9f3276f9a37",
      "tree": "9cc9b93bc5ae9aa10917a242efae1d57324d0d4c",
      "parents": [
        "750f463a749e28464151ad26938d11b07b1c43cb"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Aug 04 10:47:40 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Aug 04 11:16:04 2011 +0100"
      },
      "message": "dt: remove of_alias_get_id() reference\n\nof_alias_get_id() is broken and being reverted.  Remove the reference\nto it and replace with a single incrementing id number.\n\nThere is no risk of regression here on the imx driver since the imx\nchange to use of_alias_get_id() is commit 22698aa2, \"serial/imx: add\ndevice tree probe support\" which is new for v3.1, and it won\u0027t get\nused unless CONFIG_OF is enabled and the board is booted using a\ndevice tree.  A single incrementing integer is sufficient for now.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\n"
    },
    {
      "commit": "a61b582954183e93a3dc3a5cf6bfd2e2c3b40aba",
      "tree": "c4c413241f321dadf5427086d904f39790a2fcc3",
      "parents": [
        "fabb5bd96d060da961d74531a0900da4da5ad2d4"
      ],
      "author": {
        "name": "Josip Rodin",
        "email": "joy@entuzijast.net",
        "time": "Thu Aug 04 02:47:40 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 04 02:47:40 2011 -0700"
      },
      "message": "sparc: Fix __atomic_add_unless() return value.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3e614577198757d5854caa912e88f2d4296479b",
      "tree": "82c78d2faf8aa426f77a5cc6d497122ed95f4161",
      "parents": [
        "36c35416a94f5632c3addad05217ff02c39b3b61"
      ],
      "author": {
        "name": "Tord Andersson",
        "email": "tord.andersson@endian.se",
        "time": "Wed Aug 03 22:11:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 04 02:04:32 2011 -0700"
      },
      "message": "macb: restore wrap bit when performing underrun cleanup\n\nWhen TX underrun occurs, a cleanup is performed that marks all buffers\nas used. As a side effect it also clears the wrap bit in the last\nbuffer. This patch will restore the wrap bit.\n\nSigned-off-by: Tord Andersson \u003ctord.andersson@endian.se\u003e\nAcked-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36c35416a94f5632c3addad05217ff02c39b3b61",
      "tree": "cd62778aeb57b3958228e2cd325d18fd1cd1cc35",
      "parents": [
        "5ee5a07ce3a54de3d1192f8c9c2378d51a51e3bd"
      ],
      "author": {
        "name": "Giuseppe Scrivano",
        "email": "giuseppe@southpole.se",
        "time": "Wed Aug 03 22:10:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 04 01:43:30 2011 -0700"
      },
      "message": "cdc_ncm: fix endianness problem.\n\nFix a misusage of the struct usb_cdc_notification to pass arguments to the\nusb_control_msg function.  The usb_control_msg function expects host endian\narguments but usb_cdc_notification stores these values as little endian.\n\nNow usb_control_msg is directly invoked with host endian values.\n\nSigned-off-by: Giuseppe Scrivano \u003cgiuseppe@southpole.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fabb5bd96d060da961d74531a0900da4da5ad2d4",
      "tree": "84fe9704ef76a2f8e545619ff543de2fe80d4db7",
      "parents": [
        "56d205cc5c0a3032a605121d4253e111193bf923"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu Aug 04 01:35:12 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 04 01:35:12 2011 -0700"
      },
      "message": "sparc: use kbuild-generic support for true asm-generic header files\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0302899e144296d6ce8cb3679a9a42d5c6436910",
      "tree": "b6c4c8414f93f9feb4142f68ab02c7bfb1f284f6",
      "parents": [
        "89e9aad65ffad96c3a35ff979a61a65761873951"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Aug 04 01:30:34 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 04 01:30:34 2011 -0700"
      },
      "message": "drivers/ide/cy82c693.c: Add missing pci_dev_put\n\nPci_get_slot calls pci_dev_get, so pci_dev_put is needed before leaving the\nfunction in the case where pci_get_slot is locally used.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nlocal idexpression x;\nexpression e;\n@@\n\n*x \u003d pci_get_slot(...)\n... when !\u003d true x \u003d\u003d NULL\n    when !\u003d pci_dev_put(x)\n    when !\u003d e \u003d x\n    when !\u003d if (x !\u003d NULL) {\u003c+... pci_dev_put(x); ...+\u003e}\n*return ...;\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89e9aad65ffad96c3a35ff979a61a65761873951",
      "tree": "8197ad0688a895fa190b4e03a975610b41b4d583",
      "parents": [
        "288d5abec8314ae50fe6692f324b0444acae8486"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Aug 04 01:29:51 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 04 01:29:51 2011 -0700"
      },
      "message": "ide: Fix irq flags madness\n\ncommit ec1a123 (IDE: pass IRQ flags to the IDE core) introduced the\nbogosity of passing unfiltered resource-\u003eflags to the irq_flags which\nare used for request_irq. It results in random bits set (especially\nIORESOURCE_IRQ which maps to IRQF_PER_CPU).\n\nFilter the bits proper.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30765b92ada267c5395fc788623cb15233276f5c",
      "tree": "83d4f62be66252537b634880170015ed051faa6e",
      "parents": [
        "f59de8992aa6dc85e81aadc26b0f69e17809721d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jul 28 23:22:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:18:00 2011 +0200"
      },
      "message": "slab, lockdep: Annotate the locks before using them\n\nFernando found we hit the regular OFF_SLAB \u0027recursion\u0027 before we\nannotate the locks, cure this.\n\nThe relevant portion of the stack-trace:\n\n\u003e [    0.000000]  [\u003cc085e24f\u003e] rt_spin_lock+0x50/0x56\n\u003e [    0.000000]  [\u003cc04fb406\u003e] __cache_free+0x43/0xc3\n\u003e [    0.000000]  [\u003cc04fb23f\u003e] kmem_cache_free+0x6c/0xdc\n\u003e [    0.000000]  [\u003cc04fb2fe\u003e] slab_destroy+0x4f/0x53\n\u003e [    0.000000]  [\u003cc04fb396\u003e] free_block+0x94/0xc1\n\u003e [    0.000000]  [\u003cc04fc551\u003e] do_tune_cpucache+0x10b/0x2bb\n\u003e [    0.000000]  [\u003cc04fc8dc\u003e] enable_cpucache+0x7b/0xa7\n\u003e [    0.000000]  [\u003cc0bd9d3c\u003e] kmem_cache_init_late+0x1f/0x61\n\u003e [    0.000000]  [\u003cc0bba687\u003e] start_kernel+0x24c/0x363\n\u003e [    0.000000]  [\u003cc0bba0ba\u003e] i386_start_kernel+0xa9/0xaf\n\nReported-by: Fernando Lopez-Lezcano \u003cnando@ccrma.Stanford.EDU\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311888176.2617.379.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f59de8992aa6dc85e81aadc26b0f69e17809721d",
      "tree": "4cdb87598edb67a774281bf3cea2800114d2fa0c",
      "parents": [
        "83835b3d9aec8e9f666d8223d8a386814f756266"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 14 15:19:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:17:56 2011 +0200"
      },
      "message": "lockdep: Clear whole lockdep_map on initialization\n\nlockdep_init_map() only initializes parts of lockdep_map and triggers\nkmemcheck warning when it is copied as a whole.  There isn\u0027t anything\nto be gained by clearing selectively.  memset() the whole structure\nand remove loop for -\u003eclass_cache[] clearing.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d35532\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-and-tested-by: Christian Casteyde \u003ccasteyde.christian@free.fr\u003e\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d35532\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110714131909.GJ3455@htj.dyndns.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83835b3d9aec8e9f666d8223d8a386814f756266",
      "tree": "6112e44af7202c41b48d468eff8b5a28138efd33",
      "parents": [
        "70a0686a72c7a7e554b404ca11406ceec709d425"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jul 22 15:26:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:17:54 2011 +0200"
      },
      "message": "slab, lockdep: Annotate slab -\u003e rcu -\u003e debug_object -\u003e slab\n\nLockdep thinks there\u0027s lock recursion through:\n\n\tkmem_cache_free()\n\t  cache_flusharray()\n\t    spin_lock(\u0026l3-\u003elist_lock)  \u003c----------------.\n\t    free_block()                                |\n\t      slab_destroy()                            |\n\t\tcall_rcu()                              |\n\t\t  debug_object_activate()               |\n\t\t    debug_object_init()                 |\n\t\t      __debug_object_init()             |\n\t\t\tkmem_cache_alloc()              |\n\t\t\t  cache_alloc_refill()          |\n\t\t\t    spin_lock(\u0026l3-\u003elist_lock) --\u0027\n\nNow debug objects doesn\u0027t use SLAB_DESTROY_BY_RCU and hence there is no\nactual possibility of recursing. Luckily debug objects marks it slab\nwith SLAB_DEBUG_OBJECTS so we can identify the thing.\n\nMark all SLAB_DEBUG_OBJECTS (all one!) slab caches with a special\nlockdep key so that lockdep sees its a different cachep.\n\nAlso add a WARN on trying to create a SLAB_DESTROY_BY_RCU |\nSLAB_DEBUG_OBJECTS cache, to avoid possible future trouble.\n\nReported-and-tested-by: Sebastian Siewior \u003csebastian@breakpoint.cc\u003e\n[ fixes to the initial patch ]\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311341165.27400.58.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70a0686a72c7a7e554b404ca11406ceec709d425",
      "tree": "e6f1d4bdb72ca93e7b13975b02e6e9199148666f",
      "parents": [
        "7d36b26be0f3c6b86e3ab7e1539e42f3a3bc79ca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jul 25 12:09:59 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:17:41 2011 +0200"
      },
      "message": "lockdep: Fix up warning\n\nOn Sun, 2011-07-24 at 21:06 -0400, Arnaud Lacombe wrote:\n\n\u003e /src/linux/linux/kernel/lockdep.c: In function \u0027mark_held_locks\u0027:\n\u003e /src/linux/linux/kernel/lockdep.c:2471:31: warning: comparison of\n\u003e distinct pointer types lacks a cast\n\nThe warning is harmless in this case, but the below makes it go away.\n\nReported-by: Arnaud Lacombe \u003clacombar@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311588599.2617.56.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d36b26be0f3c6b86e3ab7e1539e42f3a3bc79ca",
      "tree": "f22ac58f11dc1d0738e66024052f2e1c709533f1",
      "parents": [
        "d7619fe39d9769b4d4545cc511c891deea18ae08"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 26 13:13:44 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:17:36 2011 +0200"
      },
      "message": "lockdep: Fix trace_hardirqs_on_caller()\n\nCommit dd4e5d3ac4a (\"lockdep: Fix trace_[soft,hard]irqs_[on,off]()\nrecursion\") made a bit of a mess of the various checks and error\nconditions.\n\nIn particular it moved the check for !irqs_disabled() before the\nspurious enable test, resulting in some warnings.\n\nReported-by: Arnaud Lacombe \u003clacombar@gmail.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-and-tested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311679697.24752.28.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "288d5abec8314ae50fe6692f324b0444acae8486",
      "tree": "58a6903344b8d9b2252144356a132a05a8359876",
      "parents": [
        "33f35f2a4ee3abfc0f87990058aa1b6b5092f725"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 22:03:29 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 22:03:29 2011 -1000"
      },
      "message": "Boot up with usermodehelper disabled\n\nThe core device layer sends tons of uevent notifications for each device\nit finds, and if the kernel has been built with a non-empty\nCONFIG_UEVENT_HELPER_PATH that will make us try to execute the usermode\nhelper binary for all these events very early in the boot.\n\nNot only won\u0027t the root filesystem even be mounted at that point, we\nliterally won\u0027t have necessarily even initialized all the process\nhandling data structures at that point, which causes no end of silly\nproblems even when the usermode helper doesn\u0027t actually succeed in\nexecuting.\n\nSo just use our existing infrastructure to disable the usermodehelpers\nto make the kernel start out with them disabled.  We enable them when\nwe\u0027ve at least initialized stuff a bit.\n\nProblems related to an uninitialized\n\n\tinit_ipc_ns.ids[IPC_SHM_IDS].rw_mutex\n\nreported by various people.\n\nReported-by: Manuel Lauss \u003cmanuel.lauss@googlemail.com\u003e\nReported-by: Richard Weinberger \u003crichard@nod.at\u003e\nReported-by: Marc Zyngier \u003cmaz@misterjones.org\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33f35f2a4ee3abfc0f87990058aa1b6b5092f725",
      "tree": "8433c0f91fc9d10662965f0e9c7d49c7a9d52580",
      "parents": [
        "0ea648441a189f6e3e90a25c74511738799a0c7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 22:00:38 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 22:00:38 2011 -1000"
      },
      "message": "x86: don\u0027t include xen/xen.h in \u003casm/io.h\u003e unless XEN is enabled\n\nDmitry Kasatkin reports:\n  \"kernel-devel package with kernel headers have no \u003cinclude/xen\u003e\n   directory if XEN is disabled.  Modules which inclide asm/io.h won\u0027t\n   compile.\n\n   XEN related content is behind the CONFIG_XEN flag in the io.h.  And\n   \u003cxen/xen.h\u003e should be also behind CONFIG_XEN flag.\"\n\nSo move the include of \u003cxen/xen.h\u003e down into the section that is\nconditional on CONFIG_XEN.\n\nReported-by: Dmitry Kasatkin \u003cdmitry.kasatkin@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ea648441a189f6e3e90a25c74511738799a0c7a",
      "tree": "b0efc68dd122fd51ffeffa26a396e2f01336bf62",
      "parents": [
        "35e51fe82ddcd8fb7f129d6dd8491c097d388665",
        "4fecc2088fd02ce8a6580c12822987d3c6bab9b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 22:00:09 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 22:00:09 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: ad7879 - fix deficient device disable\n  Input: gpio_keys - fix two typos in devicetree documentation\n  Input: mma8450 - add device tree probe support\n  Input: gpio_keys - return proper error code if memory allocation fails\n  Input: lm8323 - add missing device_remove_file for dev_attr_time\n  Input: tegra-kbc - fix computation of polling time\n  Input: kxtj9 - explicitly include module.h\n  Input: psmouse - hgpk.c needs module.h\n"
    },
    {
      "commit": "35e51fe82ddcd8fb7f129d6dd8491c097d388665",
      "tree": "d6dd5e860c0e68a1af7976990c7d624e7362415d",
      "parents": [
        "c0c770e610cc4cdcd66c7e939bdf89cc3e72f79d",
        "a0bfa1373859e9d11dc92561a8667588803e42d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:54:15 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:54:15 2011 -1000"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  cpuidle: stop depending on pm_idle\n  x86 idle: move mwait_idle_with_hints() to where it is used\n  cpuidle: replace xen access to x86 pm_idle and default_idle\n  cpuidle: create bootparam \"cpuidle.off\u003d1\"\n  mrst_pmu: driver for Intel Moorestown Power Management Unit\n"
    },
    {
      "commit": "c0c770e610cc4cdcd66c7e939bdf89cc3e72f79d",
      "tree": "7cf6807258fef2a85a2ff212f4f4eb6d9dc336c6",
      "parents": [
        "a9e4e6e14c322e08d1c615afc8f504fb415f9613",
        "d0e323b47057f4492b8fa22345f38d80a469bf8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:53:27 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:53:27 2011 -1000"
      },
      "message": "Merge branch \u0027apei-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027apei-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  ACPI, APEI, EINJ Param support is disabled by default\n  APEI GHES: 32-bit buildfix\n  ACPI: APEI build fix\n  ACPI, APEI, GHES: Add hardware memory error recovery support\n  HWPoison: add memory_failure_queue()\n  ACPI, APEI, GHES, Error records content based throttle\n  ACPI, APEI, GHES, printk support for recoverable error via NMI\n  lib, Make gen_pool memory allocator lockless\n  lib, Add lock-less NULL terminated single list\n  Add Kconfig option ARCH_HAVE_NMI_SAFE_CMPXCHG\n  ACPI, APEI, Add WHEA _OSC support\n  ACPI, APEI, Add APEI bit support in generic _OSC call\n  ACPI, APEI, GHES, Support disable GHES at boot time\n  ACPI, APEI, GHES, Prevent GHES to be built as module\n  ACPI, APEI, Use apei_exec_run_optional in APEI EINJ and ERST\n  ACPI, APEI, Add apei_exec_run_optional\n  ACPI, APEI, GHES, Do not ratelimit fatal error printk before panic\n  ACPI, APEI, ERST, Fix erst-dbg long record reading issue\n  ACPI, APEI, ERST, Prevent erst_dbg from loading if ERST is disabled\n"
    },
    {
      "commit": "d7619fe39d9769b4d4545cc511c891deea18ae08",
      "tree": "0a902533414001075b2245825e145cc2e35ce985",
      "parents": [
        "9ea71503a8ed9184d2d0b8ccc4d269d05f7940ae",
        "ed8f37370d83e695c0a4fa5d5fc7a83ecb947526"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 09:09:27 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 09:09:27 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/urgent\n"
    },
    {
      "commit": "21ef4b8b7a7d59a995bf44382de38c95587767d4",
      "tree": "c658c556af756d7a7eec889810d185c7afca7088",
      "parents": [
        "d0b0c8c79b26a1f48e1e92a2c073655159e72b7c"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Jul 20 11:32:28 2011 +0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Aug 03 22:25:39 2011 -0700"
      },
      "message": "dmaengine: use DEFINE_IDR for static initialization\n\nWe could use DEFINE_IDR for statically allocated idr\nthat allow us to save a few lines of code.\n\nAnd also remove unneeded mutex_init() for dma_list_mutex, as\ndma_list_mutex is initialized automatically by DEFINE_MUTEX().\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "d0b0c8c79b26a1f48e1e92a2c073655159e72b7c",
      "tree": "46756f2c624172fca7a44b0dddce433f18fa9733",
      "parents": [
        "9b487ced8a903f1028fcfaef1e6406acc91fe0fa"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 22 14:20:46 2011 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Aug 03 22:25:06 2011 -0700"
      },
      "message": "ioat: fix xor_idx_to_desc\n\nFor versions of the device that implement operation-types 0x87, 0x88\n(IOAT_OP_XOR, IOAT_OP_XOR_VAL) this map determines whether a given\nsource is located in the base or extended descriptor.  Source addresses\n6 through 8 require an extended descriptor, hence 0xe0, not 0xd0.  No\nshipping hardware currently implements these operation types.\n\nReported-by: Evgueni Smogailov \u003cevgueni.smogailov@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "5ee5a07ce3a54de3d1192f8c9c2378d51a51e3bd",
      "tree": "7ceaa3487218d7b8dff33534a8ac84b3bdac8d8d",
      "parents": [
        "06fa0a883a01a34a0449ec116c5288c1d196b4b0"
      ],
      "author": {
        "name": "Jon Mason",
        "email": "jdmason@kudzu.us",
        "time": "Wed Aug 03 06:42:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 19:04:11 2011 -0700"
      },
      "message": "irda: use PCI_VENDOR_ID_*\n\nUse PCI_VENDOR_ID_* from pci_ids.h instead of creating #define locally.\n\nSigned-off-by: Jon Mason \u003cjdmason@kudzu.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9e4e6e14c322e08d1c615afc8f504fb415f9613",
      "tree": "7c842bbfdc322b5ff99644e8b1bc7b415669233e",
      "parents": [
        "27665ffa22b9b83bab226bf12c61424f7f1f8995",
        "dcd998ccdbf74a7d8fe0f0a44e85da1ed5975946"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:12:09 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:12:09 2011 -1000"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:\n  tcm_fc: Handle DDP/SW fc_frame_payload_get failures in ft_recv_write_data\n  target: Fix bug for transport_generic_wait_for_tasks with direct operation\n  target: iscsi_target depends on NET\n  target: Fix WRITE_SAME_16 lba assignment breakage\n  MAINTAINERS: Add target-devel list for drivers/target/\n  iscsi-target: Fix CONFIG_SMP\u003dn and CONFIG_MODULES\u003dn build failure\n  iscsi-target: Fix snprintf usage with MAX_PORTAL_LEN\n  iscsi-target: Fix uninitialized usage of cmd-\u003epad_bytes\n  iscsi-target: strlen() doesn\u0027t count the terminator\n  iscsi-target: Fix NULL dereference on allocation failure\n"
    },
    {
      "commit": "27665ffa22b9b83bab226bf12c61424f7f1f8995",
      "tree": "aaccc030778bb6878c46ab9ca035901af67d78e4",
      "parents": [
        "14595f708eeb528fabcee339ed0b9e0a2ecec73f",
        "750f463a749e28464151ad26938d11b07b1c43cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:10:30 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:10:30 2011 -1000"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  dt: add of_alias_scan and of_alias_get_id\n"
    },
    {
      "commit": "14595f708eeb528fabcee339ed0b9e0a2ecec73f",
      "tree": "e4c8ee1004f6ff445bd058a82791341f7f3301be",
      "parents": [
        "298507d4d2cff2248e84afcf646b697301294442",
        "db9481c0476c6475d058ac7ecebb5a822b43cc99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:09:10 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:09:10 2011 -1000"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: use kzalloc in ext4_kzalloc()\n"
    },
    {
      "commit": "298507d4d2cff2248e84afcf646b697301294442",
      "tree": "15861e6610403c57cf4eca976dea4d59ac7a8e99",
      "parents": [
        "33a30ed4bdccd95ed84a1a20c1fef8ac89788ce5"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Aug 03 22:28:26 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:45:55 2011 -1000"
      },
      "message": "shm: optimize exit_shm()\n\nWe may optimistically check .in_use \u003d\u003d 0 without holding the rw_mutex:\nit\u0027s the common case, and if it\u0027s zero, there certainly won\u0027t be any\nsegments associated with us.\n\nAfter taking the lock, the idr_for_each() will do the right thing, so we\ncould now drop the re-check inside the lock without any real cost.  But\nit won\u0027t hurt.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33a30ed4bdccd95ed84a1a20c1fef8ac89788ce5",
      "tree": "aa57f9f5b958cf90ab548fc4535b9fb750489829",
      "parents": [
        "206506ccf04b6790d11553a0c8595d1bf65790fe"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Aug 03 22:26:55 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:45:55 2011 -1000"
      },
      "message": "shm: fix wrong tests\n\nCommit 4c677e2eefdb (\"shm: optimize locking and ipc_namespace getting\")\nintroduced a copy-paste bug.  Due to the bug cycle optimizations were\ndisabled.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07b7ddd9b7f17a567e3ac2b33a4dffcb2a4524e0",
      "tree": "7a731bfd6992123f1809e121ef5d74e88be090c0",
      "parents": [
        "c0864cb39c68696e80657360eba63da5e743b7aa"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 03 11:28:44 2011 -0700"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Wed Aug 03 17:45:15 2011 -0700"
      },
      "message": "drm/i915: allow cache sharing policy control\n\nExpose the SNB+ cache sharing policy register in debugfs.  The new file,\ni915_cache_sharing, has 4 values, 0-3, with 0 being \"max uncore\nresources\" and 3 being the minimum.  Exposing this control should make\nbenchmarking easier and help us choose a good default.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "c0864cb39c68696e80657360eba63da5e743b7aa",
      "tree": "b78746a6c542923e9d9aa6e829a7f34cc449871b",
      "parents": [
        "45187ace97f7b3deb559b25348ccb7e301c158c9"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 03 09:22:56 2011 -0700"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Wed Aug 03 17:43:15 2011 -0700"
      },
      "message": "drm/i915/hdmi: HDMI source product description infoframe support\n\nSet an SPD infoframe if the sink supports it.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "45187ace97f7b3deb559b25348ccb7e301c158c9",
      "tree": "9538239971c5538b5edc5e777015e453b430a376",
      "parents": [
        "ebec9a7bf11f843b0602b06c402f04bf4213b35a"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 03 09:22:55 2011 -0700"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Wed Aug 03 17:43:13 2011 -0700"
      },
      "message": "drm/i915/hdmi: split infoframe setting from infoframe type code\n\nThis makes it easier to add support for other infoframes (e.g. SPD,\nvendor specific).\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "ebec9a7bf11f843b0602b06c402f04bf4213b35a",
      "tree": "dc99677c052f3a24bf55a87f9b88067f3de70102",
      "parents": [
        "4e20fa65a3ea789510eed1a15deb9e8aab2b8202"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 03 09:22:54 2011 -0700"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Wed Aug 03 17:43:10 2011 -0700"
      },
      "message": "drm: track CEA version number if present\n\nDrivers need to know the CEA version number in addition to other display\ninfo (like whether the display is an HDMI sink) before enabling certain\nfeatures.  So track the CEA version number in the display info\nstructure.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "206506ccf04b6790d11553a0c8595d1bf65790fe",
      "tree": "b30ac4fd8005d5fe0ec818de303a0b486b15c007",
      "parents": [
        "8079b1c859c44f27d63da4951f5038a16589a563"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Aug 03 16:21:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:25 2011 -1000"
      },
      "message": "tmpfs: expand \"help\" to explain value of TMPFS_POSIX_ACL\n\nExpand the fs/Kconfig \"help\" info to clarify why it\u0027s a bad idea to\ndeselect the TMPFS_POSIX_ACL config variable.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8079b1c859c44f27d63da4951f5038a16589a563",
      "tree": "677e77a4c9d3b9c33427196cb5f860ebcf530b15",
      "parents": [
        "e504f3fdd63d486d45b18009e5a65f2e329acb0a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "mm: clarify the radix_tree exceptional cases\n\nMake the radix_tree exceptional cases, mostly in filemap.c, clearer.\n\nIt\u0027s hard to devise a suitable snappy name that illuminates the use by\nshmem/tmpfs for swap, while keeping filemap/pagecache/radix_tree\ngenerality.  And akpm points out that /* radix_tree_deref_retry(page) */\ncomments look like calls that have been commented out for unknown\nreason.\n\nSkirt the naming difficulty by rearranging these blocks to handle the\ntransient radix_tree_deref_retry(page) case first; then just explain the\nremaining shmem/tmpfs swap case in a comment.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e504f3fdd63d486d45b18009e5a65f2e329acb0a",
      "tree": "2d02a5c29a922fae626a69cd0fc92cae37d7918e",
      "parents": [
        "31475dd611209413bace21651a400afb91d0bd9d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs radix_tree: locate_item to speed up swapoff\n\nWe have already acknowledged that swapoff of a tmpfs file is slower than\nit was before conversion to the generic radix_tree: a little slower\nthere will be acceptable, if the hotter paths are faster.\n\nBut it was a shock to find swapoff of a 500MB file 20 times slower on my\nlaptop, taking 10 minutes; and at that rate it significantly slows down\nmy testing.\n\nNow, most of that turned out to be overhead from PROVE_LOCKING and\nPROVE_RCU: without those it was only 4 times slower than before; and\nmore realistic tests on other machines don\u0027t fare as badly.\n\nI\u0027ve tried a number of things to improve it, including tagging the swap\nentries, then doing lookup by tag: I\u0027d expected that to halve the time,\nbut in practice it\u0027s erratic, and often counter-productive.\n\nThe only change I\u0027ve so far found to make a consistent improvement, is\nto short-circuit the way we go back and forth, gang lookup packing\nentries into the array supplied, then shmem scanning that array for the\ntarget entry.  Scanning in place doubles the speed, so it\u0027s now only\ntwice as slow as before (or three times slower when the PROVEs are on).\n\nSo, add radix_tree_locate_item() as an expedient, once-off,\nsingle-caller hack to do the lookup directly in place.  #ifdef it on\nCONFIG_SHMEM and CONFIG_SWAP, as much to document its limited\napplicability as save space in other configurations.  And, sadly,\n#include sched.h for cond_resched().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31475dd611209413bace21651a400afb91d0bd9d",
      "tree": "679c1cb33e211a4f2e5c0f47bb836393c9454d35",
      "parents": [
        "69f07ec938712b58755add82dd3d0b35f01317cc"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "mm: a few small updates for radix-swap\n\nRemove PageSwapBacked (!page_is_file_cache) cases from\nadd_to_page_cache_locked() and add_to_page_cache_lru(): those pages now\ngo through shmem_add_to_page_cache().\n\nRemove a comment on maximum tmpfs size from fsstack_copy_inode_size(),\nand add a comment on swap entries to invalidate_mapping_pages().\n\nAnd mincore_page() uses find_get_page() on what might be shmem or a\ntmpfs file: allow for a radix_tree_exceptional_entry(), and proceed to\nfind_get_page() on swapper_space if so (oh, swapper_space needs #ifdef).\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69f07ec938712b58755add82dd3d0b35f01317cc",
      "tree": "7a0a704ed4bc79dbba50454093469d0ce31ef1a4",
      "parents": [
        "6922c0c7abd387374255801f7739624867e8acad"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs: use kmemdup for short symlinks\n\nBut we\u0027ve not yet removed the old swp_entry_t i_direct[16] from\nshmem_inode_info.  That\u0027s because it was still being shared with the\ninline symlink.  Remove it now (saving 64 or 128 bytes from shmem inode\nsize), and use kmemdup() for short symlinks, say, those up to 128 bytes.\n\nI wonder why mpol_free_shared_policy() is done in shmem_destroy_inode()\nrather than shmem_evict_inode(), where we usually do such freeing? I\nguess it doesn\u0027t matter, and I\u0027m not into NUMA mpol testing right now.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@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": "6922c0c7abd387374255801f7739624867e8acad",
      "tree": "851ec456dbca49ee78c302fd62839e9889a75290",
      "parents": [
        "aa3b189551ad8e5cc1d9c663735c131650238278"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs: convert shmem_writepage and enable swap\n\nConvert shmem_writepage() to use shmem_delete_from_page_cache() to use\nshmem_radix_tree_replace() to substitute swap entry for page pointer\natomically in the radix tree.\n\nAs with shmem_add_to_page_cache(), it\u0027s not entirely satisfactory to be\ncopying such code from delete_from_swap_cache, but again judged easier\nto sell than making its other callers go through the extras.\n\nRemove the toy implementation\u0027s shmem_put_swap() and shmem_get_swap(),\nnow unreferenced, and the hack to disable swap: it\u0027s now good to go.\n\nThe way things have worked out, info-\u003elock no longer helps to guard the\nshmem_swaplist: we increment swapped under shmem_swaplist_mutex only.\nThat global mutex exclusion between shmem_writepage() and shmem_unuse()\nis not pretty, and we ought to find another way; but it\u0027s been forced on\nus by recent race discoveries, not a consequence of this patchset.\n\nAnd what has become of the WARN_ON_ONCE(1) free_swap_and_cache() if a\nswap entry was found already present? That\u0027s no longer possible, the\n(unknown) one inserting this page into filecache would hit the swap\nentry occupying that slot.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa3b189551ad8e5cc1d9c663735c131650238278",
      "tree": "c789ab5c7f890a6065811d8bba15a784caf9e859",
      "parents": [
        "54af60421822bb9cb664dd5cd7aac46c01ccfcf8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs: convert mem_cgroup shmem to radix-swap\n\nRemove mem_cgroup_shmem_charge_fallback(): it was only required when we\nhad to move swappage to filecache with GFP_NOWAIT.\n\nRemove the GFP_NOWAIT special case from mem_cgroup_cache_charge(), by\nmoving its call out from shmem_add_to_page_cache() to two of thats three\ncallers.  But leave it doing mem_cgroup_uncharge_cache_page() on error:\nalthough asymmetrical, it\u0027s easier for all 3 callers to handle.\n\nThese two changes would also be appropriate if anyone were to start\nusing shmem_read_mapping_page_gfp() with GFP_NOWAIT.\n\nRemove mem_cgroup_get_shmem_target(): mc_handle_file_pte() can test\nradix_tree_exceptional_entry() to get what it needs for itself.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54af60421822bb9cb664dd5cd7aac46c01ccfcf8",
      "tree": "b62d2b9ccc2b467ee5406bb0d3494db6a5f96582",
      "parents": [
        "46f65ec15c6878a2b4a49f6e01b20b201b46a9e4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: convert shmem_getpage_gfp to radix-swap\n\nConvert shmem_getpage_gfp(), the engine-room of shmem, to expect page or\nswap entry returned from radix tree by find_lock_page().\n\nWhereas the repetitive old method proceeded mainly under info-\u003elock,\ndropping and repeating whenever one of the conditions needed was not\nmet, now we can proceed without it, leaving shmem_add_to_page_cache() to\ncheck for a race.\n\nThis way there is no need to preallocate a page, no need for an early\nradix_tree_preload(), no need for mem_cgroup_shmem_charge_fallback().\n\nMove the error unwinding down to the bottom instead of repeating it\nthroughout.  ENOSPC handling is a little different from before: there is\nno longer any race between find_lock_page() and finding swap, but we can\narrive at ENOSPC before calling shmem_recalc_inode(), which might\noccasionally discover freed space.\n\nBe stricter to check i_size before returning.  info-\u003elock is used for\nlittle but alloced, swapped, i_blocks updates.  Move i_blocks updates\nout from under the max_blocks check, so even an unlimited size\u003d0 mount\ncan show accurate du.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46f65ec15c6878a2b4a49f6e01b20b201b46a9e4",
      "tree": "3b72804ee87b4a5c7ec86b5059e20ddea82d3c2c",
      "parents": [
        "7a5d0fbb29936fad7f17b1cb001b0c33a5f13328"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: convert shmem_unuse_inode to radix-swap\n\nConvert shmem_unuse_inode() to use a lockless gang lookup of the radix\ntree, searching for matching swap.\n\nThis is somewhat slower than the old method: because of repeated radix\ntree descents, because of copying entries up, but probably most because\nthe old method noted and skipped once a vector page was cleared of swap.\nPerhaps we can devise a use of radix tree tagging to achieve that later.\n\nshmem_add_to_page_cache() uses shmem_radix_tree_replace() to compensate\nfor the lockless lookup by checking that the expected entry is in place,\nunder lock.  It is not very satisfactory to be copying this much from\nadd_to_page_cache_locked(), but I think easier to sell than insisting\nthat every caller of add_to_page_cache*() go through the extras.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a5d0fbb29936fad7f17b1cb001b0c33a5f13328",
      "tree": "903c66ee195451f45c782155a8eb6dd6e7217522",
      "parents": [
        "bda97eab0cc9c6385b9f26abdda6459f630f4513"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: convert shmem_truncate_range to radix-swap\n\nDisable the toy swapping implementation in shmem_writepage() - it\u0027s hard\nto support two schemes at once - and convert shmem_truncate_range() to a\nlockless gang lookup of swap entries along with pages, freeing both.\n\nSince the second loop tightens its noose until all entries of either\nkind have been squeezed out (and we shall make sure that there\u0027s not an\ninstant when neither is visible), there is no longer a need for yet\nanother pass below.\n\nshmem_radix_tree_replace() compensates for the lockless lookup by\nchecking that the expected entry is in place, under lock, before\nreplacing it.  Here it just deletes, but will be used in later patches\nto substitute swap entry for page or page for swap entry.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bda97eab0cc9c6385b9f26abdda6459f630f4513",
      "tree": "bfa418b90c5889a1cd33836fd8f0a2f0232e3dac",
      "parents": [
        "41ffe5d5ceef7f7ff2ff18e320d88ca6d629efaf"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: copy truncate_inode_pages_range\n\nBring truncate.c\u0027s code for truncate_inode_pages_range() inline into\nshmem_truncate_range(), replacing its first call (there\u0027s a followup\ncall below, but leave that one, it will disappear next).\n\nDon\u0027t play with it yet, apart from leaving out the cleancache flush, and\n(importantly) the nrpages \u003d\u003d 0 skip, and moving shmem_setattr()\u0027s\npartial page preparation into its partial page handling.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41ffe5d5ceef7f7ff2ff18e320d88ca6d629efaf",
      "tree": "66ce800fb7911ed037aa574f46729646ce485d0b",
      "parents": [
        "285b2c4fdd69ea73b4762785d8c6be83b6c074a6"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: miscellaneous trivial cleanups\n\nWhile it\u0027s at its least, make a number of boring nitpicky cleanups to\nshmem.c, mostly for consistency of variable naming.  Things like \"swap\"\ninstead of \"entry\", \"pgoff_t index\" instead of \"unsigned long idx\".\n\nAnd since everything else here is prefixed \"shmem_\", better change\ninit_tmpfs() to shmem_init().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "285b2c4fdd69ea73b4762785d8c6be83b6c074a6",
      "tree": "b350a54d8bca3e87ca47d2ad14bb71a53c9bb593",
      "parents": [
        "a2c16d6cb0e478812829ca84aeabd02e36af35eb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: demolish old swap vector support\n\nThe maximum size of a shmem/tmpfs file has been limited by the maximum\nsize of its triple-indirect swap vector.  With 4kB page size, maximum\nfilesize was just over 2TB on a 32-bit kernel, but sadly one eighth of\nthat on a 64-bit kernel.  (With 8kB page size, maximum filesize was just\nover 4TB on a 64-bit kernel, but 16TB on a 32-bit kernel,\nMAX_LFS_FILESIZE being then more restrictive than swap vector layout.)\n\nIt\u0027s a shame that tmpfs should be more restrictive than ramfs, and this\nlimitation has now been noticed.  Add another level to the swap vector?\nNo, it became obscure and hard to maintain, once I complicated it to\nmake use of highmem pages nine years ago: better choose another way.\n\nSurely, if 2.4 had had the radix tree pagecache introduced in 2.5, then\ntmpfs would never have invented its own peculiar radix tree: we would\nhave fitted swap entries into the common radix tree instead, in much the\nsame way as we fit swap entries into page tables.\n\nAnd why should each file have a separate radix tree for its pages and\nfor its swap entries? The swap entries are required precisely where and\nwhen the pages are not.  We want to put them together in a single radix\ntree: which can then avoid much of the locking which was needed to\nprevent them from being exchanged underneath us.\n\nThis also avoids the waste of memory devoted to swap vectors, first in\nthe shmem_inode itself, then at least two more pages once a file grew\nbeyond 16 data pages (pages accounted by df and du, but not by memcg).\nAllocated upfront, to avoid allocation when under swapping pressure, but\npure waste when CONFIG_SWAP is not set - I have never spattered around\nthe ifdefs to prevent that, preferring this move to sharing the common\nradix tree instead.\n\nThere are three downsides to sharing the radix tree.  One, that it binds\ntmpfs more tightly to the rest of mm, either requiring knowledge of swap\nentries in radix tree there, or duplication of its code here in shmem.c.\nI believe that the simplications and memory savings (and probable higher\nperformance, not yet measured) justify that.\n\nTwo, that on HIGHMEM systems with SWAP enabled, it\u0027s the lowmem radix\nnodes that cannot be freed under memory pressure - whereas before it was\nthe less precious highmem swap vector pages that could not be freed.\nI\u0027m hoping that 64-bit has now been accessible for long enough, that the\nhighmem argument has grown much less persuasive.\n\nThree, that swapoff is slower than it used to be on tmpfs files, since\nit\u0027s using a simple generic mechanism not tailored to it: I find this\nnoticeable, and shall want to improve, but maybe nobody else will\nnotice.\n\nSo...  now remove most of the old swap vector code from shmem.c.  But,\nfor the moment, keep the simple i_direct vector of 16 pages, with simple\naccessors shmem_put_swap() and shmem_get_swap(), as a toy implementation\nto help mark where swap needs to be handled in subsequent patches.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2c16d6cb0e478812829ca84aeabd02e36af35eb",
      "tree": "7803a522da5deee7ce753dc5404dca01f42aa176",
      "parents": [
        "6328650bb4d854a7dc1498d1c0048b838b0d340c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "mm: let swap use exceptional entries\n\nIf swap entries are to be stored along with struct page pointers in a\nradix tree, they need to be distinguished as exceptional entries.\n\nMost of the handling of swap entries in radix tree will be contained in\nshmem.c, but a few functions in filemap.c\u0027s common code need to check\nfor their appearance: find_get_page(), find_lock_page(),\nfind_get_pages() and find_get_pages_contig().\n\nSo as not to slow their fast paths, tuck those checks inside the\nexisting checks for unlikely radix_tree_deref_slot(); except for\nfind_lock_page(), where it is an added test.  And make it a BUG in\nfind_get_pages_tag(), which is not applied to tmpfs files.\n\nA part of the reason for eliminating shmem_readpage() earlier, was to\nminimize the places where common code would need to allow for swap\nentries.\n\nThe swp_entry_t known to swapfile.c must be massaged into a slightly\ndifferent form when stored in the radix tree, just as it gets massaged\ninto a pte_t when stored in page tables.\n\nIn an i386 kernel this limits its information (type and page offset) to\n30 bits: given 32 \"types\" of swapfile and 4kB pagesize, that\u0027s a maximum\nswapfile size of 128GB.  Which is less than the 512GB we previously\nallowed with X86_PAE (where the swap entry can occupy the entire upper\n32 bits of a pte_t), but not a new limitation on 32-bit without PAE; and\nthere\u0027s not a new limitation on 64-bit (where swap filesize is already\nlimited to 16TB by a 32-bit page offset).  Thirty areas of 128GB is\nprobably still enough swap for a 64GB 32-bit machine.\n\nProvide swp_to_radix_entry() and radix_to_swp_entry() conversions, and\nenforce filesize limit in read_swap_header(), just as for ptes.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6328650bb4d854a7dc1498d1c0048b838b0d340c",
      "tree": "0e265dc86f7c4451647c1e227843cdd1530f9651",
      "parents": [
        "70d327198a434edb95b3d858bc8010b8add28e3e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "radix_tree: exceptional entries and indices\n\nA patchset to extend tmpfs to MAX_LFS_FILESIZE by abandoning its\npeculiar swap vector, instead keeping a file\u0027s swap entries in the same\nradix tree as its struct page pointers: thus saving memory, and\nsimplifying its code and locking.\n\nThis patch:\n\nThe radix_tree is used by several subsystems for different purposes.  A\nmajor use is to store the struct page pointers of a file\u0027s pagecache for\nmemory management.  But what if mm wanted to store something other than\npage pointers there too?\n\nThe low bit of a radix_tree entry is already used to denote an indirect\npointer, for internal use, and the unlikely radix_tree_deref_retry()\ncase.\n\nDefine the next bit as denoting an exceptional entry, and supply inline\nfunctions radix_tree_exception() to return non-0 in either unlikely\ncase, and radix_tree_exceptional_entry() to return non-0 in the second\ncase.\n\nIf a subsystem already uses radix_tree with that bit set, no problem: it\ndoes not affect internal workings at all, but is defined for the\nconvenience of those storing well-aligned pointers in the radix_tree.\n\nThe radix_tree_gang_lookups have an implicit assumption that the caller\ncan deduce the offset of each entry returned e.g.  by the page-\u003eindex of\na struct page.  But that may not be feasible for some kinds of item to\nbe stored there.\n\nradix_tree_gang_lookup_slot() allow for an optional indices argument,\noutput array in which to return those offsets.  The same could be added\nto other radix_tree_gang_lookups, but for now keep it to the only one\nfor which we need it.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70d327198a434edb95b3d858bc8010b8add28e3e",
      "tree": "bc45657320e8fcfaf2107342ef693ac03eae0f87",
      "parents": [
        "5d6f921b42749d1a70441685b7a4f2801e12ebfb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Aug 03 16:21:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "drivers/video/backlight/aat2870_bl.c: make it buildable as a module\n\ni386 allmodconfig:\n\n  drivers/built-in.o: In function `aat2870_bl_remove\u0027:\n  aat2870_bl.c:(.text+0x414f9): undefined reference to `backlight_device_unregister\u0027\n  drivers/built-in.o: In function `aat2870_bl_probe\u0027:\n  aat2870_bl.c:(.text+0x418fc): undefined reference to `backlight_device_register\u0027\n  aat2870_bl.c:(.text+0x41a31): undefined reference to `backlight_device_unregiste\n\nCc: Jin Park \u003cjinyoungp@nvidia.com\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d6f921b42749d1a70441685b7a4f2801e12ebfb",
      "tree": "6c2bdf6a7de23e7ec7d8d5990586e1a0527164b0",
      "parents": [
        "4c4dd903e72507c853b8c2b04b22e0d0c721fd93"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Aug 03 16:21:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "drivers/video/backlight/aat2870_bl.c: fix setting max_current\n\n - Current implementation tests wrong value for setting\n   aat2870_bl-\u003emax_current.\n\n - In the current implementation, we cannot differentiate between 2 cases:\n\n   a) if pdata-\u003emax_current is not set , or\n\n   b) pdata-\u003emax_current is set to AAT2870_CURRENT_0_45 (which is also 0).\n\n   Fix it by setting AAT2870_CURRENT_0_45 to be 1 and adjust the equation in\n   aat2870_brightness() accordingly.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nTested-by: Jin Park \u003cjinyoungp@nvidia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c4dd903e72507c853b8c2b04b22e0d0c721fd93",
      "tree": "79edda6696d37baaa559ee9517fbcffd8df05552",
      "parents": [
        "1646ec9db75e151b0479dbfaf972f741d0476ec7"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Aug 03 16:21:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "drivers/video/backlight/aat2870_bl.c: fix error checking for backlight_device_register\n\nbacklight_device_register() returns ERR_PTR() on error.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Jin Park \u003cjinyoungp@nvidia.com\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1646ec9db75e151b0479dbfaf972f741d0476ec7",
      "tree": "5758f01d6e4a8584eb8efdfde67fcdc54218b80d",
      "parents": [
        "b4bc281266e84e9a432b588ebdcef5fb94dc8ecb"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Aug 03 16:21:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "cris: add missing declaration of kgdb_init() and breakpoint()\n\nFix:\n\n  arch/cris/arch-v10/kernel/irq.c:239: error: implicit declaration of function \u0027kgdb_init\u0027\n  arch/cris/arch-v10/kernel/irq.c:240: error: implicit declaration of function \u0027breakpoint\u0027\n\nDeclare these two functions.\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: \u003cstable@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": "b4bc281266e84e9a432b588ebdcef5fb94dc8ecb",
      "tree": "0ba15c71f7f0ad206fe899a7fa46f18d8f77cf1b",
      "parents": [
        "4b851d88192c22cf77418a0b4c45b5c789276837"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Aug 03 16:21:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "cris: fix the prototype of sync_serial_ioctl()\n\nFix:\n\n  arch/cris/arch-v10/drivers/sync_serial.c:961: error: conflicting types for \u0027sync_serial_ioctl\u0027\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: \u003cstable@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": "4b851d88192c22cf77418a0b4c45b5c789276837",
      "tree": "6bc0f1927642398a1df3bc1559d91a52d882435a",
      "parents": [
        "d4969213f9e75ec1bfa6ea65c279c64cab7d1bd6"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Aug 03 16:21:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:21 2011 -1000"
      },
      "message": "cris: fix a build error in sync_serial_open()\n\nFix:\n\n  arch/cris/arch-v10/drivers/sync_serial.c:628: error: \u0027ret\u0027 undeclared (first use in this function)\n\n\u0027ret\u0027 should be \u0027err\u0027.\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: \u003cstable@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": "d4969213f9e75ec1bfa6ea65c279c64cab7d1bd6",
      "tree": "c772db06dd6754e9911a12c9be4e131d286f3948",
      "parents": [
        "1560ffe62a9d53a51faeec7417becfba4f2a0d18"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Aug 03 16:21:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:21 2011 -1000"
      },
      "message": "cris: fix a build error in kernel/fork.c\n\nFix this error:\n\n  kernel/fork.c:267: error: implicit declaration of function \u0027alloc_thread_info_node\u0027\n\nThis is due to renaming alloc_thread_info() to alloc_thread_info_node().\n\n[akpm@linux-foundation.org: coding-style fixes]\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: \u003cstable@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": "1560ffe62a9d53a51faeec7417becfba4f2a0d18",
      "tree": "022ba94ddeab5087c8c0c34008c98e4a7f8638c1",
      "parents": [
        "3dab1bce8e840606e76f1bad5a009328e2aa35c7"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Aug 03 16:21:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:21 2011 -1000"
      },
      "message": "tpm_tis: fix build when ACPI is not enabled\n\nFix tpm_tis.c build when CONFIG_ACPI is not enabled by providing a stub\nfunction.  Fixes many build errors/warnings:\n\n  drivers/char/tpm/tpm_tis.c:89: error: dereferencing pointer to incomplete type\n  drivers/char/tpm/tpm_tis.c:89: warning: type defaults to \u0027int\u0027 in declaration of \u0027type name\u0027\n  drivers/char/tpm/tpm_tis.c:89: error: request for member \u0027list\u0027 in something not a structure or union\n  ...\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Leendert van Doorn \u003cleendert@watson.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dab1bce8e840606e76f1bad5a009328e2aa35c7",
      "tree": "ab2b3a8f159497ec22bb9c98445a214116e86b4e",
      "parents": [
        "f7b9fcbbc3b8593ff7dc587f90c2fe90a2fd1e6f"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Aug 03 16:21:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:21 2011 -1000"
      },
      "message": "mm: page_alloc: increase __GFP_BITS_SHIFT to include __GFP_OTHER_NODE\n\n__GFP_OTHER_NODE is used for NUMA allocations on behalf of other nodes.\nIt\u0027s supposed to be passed through from the page allocator to\nzone_statistics(), but it never gets there as gfp_allowed_mask is not\nwide enough and masks out the flag early in the allocation path.\n\nThe result is an accounting glitch where successful NUMA allocations\nby-agent are not properly attributed as local.\n\nIncrease __GFP_BITS_SHIFT so that it includes __GFP_OTHER_NODE.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7b9fcbbc3b8593ff7dc587f90c2fe90a2fd1e6f",
      "tree": "8f025aefd6cd80d5b1062b43668553c2a2296c5a",
      "parents": [
        "f2d34fd9435c7e60cb5189d036efe9abfc911862"
      ],
      "author": {
        "name": "Sergiu Iordache",
        "email": "sergiu@chromium.org",
        "time": "Wed Aug 03 16:21:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:21 2011 -1000"
      },
      "message": "ramoops: update module parameters\n\nUpdate the module parameters when platform data is used.  This means\nthat they can be read from /sys/module/ramoops/parameters in order to\nparse the memory area.\n\nSigned-off-by: Sergiu Iordache \u003csergiu@chromium.org\u003e\nCc: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nCc: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "f2d34fd9435c7e60cb5189d036efe9abfc911862"
}
