)]}'
{
  "log": [
    {
      "commit": "ff6e1225957cce9e93b8d84dc240e5a44094d0ec",
      "tree": "b49d02f73ef1205e7c179773b52b279836a78ca0",
      "parents": [
        "f3a1ef9cee4812e2d08c855eb373f0d83433e34c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Aug 03 14:38:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 20:32:31 2012 -0700"
      },
      "message": "cris: fix eth_v10.c build error\n\nFix build error on cris (not tested, no toolchain here):\n\ndrivers/net/cris/eth_v10.c: error: too many arguments to function \u0027e100rxtx_interrupt\u0027\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc:\tMikael Starvik \u003cstarvik@axis.com\u003e\nCc:\tJesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc:\tlinux-cris-kernel@axis.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3a1ef9cee4812e2d08c855eb373f0d83433e34c",
      "tree": "9dfc830a3d1a9bb21156af8768a313e06d30c243",
      "parents": [
        "77f00f6324cb97cf1df6f9c4aaeea6ada23abdb2"
      ],
      "author": {
        "name": "Peter Meiser",
        "email": "meiser@gmx-topmail.de",
        "time": "Thu Aug 02 02:30:20 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 20:32:30 2012 -0700"
      },
      "message": "cdc-ncm: tag Ericsson WWAN devices (eg F5521gw) with FLAG_WWAN\n\nHello,\n\nlooking at http://sourceforge.net/apps/mediawiki/mbm/index.php?title\u003dMain_Page#Supported_devices, there are branded Ericsson devices from Dell and Toshiba.\n\nThe to-be-added vendor IDs are 0x413c for Dell and 0x0930 for Toshiba.\n\nPlease find attached a patch to add these vendor IDs.\n\nSigned-off-by: Peter Meiser \u003cmeiser@gmx-topmail.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77f00f6324cb97cf1df6f9c4aaeea6ada23abdb2",
      "tree": "2fa128ec6e67e6ebaf36cc84b0138321d6e0a4a8",
      "parents": [
        "ae9e63bb2c0cf5437d9d13d822b27149336c6e0e"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Aug 02 23:10:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 16:53:22 2012 -0700"
      },
      "message": "isdnloop: fix and simplify isdnloop_init()\n\nFix a buffer overflow bug by removing the revision and printk.\n\n[   22.016214] isdnloop-ISDN-driver Rev 1.11.6.7\n[   22.097508] isdnloop: (loop0) virtual card added\n[   22.174400] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffff83244972\n[   22.174400]\n[   22.436157] Pid: 1, comm: swapper Not tainted 3.5.0-bisect-00018-gfa8bbb1-dirty #129\n[   22.624071] Call Trace:\n[   22.720558]  [\u003cffffffff832448c3\u003e] ? CallcNew+0x56/0x56\n[   22.815248]  [\u003cffffffff8222b623\u003e] panic+0x110/0x329\n[   22.914330]  [\u003cffffffff83244972\u003e] ? isdnloop_init+0xaf/0xb1\n[   23.014800]  [\u003cffffffff832448c3\u003e] ? CallcNew+0x56/0x56\n[   23.090763]  [\u003cffffffff8108e24b\u003e] __stack_chk_fail+0x2b/0x30\n[   23.185748]  [\u003cffffffff83244972\u003e] isdnloop_init+0xaf/0xb1\n\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae9e63bb2c0cf5437d9d13d822b27149336c6e0e",
      "tree": "208ca440bec48067d84fbd86f04fa79bb55d00c3",
      "parents": [
        "2207b60ffb6545040e2e2620fced13deba7643c2"
      ],
      "author": {
        "name": "Haiyang Zhang",
        "email": "haiyangz@microsoft.com",
        "time": "Fri Aug 03 09:32:18 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 16:51:11 2012 -0700"
      },
      "message": "hyperv: Move wait completion msg code into rndis_filter_halt_device()\n\nWe need to wait for send_completion msg before put_rndis_request() at\nthe end of rndis_filter_halt_device(). Otherwise, netvsc_send_completion()\nmay reference freed memory which is overwritten, and cause panic.\n\nReported-by: Long Li \u003clongli@microsoft.com\u003e\nReported-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Haiyang Zhang \u003chaiyangz@microsoft.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2207b60ffb6545040e2e2620fced13deba7643c2",
      "tree": "f96c184614eef140dcc5f3e7149d1e2a39cc4071",
      "parents": [
        "c18520bd1b244fe8e3ac5358137321780a70d6e7"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Fri Aug 03 00:38:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 16:49:40 2012 -0700"
      },
      "message": "net/mlx4_core: Remove port type restrictions\n\nPort1\u003dEth, Port2\u003dIB restriction is no longer required.\nHaving RoCE, there will always rdma port initialized over ConnectX\nphysical port, no matter whether the link layer is IB or Ethernet.\nSo we always have dual port IB device.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c18520bd1b244fe8e3ac5358137321780a70d6e7",
      "tree": "99610de8cfed12e7be3ad2b7f03996e66b7ca8a0",
      "parents": [
        "c8c40b7f32abe0878ee693480fb2f7453d80add5"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Fri Aug 03 00:38:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 16:49:02 2012 -0700"
      },
      "message": "net/mlx4_en: Fixing TX queue stop/wake flow\n\nRemoving the ring-\u003eblocked flag, it is redundant and leads to a race:\n\nWe close the TX queue and then set the \"blocked\" flag.\nBetween those 2 operations the completion function can check the \"blocked\"\nflag, sees that it is 0, and wouldn\u0027t open the TX queue.\n\nUsing netif_tx_queue_stopped to check the state of the queue to avoid this race.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8c40b7f32abe0878ee693480fb2f7453d80add5",
      "tree": "16344bf6b607a8c42fb6524745fd64fad3f08b59",
      "parents": [
        "696ecdc10622d86541f2e35cc16e15b6b3b1b67e"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.com",
        "time": "Fri Aug 03 00:38:36 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 16:49:02 2012 -0700"
      },
      "message": "net/mlx4_en: loopbacked packets are dropped when SMAC\u003dDMAC\n\nShould NOT check SMAC\u003dDMAC when:\n1. loopback is turned on\n2. validate_loopback is true.\n\nFixed it accordingly.\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "696ecdc10622d86541f2e35cc16e15b6b3b1b67e",
      "tree": "55090a298a1e20df7aaf7c27af2505c2c581eac1",
      "parents": [
        "f3f9f332e231abaf28e14344733b7d000b830f7c"
      ],
      "author": {
        "name": "Hiroaki SHIMODA",
        "email": "shimoda.hiroaki@gmail.com",
        "time": "Fri Aug 03 19:57:52 2012 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 16:47:24 2012 -0700"
      },
      "message": "net_sched: gact: Fix potential panic in tcf_gact().\n\ngact_rand array is accessed by gact-\u003etcfg_ptype whose value\nis assumed to less than MAX_RAND, but any range checks are\nnot performed.\n\nSo add a check in tcf_gact_init(). And in tcf_gact(), we can\nreduce a branch.\n\nSigned-off-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3f9f332e231abaf28e14344733b7d000b830f7c",
      "tree": "796bec61bdb8aa59f54def0a55f5e9957737ef48",
      "parents": [
        "d4e5979c0da95791aa717c18e162540c7a596360"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Fri Aug 03 02:36:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 03 16:43:03 2012 -0700"
      },
      "message": "emulex: benet: Add a missing CR in the end of message\n\nMissing a CR in printk causes 2 messages printed in one line.\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4e5979c0da95791aa717c18e162540c7a596360",
      "tree": "3086960c68442ffdefa06115d0cc16d415e80fae",
      "parents": [
        "7f38e5bc93203bc76b215dcd2df2067b5b0e004c"
      ],
      "author": {
        "name": "Mohammed Shafi Shajakhan",
        "email": "mohammed@qca.qualcomm.com",
        "time": "Thu Aug 02 11:58:50 2012 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 03 10:11:14 2012 -0400"
      },
      "message": "ath9k: Add PID/VID support for AR1111\n\nAR1111 is same as AR9485. The h/w\ndifference between them is quite insignificant,\nFelix suggests only very few baseband features\nmay not be available in AR1111. The h/w code for\nAR9485 is already present, so AR1111 should\nwork fine with the addition of its PID/VID.\n\nCc: stable@vger.kernel.org [2.6.39+]\nCc: Felix Bitterli \u003cfelixb@qca.qualcomm.com\u003e\nReported-by: Tim Bentley \u003cTim.Bentley@Gmail.com\u003e\nSigned-off-by: Mohammed Shafi Shajakhan \u003cmohammed@qca.qualcomm.com\u003e\nTested-by: Tim Bentley \u003cTim.Bentley@Gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7f38e5bc93203bc76b215dcd2df2067b5b0e004c",
      "tree": "b7cb3ea2cbb1c4c176ffed67c8a3b58d5e85ce8d",
      "parents": [
        "8c1057e43c99e393fe2e14cca879affcb516d36b"
      ],
      "author": {
        "name": "Seth Forshee",
        "email": "seth.forshee@canonical.com",
        "time": "Wed Aug 01 15:58:43 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:51:48 2012 -0400"
      },
      "message": "brcmsmac: use channel flags to restrict OFDM\n\nbrcmsmac cannot call freq_reg_info() during channel changes as it does\nnot hold cfg80211_lock, and as a result it generates a lockdep warning.\nfreq_reg_info() is being used to determine whether OFDM is allowed on\nthe current channel, so we can avoid the errant call by using the new\nIEEE80211_CHAN_NO_OFDM for this purpose instead.\n\nReported-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nSigned-off-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8c1057e43c99e393fe2e14cca879affcb516d36b",
      "tree": "dca3305b4012a79d01e44e48f760aec6bb336caf",
      "parents": [
        "16ebd60856bc5d980722cb85b259a4d5b301e94a"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Wed Aug 01 21:35:36 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:51:47 2012 -0400"
      },
      "message": "libertas: fix two memory leaks\n\nThe if_sdio_card structure was never being freed, and neither\nwas the command structure used for association.\n\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "16ebd60856bc5d980722cb85b259a4d5b301e94a",
      "tree": "b120303c0905700f03c93289b01f36a1dfb1d153",
      "parents": [
        "9d5d496c3464b7ad0ba942b4ada5f27c07e07079"
      ],
      "author": {
        "name": "Woody Hung",
        "email": "Woody.Hung@mediatek.com",
        "time": "Tue Jul 31 21:53:33 2012 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:51:47 2012 -0400"
      },
      "message": "rt2x00 : fix rt3290 resuming failed.\n\nThis patch is going to fix the resuming failed from S3/S4\nfor rt3290 chip.\n\nSigned-off-by: Woody Hung \u003cWoody.Hung@mediatek.com\u003e\nCc: Kevin Chou \u003ckevin.chou@mediatek.com\u003e\nSigned-off-by: Chen, Chien-Chia \u003cmachen@suse.com\u003e\nReviewed-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9d5d496c3464b7ad0ba942b4ada5f27c07e07079",
      "tree": "85cb9efd85b251ec398316f734ea82cde45ad03d",
      "parents": [
        "828afd26fe78f87d0bd1dfce64c561f78c1a8969"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Mon Jul 30 22:58:04 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:51:47 2012 -0400"
      },
      "message": "libertas: don\u0027t reset card on error when it is being removed\n\nOn an OLPC XO-1.5 we have seen the following situation:\n - the system starts going into suspend\n - no wake params are set, so the mmc layer removes the card\n - during remove, we send a command to the card\n - that command fails, causing if_sdio\u0027s reset method to try and remove\n   the mmc card in attempt to reset it\n - the mmc layer is not happy about being asked to remove a card that\n   it is already removing, and the kernel crashes\n\nWhile the MMC layer could possibly be taught to behave better here,\nit also seems sensible for libertas not to try and reset a card if\nwe\u0027re in the process of removing it anyway.\n\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nAcked-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "828afd26fe78f87d0bd1dfce64c561f78c1a8969",
      "tree": "3163bed459668a8710a5cc9338ce4e606bf1c408",
      "parents": [
        "c263c2c1ad615e935d563cd7be11d417f94895d9"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Mon Jul 23 22:57:01 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:51:47 2012 -0400"
      },
      "message": "b43: fix logic in GPIO init\n\nAdd some comments by the way\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c263c2c1ad615e935d563cd7be11d417f94895d9",
      "tree": "0332f815f709ac18e0df0dc3a1170ac1c1dc00c6",
      "parents": [
        "1a26904eb63150bba2120fc2864e9307d1500691"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Mon Jul 23 18:20:12 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:51:46 2012 -0400"
      },
      "message": "bcma: BCM43228 support\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1a26904eb63150bba2120fc2864e9307d1500691",
      "tree": "b071dc0b08138a1f3d54972cc864b556c6995694",
      "parents": [
        "e33cdac014d50dd9753e1399ae8b0b5cd98d7aa0",
        "899852af60c212bfe9a2fb71d4d9082d2622df5c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:49:38 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:49:38 2012 -0400"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211\n"
    },
    {
      "commit": "899852af60c212bfe9a2fb71d4d9082d2622df5c",
      "tree": "2327783f8779d3267c8d310521973b4b4d600d3d",
      "parents": [
        "03f6b0843ad6512f27bc2e48f04c21065311e03e"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Wed Aug 01 16:54:42 2012 -0700"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 02 15:34:22 2012 +0200"
      },
      "message": "cfg80211: Clear \"beacon_found\" on regulatory restore\n\nRestore the default state to the \"beacon_found\" flag when\nthe channel flags are restored.  Otherwise, we can end up\nwith a channel that we can no longer transmit on even when\nwe can see beacons on that channel.\n\nSigned-off-by: Paul Stewart \u003cpstew@chromium.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "03f6b0843ad6512f27bc2e48f04c21065311e03e",
      "tree": "607cffb37a59419093cc3bfe6b08bc83365e822d",
      "parents": [
        "dd4c9260e7f23f2e951cbfb2726e468c6d30306c"
      ],
      "author": {
        "name": "Seth Forshee",
        "email": "seth.forshee@canonical.com",
        "time": "Wed Aug 01 15:58:42 2012 -0500"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 02 15:30:49 2012 +0200"
      },
      "message": "cfg80211: add channel flag to prohibit OFDM operation\n\nCurrently the only way for wireless drivers to tell whether or not OFDM\nis allowed on the current channel is to check the regulatory\ninformation. However, this requires hodling cfg80211_mutex, which is not\nvisible to the drivers.\n\nOther regulatory restrictions are provided as flags in the channel\ndefinition, so let\u0027s do similarly with OFDM. This patch adds a new flag,\nIEEE80211_CHAN_NO_OFDM, to tell drivers that OFDM on a channel is not\nallowed. This flag is set on any channels for which regulatory indicates\nthat OFDM is prohibited.\n\nSigned-off-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nTested-by: Arend van Spriel \u003carend@broadcom.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "e33cdac014d50dd9753e1399ae8b0b5cd98d7aa0",
      "tree": "06eef8d4ed93b5598c82f10f8201ac39e0fdbfaf",
      "parents": [
        "8b6d5c09bc0c49aea041486d77c2f67e98ae0bc3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Aug 01 23:23:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 02:54:43 2012 -0700"
      },
      "message": "ipv4: route.c cleanup\n\nRemove unused includes after IP cache removal\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b6d5c09bc0c49aea041486d77c2f67e98ae0bc3",
      "tree": "41f7f5a284019ff2c4f2cc31877dd947d27796f1",
      "parents": [
        "e3c0d04750751389d5116267f8cf4687444d9a50"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Tue Jul 31 11:39:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 00:19:17 2012 -0700"
      },
      "message": "bnx2x: fix mem leak when command is unknown\n\nIn bnx2x_mcast_enqueue_cmd() we\u0027ll leak the memory allocated to\n\u0027new_cmd\u0027 if we hit the deafault case of the \u0027switch (cmd)\u0027.\nAdd a \u0027kfree(new_cmd)\u0027 to that case to avoid the leak.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Dmitry Kravkov \u003cdmitry@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3c0d04750751389d5116267f8cf4687444d9a50",
      "tree": "dfa831b0d4fc388da81ccc0f8f3ce4f62c3916f4",
      "parents": [
        "1485348d2424e1131ea42efc033cbd9366462b01"
      ],
      "author": {
        "name": "Fan Du",
        "email": "fdu@windriver.com",
        "time": "Mon Jul 30 21:43:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 00:19:17 2012 -0700"
      },
      "message": "Fix unexpected SA hard expiration after changing date\n\nAfter SA is setup, one timer is armed to detect soft/hard expiration,\nhowever the timer handler uses xtime to do the math. This makes hard\nexpiration occurs first before soft expiration after setting new date\nwith big interval. As a result new child SA is deleted before rekeying\nthe new one.\n\nSigned-off-by: Fan Du \u003cfdu@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1485348d2424e1131ea42efc033cbd9366462b01",
      "tree": "706d69b398cbd109fd3a9806fa485150d043cc52",
      "parents": [
        "7e6d06f0de3f74ca929441add094518ae332257c"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Jul 30 16:11:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 00:19:17 2012 -0700"
      },
      "message": "tcp: Apply device TSO segment limit earlier\n\nCache the device gso_max_segs in sock::sk_gso_max_segs and use it to\nlimit the size of TSO skbs.  This avoids the need to fall back to\nsoftware GSO for local TCP senders.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e6d06f0de3f74ca929441add094518ae332257c",
      "tree": "94c11a47268450c5ba913eeba5c2f7a0e3780126",
      "parents": [
        "30b678d844af3305cda5953467005cebb5d7b687"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Jul 30 15:57:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 00:19:17 2012 -0700"
      },
      "message": "sfc: Fix maximum number of TSO segments and minimum TX queue size\n\nCurrently an skb requiring TSO may not fit within a minimum-size TX\nqueue.  The TX queue selected for the skb may stall and trigger the TX\nwatchdog repeatedly (since the problem skb will be retried after the\nTX reset).  This issue is designated as CVE-2012-3412.\n\nSet the maximum number of TSO segments for our devices to 100.  This\nshould make no difference to behaviour unless the actual MSS is less\nthan about 700.  Increase the minimum TX queue size accordingly to\nallow for 2 worst-case skbs, so that there will definitely be space\nto add an skb after we wake a queue.\n\nTo avoid invalidating existing configurations, change\nefx_ethtool_set_ringparam() to fix up values that are too small rather\nthan returning -EINVAL.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30b678d844af3305cda5953467005cebb5d7b687",
      "tree": "8e57f081d3a8f8dc44630cee223d2b45ec196e5e",
      "parents": [
        "1a9b4993b70fb1884716902774dc9025b457760d"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Jul 30 15:57:00 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 00:19:17 2012 -0700"
      },
      "message": "net: Allow driver to limit number of GSO segments per skb\n\nA peer (or local user) may cause TCP to use a nominal MSS of as little\nas 88 (actual MSS of 76 with timestamps).  Given that we have a\nsufficiently prodigious local sender and the peer ACKs quickly enough,\nit is nevertheless possible to grow the window for such a connection\nto the point that we will try to send just under 64K at once.  This\nresults in a single skb that expands to 861 segments.\n\nIn some drivers with TSO support, such an skb will require hundreds of\nDMA descriptors; a substantial fraction of a TX ring or even more than\na full ring.  The TX queue selected for the skb may stall and trigger\nthe TX watchdog repeatedly (since the problem skb will be retried\nafter the TX reset).  This particularly affects sfc, for which the\nissue is designated as CVE-2012-3412.\n\nTherefore:\n1. Add the field net_device::gso_max_segs holding the device-specific\n   limit.\n2. In netif_skb_features(), if the number of segments is too high then\n   mask out GSO features to force fall back to software GSO.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a9b4993b70fb1884716902774dc9025b457760d",
      "tree": "83a3fa7011878ab4b7bef6857d4b481038a1e67e",
      "parents": [
        "1871e845e564c4e17f561ec4e5e4bb6bb8578685",
        "95cf1468f712df516cc471adcd1c861df4e3d371"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:47:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:47:15 2012 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/ralf/upstream-linus\n\nPull MIPS updates from Ralf Baechle:\n \"The lion share of this pull request are fixes for clk-related breakage\n  caused by other changes during this merge window.  For some platforms\n  the fix was as simple as selecting HAVE_CLK, for others like the\n  Loongson 2 significant restructuring was required.\n\n  The remainder are changes required to get the Lantiq code to work\n  again.\"\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:\n  MIPS: Loongson 2: Sort out clock managment.\n  MIPS: Loongson 1: more clk support and add select HAVE_CLK\n  MIPS: txx9: Fix redefinition of clk_* by adding select HAVE_CLK\n  MIPS: BCM63xx: Fix redefinition of clk_* by adding select HAVE_CLK\n  MIPS: AR7: Fix redefinition of clk_* by adding select HAVE_CLK\n  MIPS: Lantiq: Platform specific CLK fixup\n  MIPS: Lantiq: Add device_tree_init function\n  MIPS: Lantiq: Fix interface clock and PCI control register offset\n"
    },
    {
      "commit": "1871e845e564c4e17f561ec4e5e4bb6bb8578685",
      "tree": "bcfb62936710321f48bee64153e05f313dc371d0",
      "parents": [
        "a6dc77254b3c3eb0307b372b77b861d5cd2ead08",
        "b070989aeb47ccdfe56d95e046bd317baa47f4fa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:45:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:45:02 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml\n\nPull UML fixes from Richard Weinberger:\n \"This patch set contains mostly fixes and cleanups.  The UML tty driver\n  uses now tty_port and is no longer broken like hell  :-)\"\n\n* \u0027for-linus-3.6-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:\n  um: Add arch/x86/um to MAINTAINERS\n  um: pass siginfo to guest process\n  um: fix ubd_file_size for read-only files\n  um: pull interrupt_end() into userspace()\n  um: split syscall_trace(), pass pt_regs to it\n  um: switch UPT_SET_RETURN_VALUE and regs_return_value to pt_regs\n  um: set BLK_CGROUP\u003dy in defconfig\n  um: remove count_lock\n  um: fully use tty_port\n  um: Remove dead code\n  um: remove line_ioctl()\n  TTY: um/line, use tty from tty_port\n  TTY: um/line, add tty_port\n"
    },
    {
      "commit": "a6dc77254b3c3eb0307b372b77b861d5cd2ead08",
      "tree": "5770a808b0527eebeff43f16508ea8f03e459b58",
      "parents": [
        "02a6ec6a24077ffda33b99cb193e8a536b90711d",
        "0e52d987c0b242fe3fe4c8e9732bd663cce0e50b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:41:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:41:07 2012 -0700"
      },
      "message": "Merge branch \u0027dmaengine\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull ARM DMA engine updates from Russell King:\n \"This looks scary at first glance, but what it is is:\n   - a rework of the sa11x0 DMA engine driver merged during the previous\n     cycle, to extract a common set of helper functions for DMA engine\n     implementations.\n   - conversion of amba-pl08x.c to use these helper functions.\n   - addition of OMAP DMA engine driver (using these helper functions),\n     and conversion of some of the OMAP DMA users to use DMA engine.\n\n  Nothing in the helper functions is ARM specific, so I hope that other\n  implementations can consolidate some of their code by making use of\n  these helpers.\n\n  This has been sitting in linux-next most of the merge cycle, and has\n  been tested by several OMAP folk.  I\u0027ve tested it on sa11x0 platforms,\n  and given it my best shot on my broken platforms which have the\n  amba-pl08x controller.\n\n  The last point is the addition to feature-removal-schedule.txt, which\n  will have a merge conflict.  Between myself and TI, we\u0027re planning to\n  remove the old TI DMA implementation next year.\"\n\nFix up trivial add/add conflicts in Documentation/feature-removal-schedule.txt\nand drivers/dma/{Kconfig,Makefile}\n\n* \u0027dmaengine\u0027 of git://git.linaro.org/people/rmk/linux-arm: (53 commits)\n  ARM: 7481/1: OMAP2+: omap2plus_defconfig: enable OMAP DMA engine\n  ARM: 7464/1: mmc: omap_hsmmc: ensure probe returns error if DMA channel request fails\n  Add feature removal of old OMAP private DMA implementation\n  mtd: omap2: remove private DMA API implementation\n  mtd: omap2: add DMA engine support\n  spi: omap2-mcspi: remove private DMA API implementation\n  spi: omap2-mcspi: add DMA engine support\n  ARM: omap: remove mmc platform data dma_mask and initialization\n  mmc: omap: remove private DMA API implementation\n  mmc: omap: add DMA engine support\n  mmc: omap_hsmmc: remove private DMA API implementation\n  mmc: omap_hsmmc: add DMA engine support\n  dmaengine: omap: add support for cyclic DMA\n  dmaengine: omap: add support for setting fi\n  dmaengine: omap: add support for returning residue in tx_state method\n  dmaengine: add OMAP DMA engine driver\n  dmaengine: sa11x0-dma: add cyclic DMA support\n  dmaengine: sa11x0-dma: fix DMA residue support\n  dmaengine: PL08x: ensure all descriptors are freed when channel is released\n  dmaengine: PL08x: get rid of write only pool_ctr and free_txd locking\n  ...\n"
    },
    {
      "commit": "02a6ec6a24077ffda33b99cb193e8a536b90711d",
      "tree": "567d2a81e4482085ef2b5e4c692483ca9108e0c0",
      "parents": [
        "9a2533c3eb91b3e769c2612c5d68e811bfc0ecf6",
        "c7aa00db074e4961b49277d7d0fc2f5367d914ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:35:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:35:37 2012 -0700"
      },
      "message": "Merge branch \u0027audit\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull ARM audit/signal updates from Russell King:\n \"ARM audit/signal handling updates from Al and Will.  This improves on\n  the work Viro did last merge window, and sorts out some of the issues\n  found with that work.\"\n\n* \u0027audit\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  ARM: 7475/1: sys_trace: allow all syscall arguments to be updated via ptrace\n  ARM: 7474/1: get rid of TIF_SYSCALL_RESTARTSYS\n  ARM: 7473/1: deal with handlerless restarts without leaving the kernel\n  ARM: 7472/1: pull all work_pending logics into C function\n  ARM: 7471/1: Revert \"7442/1: Revert \"remove unused restart trampoline\"\"\n  ARM: 7470/1: Revert \"7443/1: Revert \"new way of handling ERESTART_RESTARTBLOCK\"\"\n"
    },
    {
      "commit": "9a2533c3eb91b3e769c2612c5d68e811bfc0ecf6",
      "tree": "74865c4c40442d109e42bcc72009ebd0c320eba3",
      "parents": [
        "d4fdc32517efaab0493c134d5cc070c252d51275",
        "b74253f78400f9a4b42da84bb1de7540b88ce7c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:30:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 16:30:45 2012 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull ARM fixes from Russell King:\n \"This fixes various issues found during July\"\n\n* \u0027fixes\u0027 of git://git.linaro.org/people/rmk/linux-arm:\n  ARM: 7479/1: mm: avoid NULL dereference when flushing gate_vma with VIVT caches\n  ARM: Fix undefined instruction exception handling\n  ARM: 7480/1: only call smp_send_stop() on SMP\n  ARM: 7478/1: errata: extend workaround for erratum #720789\n  ARM: 7477/1: vfp: Always save VFP state in vfp_pm_suspend on UP\n  ARM: 7476/1: vfp: only clear vfp state for current cpu in vfp_pm_suspend\n  ARM: 7468/1: ftrace: Trace function entry before updating index\n  ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+\n  ARM: 7466/1: disable interrupt before spinning endlessly\n  ARM: 7465/1: Handle \u003e4GB memory sizes in device tree and mem\u003dsize@start option\n"
    },
    {
      "commit": "b070989aeb47ccdfe56d95e046bd317baa47f4fa",
      "tree": "2aeb830c9bbf881f0e13ecf188ae1ae004c0fbef",
      "parents": [
        "d3c1cfcdb43e023ab1b1c7a555cd9e929026500a"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Thu Aug 02 01:00:47 2012 +0200"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Thu Aug 02 01:00:47 2012 +0200"
      },
      "message": "um: Add arch/x86/um to MAINTAINERS\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "d3c1cfcdb43e023ab1b1c7a555cd9e929026500a",
      "tree": "ad79f90d97a0316ae4058e4501e7b6ad54540ff4",
      "parents": [
        "d4afcba95fca4dd0f831fe72c1fa4f0638f23765"
      ],
      "author": {
        "name": "Martin Pärtel",
        "email": "martin.partel@gmail.com",
        "time": "Thu Aug 02 00:49:17 2012 +0200"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Thu Aug 02 00:49:17 2012 +0200"
      },
      "message": "um: pass siginfo to guest process\n\nUML guest processes now get correct siginfo_t for SIGTRAP, SIGFPE,\nSIGILL and SIGBUS. Specifically, si_addr and si_code are now correct\nwhere previously they were si_addr \u003d NULL and si_code \u003d 128.\n\nSigned-off-by: Martin Pärtel \u003cmartin.partel@gmail.com\u003e\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "d4afcba95fca4dd0f831fe72c1fa4f0638f23765",
      "tree": "938dad1dd5cb1b0abf9946cf40b050d95c4bffd4",
      "parents": [
        "b8a420952336ed81ef5c9bf8bad90d3deaee5521"
      ],
      "author": {
        "name": "Martin Pärtel",
        "email": "martin.partel@gmail.com",
        "time": "Thu Aug 02 00:44:22 2012 +0200"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Thu Aug 02 00:44:49 2012 +0200"
      },
      "message": "um: fix ubd_file_size for read-only files\n\nMade ubd_file_size not request write access. Fixes use of read-only images.\n\nSigned-off-by: Martin Pärtel \u003cmartin.partel@gmail.com\u003e\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "b8a420952336ed81ef5c9bf8bad90d3deaee5521",
      "tree": "91134cb8f8a69b9243ac98fe08e8f92eadc3954a",
      "parents": [
        "1bfa2317b21750f739b59ab6df2c8efb12875045"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 23 00:25:15 2012 -0400"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Thu Aug 02 00:25:44 2012 +0200"
      },
      "message": "um: pull interrupt_end() into userspace()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "1bfa2317b21750f739b59ab6df2c8efb12875045",
      "tree": "1526554a2507948d881db1f415014bf2b66ad54d",
      "parents": [
        "a3170d2ec25f841bee1b52487693ac1a2f191ba6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 23 00:18:33 2012 -0400"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Thu Aug 02 00:25:38 2012 +0200"
      },
      "message": "um: split syscall_trace(), pass pt_regs to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n[richard@nod.at: Fixed some minor build issues]\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "a3170d2ec25f841bee1b52487693ac1a2f191ba6",
      "tree": "36b82a346087ef5050ca710ec38f8632dfa9deea",
      "parents": [
        "2cad4c1276707ae06f40482bd91af513d23f5a6d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 22 21:16:35 2012 -0400"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Wed Aug 01 23:33:16 2012 +0200"
      },
      "message": "um: switch UPT_SET_RETURN_VALUE and regs_return_value to pt_regs\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "dd4c9260e7f23f2e951cbfb2726e468c6d30306c",
      "tree": "21995b63356cdcdc18ac3b4bf041fa9b9405d3b3",
      "parents": [
        "2d9957cce674308f744f37f68b6bc3261bfdbbf4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Aug 01 21:03:21 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Aug 01 21:03:21 2012 +0200"
      },
      "message": "mac80211: cancel mesh path timer\n\nThe mesh path timer needs to be canceled when\nleaving the mesh as otherwise it could fire\nafter the interface has been removed already.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "2d9957cce674308f744f37f68b6bc3261bfdbbf4",
      "tree": "98b4c56366ddbe3af4475c1b119b285a0d837eb8",
      "parents": [
        "ba846a502c6b3c0ff047861c891fd1afeed6e435"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Aug 01 20:54:52 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Aug 01 20:58:28 2012 +0200"
      },
      "message": "mac80211: clear timer bits when disconnecting\n\nThere\u0027s a corner case that can happen when we\nsuspend with a timer running, then resume and\ndisconnect. If we connect again, suspend and\nresume we might start timers that shouldn\u0027t be\nrunning. Reset the timer flags to avoid this.\n\nThis affects both mesh and managed modes.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "d4fdc32517efaab0493c134d5cc070c252d51275",
      "tree": "7b70d93a65fa1b74f84af835cd941c3f2c55019a",
      "parents": [
        "9a51cf28a3377689edfe190b9590da7d46e8f3fb",
        "a0239073fd75489d25575cf3aaf71ab55b416020"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 10:45:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 10:45:12 2012 -0700"
      },
      "message": "Merge tag \u0027fbdev-updates-for-3.6\u0027 of git://github.com/schandinat/linux-2.6\n\nPull fbdev updates from Florian Tobias Schandinat:\n - large updates for OMAP\n   - support for LCD3 overlay manager (omap5)\n   - omapdss output cleanup\n   - removal of passive matrix LCD support as there are no drivers for\n     such panels for DSS or DSS2 and nobody complained (cleanup)\n - large updates for SH Mobile\n   - overlay support\n   - separating MERAM (cache) from framebuffer driver\n - some updates for Exynos and da8xx-fb\n - various other small patches\n\n* tag \u0027fbdev-updates-for-3.6\u0027 of git://github.com/schandinat/linux-2.6: (78 commits)\n  da8xx-fb: fix compile issue due to missing include\n  fbdev: Make pixel_to_pat() failure mode more friendly\n  da8xx-fb: do not turn ON LCD backlight unless LCDC is enabled\n  fbdev: sh_mobile_lcdc: Fix vertical panning step\n  video: exynos mipi dsi: Fix mipi dsi regulators handling issue\n  video: da8xx-fb: do clock reset of revision 2 LCDC before enabling\n  arm: da850: configure LCDC fifo threshold\n  video: da8xx-fb: configure FIFO threshold to reduce underflow errors\n  video: da8xx-fb: fix flicker due to 1 frame delay in updated frame\n  video: da8xx-fb rev2: fix disabling of palette completion interrupt\n  da8xx-fb: add missing FB_BLANK operations\n  video: exynos_dp: use usleep_range instead of delay\n  video: exynos_dp: check the only INTERLANE_ALIGN_DONE bit during Link Training\n  fb: epson1355fb: Fix section mismatch\n  video: exynos_dp: fix wrong DPCD address during Link Training\n  video/smscufx: fix line counting in fb_write\n  aty128fb: Fix coding style issues\n  fbdev: sh_mobile_lcdc: Fix pan offset computation in YUV mode\n  fbdev: sh_mobile_lcdc: Fix overlay registers update during pan operation\n  fbdev: sh_mobile_lcdc: Support horizontal panning\n  ...\n"
    },
    {
      "commit": "9a51cf28a3377689edfe190b9590da7d46e8f3fb",
      "tree": "d17c9e58ae5eb993811174bfa7a8d45002145047",
      "parents": [
        "a0e881b7c189fa2bd76c024dbff91e79511c971d",
        "aff252a848ce21b431ba822de3dab9c4c94571cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 10:42:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 10:42:26 2012 -0700"
      },
      "message": "Merge tag \u0027sound-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\nPull sound fixes from Takashi Iwai:\n \"A collection of small fixes that have been found recently.  Most of\n  the commits are regression fixes in HD-audio and some other random\n  drivers.\"\n\n* tag \u0027sound-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:\n  ALSA: snd-usb: fix clock source validity index\n  ALSA: hda - Fix mute-LED GPIO initialization for IDT codecs\n  ALSA: hda - Add descriptions for missing IDT 92HD83x models\n  ALSA: hda - Fix polarity of mute LED on HP Mini 210\n  ALSA: es1688 - freeup resources on init failure\n  ALSA: hda - Workaround for silent output on VAIO Z with ALC889\n  ALSA: hda - Fix WARNING from HDMI/DP parser\n  ALSA: hda - Detach from converter at closing in patch_hdmi.c\n  ALSA: hda - Fix mute-LED GPIO setup for HP Mini 210\n  ALSA: mpu401: Fix missing initialization of irq field\n  ALSA: hda - Fix invalid D3 of headphone DAC on VT202x codecs\n"
    },
    {
      "commit": "a0e881b7c189fa2bd76c024dbff91e79511c971d",
      "tree": "0c801918565b08921d21aceee5b326f64d998f5f",
      "parents": [
        "eff0d13f3823f35d70228cd151d2a2c89288ff32",
        "dbc6e0222d79e78925fe20733844a796a4b72cf9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 10:26:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 10:26:23 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull second vfs pile from Al Viro:\n \"The stuff in there: fsfreeze deadlock fixes by Jan (essentially, the\n  deadlock reproduced by xfstests 068), symlink and hardlink restriction\n  patches, plus assorted cleanups and fixes.\n\n  Note that another fsfreeze deadlock (emergency thaw one) is *not*\n  dealt with - the series by Fernando conflicts a lot with Jan\u0027s, breaks\n  userland ABI (FIFREEZE semantics gets changed) and trades the deadlock\n  for massive vfsmount leak; this is going to be handled next cycle.\n  There probably will be another pull request, but that stuff won\u0027t be\n  in it.\"\n\nFix up trivial conflicts due to unrelated changes next to each other in\ndrivers/{staging/gdm72xx/usb_boot.c, usb/gadget/storage_common.c}\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (54 commits)\n  delousing target_core_file a bit\n  Documentation: Correct s_umount state for freeze_fs/unfreeze_fs\n  fs: Remove old freezing mechanism\n  ext2: Implement freezing\n  btrfs: Convert to new freezing mechanism\n  nilfs2: Convert to new freezing mechanism\n  ntfs: Convert to new freezing mechanism\n  fuse: Convert to new freezing mechanism\n  gfs2: Convert to new freezing mechanism\n  ocfs2: Convert to new freezing mechanism\n  xfs: Convert to new freezing code\n  ext4: Convert to new freezing mechanism\n  fs: Protect write paths by sb_start_write - sb_end_write\n  fs: Skip atime update on frozen filesystem\n  fs: Add freezing handling to mnt_want_write() / mnt_drop_write()\n  fs: Improve filesystem freezing handling\n  switch the protection of percpu_counter list to spinlock\n  nfsd: Push mnt_want_write() outside of i_mutex\n  btrfs: Push mnt_want_write() outside of i_mutex\n  fat: Push mnt_want_write() outside of i_mutex\n  ...\n"
    },
    {
      "commit": "95cf1468f712df516cc471adcd1c861df4e3d371",
      "tree": "36aa730653e3fe6b114d57e9b00374393d472533",
      "parents": [
        "4b00951f6f2fd335f063e553b474fe4648b3307d"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 17:15:32 2012 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 18:10:06 2012 +0200"
      },
      "message": "MIPS: Loongson 2: Sort out clock managment.\n\nFor unexplainable reasons the Loongson 2 clock API was implemented in a\nmodule so fixing this involved shifting large amounts of code around.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "eff0d13f3823f35d70228cd151d2a2c89288ff32",
      "tree": "55bff4dbcc43c4b0f38509ac4de585c0c457980c",
      "parents": [
        "8cf1a3fce0b95050b63d451c9d561da0da2aa4d6",
        "10af8138eb6d09d6a768e43ef1aa9b2f16b8c7be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 09:06:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 09:06:47 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6/drivers\u0027 of git://git.kernel.dk/linux-block\n\nPull block driver changes from Jens Axboe:\n\n - Making the plugging support for drivers a bit more sane from Neil.\n   This supersedes the plugging change from Shaohua as well.\n\n - The usual round of drbd updates.\n\n - Using a tail add instead of a head add in the request completion for\n   ndb, making us find the most completed request more quickly.\n\n - A few floppy changes, getting rid of a duplicated flag and also\n   running the floppy init async (since it takes forever in boot terms)\n   from Andi.\n\n* \u0027for-3.6/drivers\u0027 of git://git.kernel.dk/linux-block:\n  floppy: remove duplicated flag FD_RAW_NEED_DISK\n  blk: pass from_schedule to non-request unplug functions.\n  block: stack unplug\n  blk: centralize non-request unplug handling.\n  md: remove plug_cnt feature of plugging.\n  block/nbd: micro-optimization in nbd request completion\n  drbd: announce FLUSH/FUA capability to upper layers\n  drbd: fix max_bio_size to be unsigned\n  drbd: flush drbd work queue before invalidate/invalidate remote\n  drbd: fix potential access after free\n  drbd: call local-io-error handler early\n  drbd: do not reset rs_pending_cnt too early\n  drbd: reset congestion information before reporting it in /proc/drbd\n  drbd: report congestion if we are waiting for some userland callback\n  drbd: differentiate between normal and forced detach\n  drbd: cleanup, remove two unused global flags\n  floppy: Run floppy initialization asynchronous\n"
    },
    {
      "commit": "8cf1a3fce0b95050b63d451c9d561da0da2aa4d6",
      "tree": "0dc7f93474c3be601a5893900db1418dfd60ba5d",
      "parents": [
        "fcff06c438b60f415af5983efe92811d6aa02ad1",
        "80799fbb7d10c30df78015b3fa21f7ffcfc0eb2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 09:02:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 09:02:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.6/core\u0027 of git://git.kernel.dk/linux-block\n\nPull core block IO bits from Jens Axboe:\n \"The most complicated part if this is the request allocation rework by\n  Tejun, which has been queued up for a long time and has been in\n  for-next ditto as well.\n\n  There are a few commits from yesterday and today, mostly trivial and\n  obvious fixes.  So I\u0027m pretty confident that it is sound.  It\u0027s also\n  smaller than usual.\"\n\n* \u0027for-3.6/core\u0027 of git://git.kernel.dk/linux-block:\n  block: remove dead func declaration\n  block: add partition resize function to blkpg ioctl\n  block: uninitialized ioc-\u003enr_tasks triggers WARN_ON\n  block: do not artificially constrain max_sectors for stacking drivers\n  blkcg: implement per-blkg request allocation\n  block: prepare for multiple request_lists\n  block: add q-\u003enr_rqs[] and move q-\u003erq.elvpriv to q-\u003enr_rqs_elvpriv\n  blkcg: inline bio_blkcg() and friends\n  block: allocate io_context upfront\n  block: refactor get_request[_wait]()\n  block: drop custom queue draining used by scsi_transport_{iscsi|fc}\n  mempool: add @gfp_mask to mempool_create_node()\n  blkcg: make root blkcg allocation use %GFP_KERNEL\n  blkcg: __blkg_lookup_create() doesn\u0027t need radix preload\n"
    },
    {
      "commit": "fcff06c438b60f415af5983efe92811d6aa02ad1",
      "tree": "704f6598b2de60a86774bc5cf152d4f051bd2dc4",
      "parents": [
        "068535f1fef4c90aee23eb7b9b9a71c5b72d7cd0",
        "63f33b8dda88923487004b20fba825486d009e7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 09:02:01 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 09:02:01 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://neil.brown.name/md\n\nPull md updates from NeilBrown.\n\n* \u0027for-next\u0027 of git://neil.brown.name/md:\n  DM RAID: Add support for MD RAID10\n  md/RAID1: Add missing case for attempting to repair known bad blocks.\n  md/raid5: For odirect-write performance, do not set STRIPE_PREREAD_ACTIVE.\n  md/raid1: don\u0027t abort a resync on the first badblock.\n  md: remove duplicated test on -\u003eopeners when calling do_md_stop()\n  raid5: Add R5_ReadNoMerge flag which prevent bio from merging at block layer\n  md/raid1: prevent merging too large request\n  md/raid1: read balance chooses idlest disk for SSD\n  md/raid1: make sequential read detection per disk based\n  MD RAID10: Export md_raid10_congested\n  MD: Move macros from raid1*.h to raid1*.c\n  MD RAID1: rename mirror_info structure\n  MD RAID10: rename mirror_info structure\n  MD RAID10: Fix compiler warning.\n  raid5: add a per-stripe lock\n  raid5: remove unnecessary bitmap write optimization\n  raid5: lockless access raid5 overrided bi_phys_segments\n  raid5: reduce chance release_stripe() taking device_lock\n"
    },
    {
      "commit": "068535f1fef4c90aee23eb7b9b9a71c5b72d7cd0",
      "tree": "ca71858417d881bc8f72f4a2a7b035d041f7a43c",
      "parents": [
        "2d534926205db9ffce4bbbde67cb9b2cee4b835c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Aug 01 07:56:16 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 01 09:01:46 2012 -0700"
      },
      "message": "locks: remove unused lm_release_private\n\nIn commit 3b6e2723f32d (\"locks: prevent side-effects of\nlocks_release_private before file_lock is initialized\") we removed the\nlast user of lm_release_private without removing the field itself.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b00951f6f2fd335f063e553b474fe4648b3307d",
      "tree": "7742f40b0bf7195cb7505895305cbbf37b96b2f6",
      "parents": [
        "47cd7343f5467bf38d17a78eb99eaa8019e17007"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yuasa@linux-mips.org",
        "time": "Wed Aug 01 15:42:16 2012 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 17:59:23 2012 +0200"
      },
      "message": "MIPS: Loongson 1: more clk support and add select HAVE_CLK\n\nThis fixes a redefinition of clk_*:\n\narch/mips/loongson1/common/clock.c:23:13: error: redefinition of \u0027clk_get\u0027\ninclude/linux/clk.h:281:27: note: previous definition of \u0027clk_get\u0027 was here\narch/mips/loongson1/common/clock.c:41:15: error: redefinition of \u0027clk_get_rate\u0027\ninclude/linux/clk.h:302:29: note: previous definition of \u0027clk_get_rate\u0027 was here\nmake[3]: *** [arch/mips/loongson1/common/clock.o] Error 1\n\nSigned-off-by: Yoichi Yuasa \u003cyuasa@linux-mips.org\u003e\nCc: linux-mips@linux-mips.org\nReviewed-by: John Crispin \u003cblogic@openwrt.org\u003e\nAcked-by: Kelvin Cheung \u003ckeguang.zhang@gmail.com\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/4143/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "47cd7343f5467bf38d17a78eb99eaa8019e17007",
      "tree": "f8c34b80fe6e689b218c223abafa69365968512b",
      "parents": [
        "3e82eeebad58a8bd9d263236ead0a0734e752792"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yuasa@linux-mips.org",
        "time": "Wed Aug 01 15:41:06 2012 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 17:59:15 2012 +0200"
      },
      "message": "MIPS: txx9: Fix redefinition of clk_* by adding select HAVE_CLK\n\narch/mips/txx9/generic/setup.c:87:13: error: redefinition of \u0027clk_get\u0027\ninclude/linux/clk.h:281:27: note: previous definition of \u0027clk_get\u0027 was here\narch/mips/txx9/generic/setup.c:97:5: error: redefinition of \u0027clk_enable\u0027\ninclude/linux/clk.h:295:19: note: previous definition of \u0027clk_enable\u0027 was here\narch/mips/txx9/generic/setup.c:103:6: error: redefinition of \u0027clk_disable\u0027\ninclude/linux/clk.h:300:20: note: previous definition of \u0027clk_disable\u0027 was here\narch/mips/txx9/generic/setup.c:108:15: error: redefinition of \u0027clk_get_rate\u0027\ninclude/linux/clk.h:302:29: note: previous definition of \u0027clk_get_rate\u0027 was here\narch/mips/txx9/generic/setup.c:114:6: error: redefinition of \u0027clk_put\u0027\ninclude/linux/clk.h:291:20: note: previous definition of \u0027clk_put\u0027 was here\nmake[3]: *** [arch/mips/txx9/generic/setup.o] Error 1\n\nSigned-off-by: Yoichi Yuasa \u003cyuasa@linux-mips.org\u003e\nCc: linux-mips@linux-mips.org\nReviewed-by: John Crispin \u003cblogic@openwrt.org\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/4142/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "3e82eeebad58a8bd9d263236ead0a0734e752792",
      "tree": "a0256c43fb4aa7bfcfcdc6ac12591afd0db0edd4",
      "parents": [
        "8551fb643ad6fe07f16d0825c8b6d99246024b9a"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yuasa@linux-mips.org",
        "time": "Wed Aug 01 15:39:52 2012 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 17:59:06 2012 +0200"
      },
      "message": "MIPS: BCM63xx: Fix redefinition of clk_* by adding select HAVE_CLK\n\narch/mips/bcm63xx/clk.c:249:5: error: redefinition of \u0027clk_enable\u0027\ninclude/linux/clk.h:295:19: note: previous definition of \u0027clk_enable\u0027 was here\narch/mips/bcm63xx/clk.c:259:6: error: redefinition of \u0027clk_disable\u0027\ninclude/linux/clk.h:300:20: note: previous definition of \u0027clk_disable\u0027 was here\narch/mips/bcm63xx/clk.c:268:15: error: redefinition of \u0027clk_get_rate\u0027\ninclude/linux/clk.h:302:29: note: previous definition of \u0027clk_get_rate\u0027 was here\narch/mips/bcm63xx/clk.c:275:13: error: redefinition of \u0027clk_get\u0027\ninclude/linux/clk.h:281:27: note: previous definition of \u0027clk_get\u0027 was here\narch/mips/bcm63xx/clk.c:302:6: error: redefinition of \u0027clk_put\u0027\ninclude/linux/clk.h:291:20: note: previous definition of \u0027clk_put\u0027 was here\nmake[2]: *** [arch/mips/bcm63xx/clk.o] Error 1\n\nSigned-off-by: Yoichi Yuasa \u003cyuasa@linux-mips.org\u003e\nCc: linux-mips@linux-mips.org\nReviewed-by: John Crispin \u003cblogic@openwrt.org\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/4141/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "8551fb643ad6fe07f16d0825c8b6d99246024b9a",
      "tree": "7c7475940223e1ca79ff0feed4ebf5053628e199",
      "parents": [
        "b902d9a98e2bd0d3a2b7ddf7bca850b7f853569a"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yuasa@linux-mips.org",
        "time": "Wed Aug 01 15:38:00 2012 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 17:58:57 2012 +0200"
      },
      "message": "MIPS: AR7: Fix redefinition of clk_* by adding select HAVE_CLK\n\narch/mips/ar7/clock.c:420:5: error: redefinition of \u0027clk_enable\u0027\ninclude/linux/clk.h:295:19: note: previous definition of \u0027clk_enable\u0027 was here\narch/mips/ar7/clock.c:426:6: error: redefinition of \u0027clk_disable\u0027\ninclude/linux/clk.h:300:20: note: previous definition of \u0027clk_disable\u0027 was here\narch/mips/ar7/clock.c:431:15: error: redefinition of \u0027clk_get_rate\u0027\ninclude/linux/clk.h:302:29: note: previous definition of \u0027clk_get_rate\u0027 was here\narch/mips/ar7/clock.c:437:13: error: redefinition of \u0027clk_get\u0027\ninclude/linux/clk.h:281:27: note: previous definition of \u0027clk_get\u0027 was here\narch/mips/ar7/clock.c:454:6: error: redefinition of \u0027clk_put\u0027\ninclude/linux/clk.h:291:20: note: previous definition of \u0027clk_put\u0027 was here\nmake[2]: *** [arch/mips/ar7/clock.o] Error 1\n\nSigned-off-by: Yoichi Yuasa \u003cyuasa@linux-mips.org\u003e\nCc: linux-mips@linux-mips.org\nReviewed-by: John Crispin \u003cblogic@openwrt.org\u003e\nAcked-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/4140/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "b902d9a98e2bd0d3a2b7ddf7bca850b7f853569a",
      "tree": "284e4b213d67e4ebc18011130b6cb1d29485763f",
      "parents": [
        "a9188bc1628366bea7157209df93acc0f74625cc"
      ],
      "author": {
        "name": "John Crispin",
        "email": "blogic@openwrt.org",
        "time": "Sun Jul 22 08:56:01 2012 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 17:58:09 2012 +0200"
      },
      "message": "MIPS: Lantiq: Platform specific CLK fixup\n\nAs we use CLKDEV_LOOKUP but dont have support for COMMON_CLK yet, we need to\nprovide our own version of of_clk_get_from_provider().\n\nSigned-off-by: John Crispin \u003cblogic@openwrt.org\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/4117/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a9188bc1628366bea7157209df93acc0f74625cc",
      "tree": "3664c8dff1ae8d1da38ebfeff676c416fd30c28b",
      "parents": [
        "e29b72f5e129b4dd4b77dc01dba340006bb103f8"
      ],
      "author": {
        "name": "John Crispin",
        "email": "blogic@openwrt.org",
        "time": "Sun Jul 22 08:56:00 2012 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 17:58:04 2012 +0200"
      },
      "message": "MIPS: Lantiq: Add device_tree_init function\n\nAdd a lantiq specific version of device_tree_init. The generic MIPS version\nwas removed by.\n\ncommit 594e966bc412d64eec9282d28ce511bdd62fea39\nAuthor: David Daney \u003cdavid.daney@cavium.com\u003e\nDate:   Thu Jul 5 18:12:38 2012 +0200\n\nMIPS: Prune some target specific code out of prom.c\n\nSigned-off-by: John Crispin \u003cblogic@openwrt.org\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/4116/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e29b72f5e129b4dd4b77dc01dba340006bb103f8",
      "tree": "f0425aa961e2becc0e4454eba8d04832be6eda74",
      "parents": [
        "2e3ee613480563a6d5c01b57d342e65cc58c06df"
      ],
      "author": {
        "name": "John Crispin",
        "email": "blogic@openwrt.org",
        "time": "Sun Jul 22 08:55:57 2012 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Aug 01 17:57:04 2012 +0200"
      },
      "message": "MIPS: Lantiq: Fix interface clock and PCI control register offset\n\nThe XRX200 based SoC have a different register offset for the interface\nclock and PCI control registers. This patch detects the SoC and sets the\nregister offset at runtime. This make PCI work on the VR9 SoC.\n\nSigned-off-by: John Crispin \u003cblogic@openwrt.org\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/4113/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "dbc6e0222d79e78925fe20733844a796a4b72cf9",
      "tree": "49eabccaa420103bd5ecddc2b77bc916440db812",
      "parents": [
        "06fd516c1a504828780fcd81dfe21f94dec4c868"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 01 13:07:04 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 01 16:53:16 2012 +0400"
      },
      "message": "delousing target_core_file a bit\n\n* set_fs(KERNEL_DS) + getname() is probably the weirdest implementation\nof strdup() I\u0027ve seen.  Especially since they don\u0027t to copy it at all...\n* filp_open() never returns NULL; it\u0027s ERR_PTR(-E...) on failure.\n* file-\u003ef_dentry is never going to be NULL, TYVM.\n* match_strdup() + snprintf() + kfree() is a bloody weird way to spell\nmatch_strlcpy().\n\nPox on cargo-cult programmers...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "63f33b8dda88923487004b20fba825486d009e7b",
      "tree": "b7873a3155236bdbf4fbe3b0302fb3aac4c8633e",
      "parents": [
        "bb181e2e48f8c85db08c9cb015cbba9618dbf05c"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Tue Jul 31 21:44:26 2012 -0500"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 01 20:41:20 2012 +1000"
      },
      "message": "DM RAID: Add support for MD RAID10\n\nSupport the MD RAID10 personality through dm-raid.c\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "bb181e2e48f8c85db08c9cb015cbba9618dbf05c",
      "tree": "191bc24dd97bcb174535cc217af082f16da3b43d",
      "parents": [
        "d57368afe63b3b7b45ce6c2b8c5276417935be2f",
        "c039c332f23e794deb6d6f37b9f07ff3b27fb2cf"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 01 20:40:02 2012 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 01 20:40:02 2012 +1000"
      },
      "message": "Merge commit \u0027c039c332f23e794deb6d6f37b9f07ff3b27fb2cf\u0027 into md\n\nPull in pre-requisites for adding raid10 support to dm-raid.\n"
    },
    {
      "commit": "80799fbb7d10c30df78015b3fa21f7ffcfc0eb2c",
      "tree": "402a48c3642d9bc164204408e8353ce98ee2371e",
      "parents": [
        "c83f6bf98dc1f1a194118b3830706cebbebda8c4"
      ],
      "author": {
        "name": "Yuanhan Liu",
        "email": "yuanhan.liu@linux.intel.com",
        "time": "Wed Aug 01 12:25:54 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Aug 01 12:25:54 2012 +0200"
      },
      "message": "block: remove dead func declaration\n\n__generic_unplug_device() function is removed with commit\n7eaceaccab5f40bbfda044629a6298616aeaed50, which forgot to\nremove the declaration at meantime. Here remove it.\n\nSigned-off-by: Yuanhan Liu \u003cyuanhan.liu@linux.intel.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "c83f6bf98dc1f1a194118b3830706cebbebda8c4",
      "tree": "ea8fbd925584f784164617964a9f025bda16ed15",
      "parents": [
        "4638a83e8615de9c16c39dfed234951d0f468cf1"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Aug 01 12:24:18 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Aug 01 12:24:18 2012 +0200"
      },
      "message": "block: add partition resize function to blkpg ioctl\n\nAdd a new operation code (BLKPG_RESIZE_PARTITION) to the BLKPG ioctl that\nallows altering the size of an existing partition, even if it is currently\nin use.\n\nThis patch converts hd_struct-\u003enr_sects into sequence counter because\nOne might extend a partition while IO is happening to it and update of\nnr_sects can be non-atomic on 32bit machines with 64bit sector_t. This\ncan lead to issues like reading inconsistent size of a partition. Sequence\ncounter have been used so that readers don\u0027t have to take bdev mutex lock\nas we call sector_in_part() very frequently.\n\nNow all the access to hd_struct-\u003enr_sects should happen using sequence\ncounter read/update helper functions part_nr_sects_read/part_nr_sects_write.\nThere is one exception though, set_capacity()/get_capacity(). I think\ntheoritically race should exist there too but this patch does not\nmodify set_capacity()/get_capacity() due to sheer number of call sites\nand I am afraid that change might break something. I have left that as a\nTODO item. We can handle it later if need be. This patch does not introduce\nany new races as such w.r.t set_capacity()/get_capacity().\n\nv2: Add CONFIG_LBDAF test to UP preempt case as suggested by Phillip.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Phillip Susi \u003cpsusi@ubuntu.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "4638a83e8615de9c16c39dfed234951d0f468cf1",
      "tree": "226161011e05735e8d4faa225040814746eb6536",
      "parents": [
        "fe86cdcef73ba19a2246a124f0ddbd19b14fb549"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Aug 01 12:17:27 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Aug 01 12:17:27 2012 +0200"
      },
      "message": "block: uninitialized ioc-\u003enr_tasks triggers WARN_ON\n\nHi,\n\nI\u0027m using the old-fashioned \u0027dump\u0027 backup tool, and I noticed that it spews the\nbelow warning as of 3.5-rc1 and later (3.4 is fine):\n\n[   10.886893] ------------[ cut here ]------------\n[   10.886904] WARNING: at include/linux/iocontext.h:140 copy_process+0x1488/0x1560()\n[   10.886905] Hardware name: Bochs\n[   10.886906] Modules linked in:\n[   10.886908] Pid: 2430, comm: dump Not tainted 3.5.0-rc7+ #27\n[   10.886908] Call Trace:\n[   10.886911]  [\u003cffffffff8107ce8a\u003e] warn_slowpath_common+0x7a/0xb0\n[   10.886912]  [\u003cffffffff8107ced5\u003e] warn_slowpath_null+0x15/0x20\n[   10.886913]  [\u003cffffffff8107c088\u003e] copy_process+0x1488/0x1560\n[   10.886914]  [\u003cffffffff8107c244\u003e] do_fork+0xb4/0x340\n[   10.886918]  [\u003cffffffff8108effa\u003e] ? recalc_sigpending+0x1a/0x50\n[   10.886919]  [\u003cffffffff8108f6b2\u003e] ? __set_task_blocked+0x32/0x80\n[   10.886920]  [\u003cffffffff81091afa\u003e] ? __set_current_blocked+0x3a/0x60\n[   10.886923]  [\u003cffffffff81051db3\u003e] sys_clone+0x23/0x30\n[   10.886925]  [\u003cffffffff8179bd73\u003e] stub_clone+0x13/0x20\n[   10.886927]  [\u003cffffffff8179baa2\u003e] ? system_call_fastpath+0x16/0x1b\n[   10.886928] ---[ end trace 32a14af7ee6a590b ]---\n\nReproducing is easy, I can hit it on a KVM system with a very basic\nconfig (x86_64 make defconfig + enable the drivers needed). To hit it,\njust install dump (on debian/ubuntu, not sure what the package might be\ncalled on Fedora), and:\n\ndump -o -f /tmp/foo /\n\nYou\u0027ll see the warning in dmesg once it forks off the I/O process and\nstarts dumping filesystem contents.\n\nI bisected it down to the following commit:\n\ncommit f6e8d01bee036460e03bd4f6a79d014f98ba712e\nAuthor: Tejun Heo \u003ctj@kernel.org\u003e\nDate:   Mon Mar 5 13:15:26 2012 -0800\n\n    block: add io_context-\u003eactive_ref\n\n    Currently ioc-\u003enr_tasks is used to decide two things - whether an ioc\n    is done issuing IOs and whether it\u0027s shared by multiple tasks.  This\n    patch separate out the first into ioc-\u003eactive_ref, which is acquired\n    and released using {get|put}_io_context_active() respectively.\n\n    This will be used to associate bio\u0027s with a given task.  This patch\n    doesn\u0027t introduce any visible behavior change.\n\n    Signed-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n    Cc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\n    Signed-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n\nIt seems like the init of ioc-\u003enr_tasks was removed in that patch,\nso it starts out at 0 instead of 1.\n\nTejun, is the right thing here to add back the init, or should something else\nbe done?\n\nThe below patch removes the warning, but I haven\u0027t done any more extensive\ntesting on it.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "fe86cdcef73ba19a2246a124f0ddbd19b14fb549",
      "tree": "3e947ceddc7ffb9073c2b7c3797cdf0d2e1c833a",
      "parents": [
        "a051661ca6d134c18599498b185b667859d4339b"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Wed Aug 01 10:44:28 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Aug 01 10:44:28 2012 +0200"
      },
      "message": "block: do not artificially constrain max_sectors for stacking drivers\n\nblk_set_stacking_limits is intended to allow stacking drivers to build\nup the limits of the stacked device based on the underlying devices\u0027\nlimits.  But defaulting \u0027max_sectors\u0027 to BLK_DEF_MAX_SECTORS (1024)\ndoesn\u0027t allow the stacking driver to inherit a max_sectors larger than\n1024 -- due to blk_stack_limits\u0027 use of min_not_zero.\n\nIt is now clear that this artificial limit is getting in the way so\nchange blk_set_stacking_limits\u0027s max_sectors to UINT_MAX (which allows\nstacking drivers like dm-multipath to inherit \u0027max_sectors\u0027 from the\nunderlying paths).\n\nReported-by: Vijay Chauhan \u003cvijay.chauhan@netapp.com\u003e\nTested-by: Vijay Chauhan \u003cvijay.chauhan@netapp.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "aff252a848ce21b431ba822de3dab9c4c94571cb",
      "tree": "3780933dfad8b9b880baa5fe67a155008cf7295c",
      "parents": [
        "1f43f6c1bc8d740e75b4177eb29110858bb5fea2"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "zonque@gmail.com",
        "time": "Wed Aug 01 10:16:53 2012 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Aug 01 10:24:16 2012 +0200"
      },
      "message": "ALSA: snd-usb: fix clock source validity index\n\nuac_clock_source_is_valid() uses the control selector value to access\nthe bmControls bitmap of the clock source unit. This is wrong, as\ncontrol selector values start from 1, while the bitmap uses all\navailable bits.\n\nIn other words, \"Clock Validity Control\" is stored in D3..2, not D5..4\nof the clock selector unit\u0027s bmControls.\n\nSigned-off-by: Daniel Mack \u003czonque@gmail.com\u003e\nReported-by: Andreas Koch \u003candreas@akdesigninc.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "2d534926205db9ffce4bbbde67cb9b2cee4b835c",
      "tree": "b906e41009b54d9a286df3454a841fd2b3f170cc",
      "parents": [
        "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
        "f5a1ad057e6da5d0fc9c5677ff44797d193d3e62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 20:44:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 20:44:03 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irqdomain changes from Grant Likely:\n \"Round of refactoring and enhancements to irq_domain infrastructure.\n  This series starts the process of simplifying irqdomain.  The ultimate\n  goal is to merge LEGACY, LINEAR and TREE mappings into a single\n  system, but had to back off from that after some last minute bugs.\n  Instead it mainly reorganizes the code and ensures that the reverse\n  map gets populated when the irq is mapped instead of the first time it\n  is looked up.\n\n  Merging of the irq_domain types is deferred to v3.7\n\n  In other news, this series adds helpers for creating static mappings\n  on a linear or tree mapping.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irqdomain: Improve diagnostics when a domain mapping fails\n  irqdomain: eliminate slow-path revmap lookups\n  irqdomain: Fix irq_create_direct_mapping() to test irq_domain type.\n  irqdomain: Eliminate dedicated radix lookup functions\n  irqdomain: Support for static IRQ mapping and association.\n  irqdomain: Always update revmap when setting up a virq\n  irqdomain: Split disassociating code into separate function\n  irq_domain: correct a minor wrong comment for linear revmap\n  irq_domain: Standardise legacy/linear domain selection\n  irqdomain: Make ops-\u003emap hook optional\n  irqdomain: Remove unnecessary test for IRQ_DOMAIN_MAP_LEGACY\n  irqdomain: Simple NUMA awareness.\n  devicetree: add helper inline for retrieving a node\u0027s full name\n"
    },
    {
      "commit": "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
      "tree": "e37328cfbeaf43716dd5914cad9179e57e84df76",
      "parents": [
        "a40a1d3d0a2fd613fdec6d89d3c053268ced76ed",
        "437ea90cc3afdca5229b41c6b1d38c4842756cb9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge Andrew\u0027s second set of patches:\n - MM\n - a few random fixes\n - a couple of RTC leftovers\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (120 commits)\n  rtc/rtc-88pm80x: remove unneed devm_kfree\n  rtc/rtc-88pm80x: assign ret only when rtc_register_driver fails\n  mm: hugetlbfs: close race during teardown of hugetlbfs shared page tables\n  tmpfs: distribute interleave better across nodes\n  mm: remove redundant initialization\n  mm: warn if pg_data_t isn\u0027t initialized with zero\n  mips: zero out pg_data_t when it\u0027s allocated\n  memcg: gix memory accounting scalability in shrink_page_list\n  mm/sparse: remove index_init_lock\n  mm/sparse: more checks on mem_section number\n  mm/sparse: optimize sparse_index_alloc\n  memcg: add mem_cgroup_from_css() helper\n  memcg: further prevent OOM with too many dirty pages\n  memcg: prevent OOM with too many dirty pages\n  mm: mmu_notifier: fix freed page still mapped in secondary MMU\n  mm: memcg: only check anon swapin page charges for swap cache\n  mm: memcg: only check swap cache pages for repeated charging\n  mm: memcg: split swapin charge function into private and public part\n  mm: memcg: remove needless !mm fixup to init_mm when charging\n  mm: memcg: remove unneeded shmem charge type\n  ...\n"
    },
    {
      "commit": "a40a1d3d0a2fd613fdec6d89d3c053268ced76ed",
      "tree": "ed8ea274f82e0cb645632c9b1ddcd1a6afc40bad",
      "parents": [
        "3e9a97082fa639394e905e1fc4a0a7f719ca7644",
        "89e1f7d4c66d85f42c3d52ea3866eb10cadf6153"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:17:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:17:27 2012 -0700"
      },
      "message": "Merge tag \u0027vfio-for-v3.6\u0027 of git://github.com/awilliam/linux-vfio\n\nPull VFIO core from Alex Williamson:\n \"This series includes the VFIO userspace driver interface for the 3.6\n  kernel merge window.  This driver is intended to provide a secure\n  interface for device access using IOMMU protection for applications\n  like assignment of physical devices to virtual machines.\n\n  Qemu will be the first user of this interface, enabling assignment of\n  PCI devices to Qemu guests.  This interface is intended to eventually\n  replace the x86-specific assignment mechanism currently available in\n  KVM.\n\n  This interface has the advantage of being more secure, by working with\n  IOMMU groups to ensure device isolation and providing it\u0027s own\n  filtered resource access mechanism, and also more flexible, in not\n  being x86 or KVM specific (extensions to enable POWER are already\n  working).\n\n  This driver is originally the work of Tom Lyon, but has since been\n  handed over to me and gone through a complete overhaul thanks to the\n  input from David Gibson, Ben Herrenschmidt, Chris Wright, Joerg\n  Roedel, and others.  This driver has been available in linux-next for\n  the last month.\"\n\nPaul Mackerras says:\n \"I would be glad to see it go in since we want to use it with KVM on\n  PowerPC.  If possible we\u0027d like the PowerPC bits for it to go in as\n  well.\"\n\n* tag \u0027vfio-for-v3.6\u0027 of git://github.com/awilliam/linux-vfio:\n  vfio: Add PCI device driver\n  vfio: Type1 IOMMU implementation\n  vfio: Add documentation\n  vfio: VFIO core\n"
    },
    {
      "commit": "3e9a97082fa639394e905e1fc4a0a7f719ca7644",
      "tree": "9985cfa26e0597128eae03a2ee7e4614efea571f",
      "parents": [
        "941c8726e4e737e74d418ccec3d8e7b946a65541",
        "d2e7c96af1e54b507ae2a6a7dd2baf588417a7e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "message": "Merge tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random\n\nPull random subsystem patches from Ted Ts\u0027o:\n \"This patch series contains a major revamp of how we collect entropy\n  from interrupts for /dev/random and /dev/urandom.\n\n  The goal is to addresses weaknesses discussed in the paper \"Mining\n  your Ps and Qs: Detection of Widespread Weak Keys in Network Devices\",\n  by Nadia Heninger, Zakir Durumeric, Eric Wustrow, J.  Alex Halderman,\n  which will be published in the Proceedings of the 21st Usenix Security\n  Symposium, August 2012.  (See https://factorable.net for more\n  information and an extended version of the paper.)\"\n\nFix up trivial conflicts due to nearby changes in\ndrivers/{mfd/ab3100-core.c, usb/gadget/omap_udc.c}\n\n* tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (33 commits)\n  random: mix in architectural randomness in extract_buf()\n  dmi: Feed DMI table to /dev/random driver\n  random: Add comment to random_initialize()\n  random: final removal of IRQF_SAMPLE_RANDOM\n  um: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  sparc/ldc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  [ARM] pxa: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  board-palmz71: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  isp1301_omap: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pxa25x_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  omap_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  goku_udc: remove IRQF_SAMPLE_RANDOM which was commented out\n  uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  drivers: hv: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  xen-blkfront: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  n2_crypto: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pda_power: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  i2c-pmcmsp: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  input/serio/hp_sdc.c: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  ...\n"
    },
    {
      "commit": "941c8726e4e737e74d418ccec3d8e7b946a65541",
      "tree": "0c3585d8bc16fb6fa7c0efd9db9d32da1ea7bd6e",
      "parents": [
        "8762541f067d371320731510669e27f5cc40af38",
        "1da9b6b43e31a5d88a82cc70b8f57090c9dd2be8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:59:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:59:55 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull final RDMA changes from Roland Dreier:\n - Fix IPoIB to stop using unsafe linkage between networking neighbour\n   layer and private path database.\n - Small fixes for bugs found by Fengguang Wu\u0027s automated builds.\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IPoIB: Use a private hash table for path lookup in xmit path\n  IB/qib: Fix size of cc_supported_table_entries\n  RDMA/ucma: Convert open-coded equivalent to memdup_user()\n  RDMA/ocrdma: Fix check of GSI CQs\n  RDMA/cma: Use PTR_RET rather than if (IS_ERR(...)) + PTR_ERR\n"
    },
    {
      "commit": "8762541f067d371320731510669e27f5cc40af38",
      "tree": "fa2890094858614a947ba70612854acde9888940",
      "parents": [
        "6dbb35b0a74b44b2a48a5373d48074c5aa69fdf5",
        "adfe1560de1c696324554fba70c92f2d7c947ff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:47:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:47:44 2012 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media\n\nPull second set of media updates from Mauro Carvalho Chehab:\n\n - radio API: add support to work with radio frequency bands\n\n - new AM/FM radio drivers: radio-shark, radio-shark2\n\n - new Remote Controller USB driver: iguanair\n\n - conversion of several drivers to the v4l2 core control framework\n\n - new board additions at existing drivers\n\n - the remaining (and vast majority of the patches) are due to\n   drivers/DocBook fixes/cleanups.\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (154 commits)\n  [media] radio-tea5777: use library for 64bits div\n  [media] tlg2300: Declare MODULE_FIRMWARE usage\n  [media] lgs8gxx: Declare MODULE_FIRMWARE usage\n  [media] xc5000: Add MODULE_FIRMWARE statements\n  [media] s2255drv: Add MODULE_FIRMWARE statement\n  [media] dib8000: move dereference after check for NULL\n  [media] Documentation: Update cardlists\n  [media] bttv: add support for Aposonic W-DVR\n  [media] cx25821: Remove bad strcpy to read-only char*\n  [media] pms.c: remove duplicated include\n  [media] smiapp-core.c: remove duplicated include\n  [media] via-camera: pass correct format settings to sensor\n  [media] rtl2832.c: minor cleanup\n  [media] Add support for the IguanaWorks USB IR Transceiver\n  [media] Minor cleanups for MCE USB\n  [media] drivers/media/dvb/siano/smscoreapi.c: use list_for_each_entry\n  [media] Use a named union in struct v4l2_ioctl_info\n  [media] mceusb: Add Twisted Melon USB IDs\n  [media] staging/media/solo6x10: use module_pci_driver macro\n  [media] staging/media/dt3155v4l: use module_pci_driver macro\n  ...\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "6dbb35b0a74b44b2a48a5373d48074c5aa69fdf5",
      "tree": "4afb5eec521659e19c9d2343c2431054a082eb06",
      "parents": [
        "fd37ce34bd512f2b1a503f82abf8768da556a955",
        "ad0fcd4eb68059de02e1766948263c71b8a5b1dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:45:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:45:44 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.6-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull second wave of NFS client updates from Trond Myklebust:\n\n - Patches from Bryan to allow splitting of the NFSv2/v3/v4 code into\n   separate modules.\n\n - Fix Oopses in the NFSv4 idmapper\n\n - Fix a deadlock whereby rpciod tries to allocate a new socket and ends\n   up recursing into the NFS code due to memory reclaim.\n\n - Increase the number of permitted callback connections.\n\n* tag \u0027nfs-for-3.6-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  nfs: explicitly reject LOCK_MAND flock() requests\n  nfs: increase number of permitted callback connections.\n  SUNRPC: return negative value in case rpcbind client creation error\n  NFS: Convert v4 into a module\n  NFS: Convert v3 into a module\n  NFS: Convert v2 into a module\n  NFS: Keep module parameters in the generic NFS client\n  NFS: Split out remaining NFS v4 inode functions\n  NFS: Pass super operations and xattr handlers in the nfs_subversion\n  NFS: Only initialize the ACL client in the v3 case\n  NFS: Create a try_mount rpc op\n  NFS: Remove the NFS v4 xdev mount function\n  NFS: Add version registering framework\n  NFS: Fix a number of bugs in the idmapper\n  nfs: skip commit in releasepage if we\u0027re freeing memory for fs-related reasons\n  sunrpc: clarify comments on rpc_make_runnable\n  pnfsblock: bail out partial page IO\n"
    },
    {
      "commit": "fd37ce34bd512f2b1a503f82abf8768da556a955",
      "tree": "557ff43ff5291d1704527e31293633fbc2f956d5",
      "parents": [
        "4b24ff71108164e047cf2c95990b77651163e315",
        "caacf05e5ad1abf0a2864863da4e33024bc68ec6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:43:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:43:13 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking update from David S. Miller:\n \"I think Eric Dumazet and I have dealt with all of the known routing\n  cache removal fallout.  Some other minor fixes all around.\n\n  1) Fix RCU of cached routes, particular of output routes which require\n     liberation via call_rcu() instead of call_rcu_bh().  From Eric\n     Dumazet.\n\n  2) Make sure we purge net device references in cached routes properly.\n\n  3) TG3 driver bug fixes from Michael Chan.\n\n  4) Fix reported \u0027expires\u0027 value in ipv6 routes, from Li Wei.\n\n  5) TUN driver ioctl leaks kernel bytes to userspace, from Mathias\n     Krause.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (22 commits)\n  ipv4: Properly purge netdev references on uncached routes.\n  ipv4: Cache routes in nexthop exception entries.\n  ipv4: percpu nh_rth_output cache\n  ipv4: Restore old dst_free() behavior.\n  bridge: make port attributes const\n  ipv4: remove rt_cache_rebuild_count\n  net: ipv4: fix RCU races on dst refcounts\n  net: TCP early demux cleanup\n  tun: Fix formatting.\n  net/tun: fix ioctl() based info leaks\n  tg3: Update version to 3.124\n  tg3: Fix race condition in tg3_get_stats64()\n  tg3: Add New 5719 Read DMA workaround\n  tg3: Fix Read DMA workaround for 5719 A0.\n  tg3: Request APE_LOCK_PHY before PHY access\n  ipv6: fix incorrect route \u0027expires\u0027 value passed to userspace\n  mISDN: Bugfix only few bytes are transfered on a connection\n  seeq: use PTR_RET at init_module of driver\n  bnx2x: remove cast around the kmalloc in bnx2x_prev_mark_path\n  ipv4: clean up put_child\n  ...\n"
    },
    {
      "commit": "437ea90cc3afdca5229b41c6b1d38c4842756cb9",
      "tree": "d9d5640aa4dfdc232c837574ae3ecd0880e8adf5",
      "parents": [
        "7ead55119ba58523c31f52365b5eb33f3bb34b3e"
      ],
      "author": {
        "name": "Devendra Naga",
        "email": "devendra.aaru@gmail.com",
        "time": "Tue Jul 31 16:46:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:50 2012 -0700"
      },
      "message": "rtc/rtc-88pm80x: remove unneed devm_kfree\n\ndevm_kzalloc() doesn\u0027t need a matching devm_kfree(), the freeing mechanism\nwill trigger when driver unloads.\n\nSigned-off-by: Devendra Naga \u003cdevendra.aaru@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Ashish Jangam \u003cashish.jangam@kpitcummins.com\u003e\nCc: David Dajun Chen \u003cdchen@diasemi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ead55119ba58523c31f52365b5eb33f3bb34b3e",
      "tree": "d5d6c71280fdb89b0423b5372b000d3650c2ccba",
      "parents": [
        "d833352a4338dc31295ed832a30c9ccff5c7a183"
      ],
      "author": {
        "name": "Devendra Naga",
        "email": "devendra.aaru@gmail.com",
        "time": "Tue Jul 31 16:46:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:50 2012 -0700"
      },
      "message": "rtc/rtc-88pm80x: assign ret only when rtc_register_driver fails\n\nAt the probe we are assigning ret to return value of PTR_ERR right after\nthe rtc_register_drive()r, as we would have done it in the if\n(IS_ERR(ptr)) check, since the function fails and goes inside that case\n\nSigned-off-by: Devendra Naga \u003cdevendra.aaru@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Ashish Jangam \u003cashish.jangam@kpitcummins.com\u003e\nCc: David Dajun Chen \u003cdchen@diasemi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d833352a4338dc31295ed832a30c9ccff5c7a183",
      "tree": "17d0da8ace1daaabe465304bca861c38e85216b5",
      "parents": [
        "09c231cb8bfdc35e7d896850d34440b8553b084f"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:46:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:50 2012 -0700"
      },
      "message": "mm: hugetlbfs: close race during teardown of hugetlbfs shared page tables\n\nIf a process creates a large hugetlbfs mapping that is eligible for page\ntable sharing and forks heavily with children some of whom fault and\nothers which destroy the mapping then it is possible for page tables to\nget corrupted.  Some teardowns of the mapping encounter a \"bad pmd\" and\noutput a message to the kernel log.  The final teardown will trigger a\nBUG_ON in mm/filemap.c.\n\nThis was reproduced in 3.4 but is known to have existed for a long time\nand goes back at least as far as 2.6.37.  It was probably was introduced\nin 2.6.20 by [39dde65c: shared page table for hugetlb page].  The messages\nlook like this;\n\n[  ..........] Lots of bad pmd messages followed by this\n[  127.164256] mm/memory.c:391: bad pmd ffff880412e04fe8(80000003de4000e7).\n[  127.164257] mm/memory.c:391: bad pmd ffff880412e04ff0(80000003de6000e7).\n[  127.164258] mm/memory.c:391: bad pmd ffff880412e04ff8(80000003de0000e7).\n[  127.186778] ------------[ cut here ]------------\n[  127.186781] kernel BUG at mm/filemap.c:134!\n[  127.186782] invalid opcode: 0000 [#1] SMP\n[  127.186783] CPU 7\n[  127.186784] Modules linked in: af_packet cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq mperf ext3 jbd dm_mod coretemp crc32c_intel usb_storage ghash_clmulni_intel aesni_intel i2c_i801 r8169 mii uas sr_mod cdrom sg iTCO_wdt iTCO_vendor_support shpchp serio_raw cryptd aes_x86_64 e1000e pci_hotplug dcdbas aes_generic container microcode ext4 mbcache jbd2 crc16 sd_mod crc_t10dif i915 drm_kms_helper drm i2c_algo_bit ehci_hcd ahci libahci usbcore rtc_cmos usb_common button i2c_core intel_agp video intel_gtt fan processor thermal thermal_sys hwmon ata_generic pata_atiixp libata scsi_mod\n[  127.186801]\n[  127.186802] Pid: 9017, comm: hugetlbfs-test Not tainted 3.4.0-autobuild #53 Dell Inc. OptiPlex 990/06D7TR\n[  127.186804] RIP: 0010:[\u003cffffffff810ed6ce\u003e]  [\u003cffffffff810ed6ce\u003e] __delete_from_page_cache+0x15e/0x160\n[  127.186809] RSP: 0000:ffff8804144b5c08  EFLAGS: 00010002\n[  127.186810] RAX: 0000000000000001 RBX: ffffea000a5c9000 RCX: 00000000ffffffc0\n[  127.186811] RDX: 0000000000000000 RSI: 0000000000000009 RDI: ffff88042dfdad00\n[  127.186812] RBP: ffff8804144b5c18 R08: 0000000000000009 R09: 0000000000000003\n[  127.186813] R10: 0000000000000000 R11: 000000000000002d R12: ffff880412ff83d8\n[  127.186814] R13: ffff880412ff83d8 R14: 0000000000000000 R15: ffff880412ff83d8\n[  127.186815] FS:  00007fe18ed2c700(0000) GS:ffff88042dce0000(0000) knlGS:0000000000000000\n[  127.186816] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[  127.186817] CR2: 00007fe340000503 CR3: 0000000417a14000 CR4: 00000000000407e0\n[  127.186818] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  127.186819] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[  127.186820] Process hugetlbfs-test (pid: 9017, threadinfo ffff8804144b4000, task ffff880417f803c0)\n[  127.186821] Stack:\n[  127.186822]  ffffea000a5c9000 0000000000000000 ffff8804144b5c48 ffffffff810ed83b\n[  127.186824]  ffff8804144b5c48 000000000000138a 0000000000001387 ffff8804144b5c98\n[  127.186825]  ffff8804144b5d48 ffffffff811bc925 ffff8804144b5cb8 0000000000000000\n[  127.186827] Call Trace:\n[  127.186829]  [\u003cffffffff810ed83b\u003e] delete_from_page_cache+0x3b/0x80\n[  127.186832]  [\u003cffffffff811bc925\u003e] truncate_hugepages+0x115/0x220\n[  127.186834]  [\u003cffffffff811bca43\u003e] hugetlbfs_evict_inode+0x13/0x30\n[  127.186837]  [\u003cffffffff811655c7\u003e] evict+0xa7/0x1b0\n[  127.186839]  [\u003cffffffff811657a3\u003e] iput_final+0xd3/0x1f0\n[  127.186840]  [\u003cffffffff811658f9\u003e] iput+0x39/0x50\n[  127.186842]  [\u003cffffffff81162708\u003e] d_kill+0xf8/0x130\n[  127.186843]  [\u003cffffffff81162812\u003e] dput+0xd2/0x1a0\n[  127.186845]  [\u003cffffffff8114e2d0\u003e] __fput+0x170/0x230\n[  127.186848]  [\u003cffffffff81236e0e\u003e] ? rb_erase+0xce/0x150\n[  127.186849]  [\u003cffffffff8114e3ad\u003e] fput+0x1d/0x30\n[  127.186851]  [\u003cffffffff81117db7\u003e] remove_vma+0x37/0x80\n[  127.186853]  [\u003cffffffff81119182\u003e] do_munmap+0x2d2/0x360\n[  127.186855]  [\u003cffffffff811cc639\u003e] sys_shmdt+0xc9/0x170\n[  127.186857]  [\u003cffffffff81410a39\u003e] system_call_fastpath+0x16/0x1b\n[  127.186858] Code: 0f 1f 44 00 00 48 8b 43 08 48 8b 00 48 8b 40 28 8b b0 40 03 00 00 85 f6 0f 88 df fe ff ff 48 89 df e8 e7 cb 05 00 e9 d2 fe ff ff \u003c0f\u003e 0b 55 83 e2 fd 48 89 e5 48 83 ec 30 48 89 5d d8 4c 89 65 e0\n[  127.186868] RIP  [\u003cffffffff810ed6ce\u003e] __delete_from_page_cache+0x15e/0x160\n[  127.186870]  RSP \u003cffff8804144b5c08\u003e\n[  127.186871] ---[ end trace 7cbac5d1db69f426 ]---\n\nThe bug is a race and not always easy to reproduce.  To reproduce it I was\ndoing the following on a single socket I7-based machine with 16G of RAM.\n\n$ hugeadm --pool-pages-max DEFAULT:13G\n$ echo $((18*1048576*1024)) \u003e /proc/sys/kernel/shmmax\n$ echo $((18*1048576*1024)) \u003e /proc/sys/kernel/shmall\n$ for i in `seq 1 9000`; do ./hugetlbfs-test; done\n\nOn my particular machine, it usually triggers within 10 minutes but\nenabling debug options can change the timing such that it never hits.\nOnce the bug is triggered, the machine is in trouble and needs to be\nrebooted.  The machine will respond but processes accessing proc like \"ps\naux\" will hang due to the BUG_ON.  shutdown will also hang and needs a\nhard reset or a sysrq-b.\n\nThe basic problem is a race between page table sharing and teardown.  For\nthe most part page table sharing depends on i_mmap_mutex.  In some cases,\nit is also taking the mm-\u003epage_table_lock for the PTE updates but with\nshared page tables, it is the i_mmap_mutex that is more important.\n\nUnfortunately it appears to be also insufficient. Consider the following\nsituation\n\nProcess A\t\t\t\t\tProcess B\n---------\t\t\t\t\t---------\nhugetlb_fault\t\t\t\t\tshmdt\n  \t\t\t\t\t\tLockWrite(mmap_sem)\n    \t\t\t\t\t\t  do_munmap\n\t\t\t\t\t\t    unmap_region\n\t\t\t\t\t\t      unmap_vmas\n\t\t\t\t\t\t        unmap_single_vma\n\t\t\t\t\t\t          unmap_hugepage_range\n      \t\t\t\t\t\t            Lock(i_mmap_mutex)\n\t\t\t\t\t\t\t    Lock(mm-\u003epage_table_lock)\n\t\t\t\t\t\t\t    huge_pmd_unshare/unmap tables \u003c--- (1)\n\t\t\t\t\t\t\t    Unlock(mm-\u003epage_table_lock)\n      \t\t\t\t\t\t            Unlock(i_mmap_mutex)\n  huge_pte_alloc\t\t\t\t      ...\n    Lock(i_mmap_mutex)\t\t\t\t      ...\n    vma_prio_walk, find svma, spte\t\t      ...\n    Lock(mm-\u003epage_table_lock)\t\t\t      ...\n    share spte\t\t\t\t\t      ...\n    Unlock(mm-\u003epage_table_lock)\t\t\t      ...\n    Unlock(i_mmap_mutex)\t\t\t      ...\n  hugetlb_no_page\t\t\t\t\t\t\t\t\t  \u003c--- (2)\n\t\t\t\t\t\t      free_pgtables\n\t\t\t\t\t\t        unlink_file_vma\n\t\t\t\t\t\t\thugetlb_free_pgd_range\n\t\t\t\t\t\t    remove_vma_list\n\nIn this scenario, it is possible for Process A to share page tables with\nProcess B that is trying to tear them down.  The i_mmap_mutex on its own\ndoes not prevent Process A walking Process B\u0027s page tables.  At (1) above,\nthe page tables are not shared yet so it unmaps the PMDs.  Process A sets\nup page table sharing and at (2) faults a new entry.  Process B then trips\nup on it in free_pgtables.\n\nThis patch fixes the problem by adding a new function\n__unmap_hugepage_range_final that is only called when the VMA is about to\nbe destroyed.  This function clears VM_MAYSHARE during\nunmap_hugepage_range() under the i_mmap_mutex.  This makes the VMA\nineligible for sharing and avoids the race.  Superficially this looks like\nit would then be vunerable to truncate and madvise issues but hugetlbfs\nhas its own truncate handlers so does not use unmap_mapping_range() and\ndoes not support madvise(DONTNEED).\n\nThis should be treated as a -stable candidate if it is merged.\n\nTest program is as follows. The test case was mostly written by Michal\nHocko with a few minor changes to reproduce this bug.\n\n\u003d\u003d\u003d\u003d CUT HERE \u003d\u003d\u003d\u003d\n\nstatic size_t huge_page_size \u003d (2UL \u003c\u003c 20);\nstatic size_t nr_huge_page_A \u003d 512;\nstatic size_t nr_huge_page_B \u003d 5632;\n\nunsigned int get_random(unsigned int max)\n{\n\tstruct timeval tv;\n\n\tgettimeofday(\u0026tv, NULL);\n\tsrandom(tv.tv_usec);\n\treturn random() % max;\n}\n\nstatic void play(void *addr, size_t size)\n{\n\tunsigned char *start \u003d addr,\n\t\t      *end \u003d start + size,\n\t\t      *a;\n\tstart +\u003d get_random(size/2);\n\n\t/* we could itterate on huge pages but let\u0027s give it more time. */\n\tfor (a \u003d start; a \u003c end; a +\u003d 4096)\n\t\t*a \u003d 0;\n}\n\nint main(int argc, char **argv)\n{\n\tkey_t key \u003d IPC_PRIVATE;\n\tsize_t sizeA \u003d nr_huge_page_A * huge_page_size;\n\tsize_t sizeB \u003d nr_huge_page_B * huge_page_size;\n\tint shmidA, shmidB;\n\tvoid *addrA \u003d NULL, *addrB \u003d NULL;\n\tint nr_children \u003d 300, n \u003d 0;\n\n\tif ((shmidA \u003d shmget(key, sizeA, IPC_CREAT|SHM_HUGETLB|0660)) \u003d\u003d -1) {\n\t\tperror(\"shmget:\");\n\t\treturn 1;\n\t}\n\n\tif ((addrA \u003d shmat(shmidA, addrA, SHM_R|SHM_W)) \u003d\u003d (void *)-1UL) {\n\t\tperror(\"shmat\");\n\t\treturn 1;\n\t}\n\tif ((shmidB \u003d shmget(key, sizeB, IPC_CREAT|SHM_HUGETLB|0660)) \u003d\u003d -1) {\n\t\tperror(\"shmget:\");\n\t\treturn 1;\n\t}\n\n\tif ((addrB \u003d shmat(shmidB, addrB, SHM_R|SHM_W)) \u003d\u003d (void *)-1UL) {\n\t\tperror(\"shmat\");\n\t\treturn 1;\n\t}\n\nfork_child:\n\tswitch(fork()) {\n\t\tcase 0:\n\t\t\tswitch (n%3) {\n\t\t\tcase 0:\n\t\t\t\tplay(addrA, sizeA);\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tplay(addrB, sizeB);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase -1:\n\t\t\tperror(\"fork:\");\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tif (++n \u003c nr_children)\n\t\t\t\tgoto fork_child;\n\t\t\tplay(addrA, sizeA);\n\t\t\tbreak;\n\t}\n\tshmdt(addrA);\n\tshmdt(addrB);\n\tdo {\n\t\twait(NULL);\n\t} while (--n \u003e 0);\n\tshmctl(shmidA, IPC_RMID, NULL);\n\tshmctl(shmidB, IPC_RMID, NULL);\n\treturn 0;\n}\n\n[akpm@linux-foundation.org: name the declaration\u0027s args, fix CONFIG_HUGETLBFS\u003dn build]\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09c231cb8bfdc35e7d896850d34440b8553b084f",
      "tree": "f9a9dcc93c875253e0d879329b1f955b1a08638f",
      "parents": [
        "6527af5d1bea219d64095a5e30c1b1e0868aae16"
      ],
      "author": {
        "name": "Nathan Zimmer",
        "email": "nzimmer@sgi.com",
        "time": "Tue Jul 31 16:46:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:50 2012 -0700"
      },
      "message": "tmpfs: distribute interleave better across nodes\n\nWhen tmpfs has the interleave memory policy, it always starts allocating\nfor each file from node 0 at offset 0.  When there are many small files,\nthe lower nodes fill up disproportionately.\n\nThis patch spreads out node usage by starting files at nodes other than 0,\nby using the inode number to bias the starting node for interleave.\n\nSigned-off-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Nick Piggin \u003cnpiggin@gmail.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6527af5d1bea219d64095a5e30c1b1e0868aae16",
      "tree": "99f36cf0b3744e5d7cdaf52c22a3e9897e17f7bb",
      "parents": [
        "88fdf75d1bb51d85ba00c466391770056d44bc03"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Tue Jul 31 16:46:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:50 2012 -0700"
      },
      "message": "mm: remove redundant initialization\n\npg_data_t is zeroed before reaching free_area_init_core(), so remove the\nnow unnecessary initializations.\n\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88fdf75d1bb51d85ba00c466391770056d44bc03",
      "tree": "0b4f6d9b9c0fb39fd03199c6b19ae626608b2fbb",
      "parents": [
        "93180cec0064d072a984f91c429c5e6bcc816976"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Tue Jul 31 16:46:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:50 2012 -0700"
      },
      "message": "mm: warn if pg_data_t isn\u0027t initialized with zero\n\nWarn if memory-hotplug/boot code doesn\u0027t initialize pg_data_t with zero\nwhen it is allocated.  Arch code and memory hotplug already initiailize\npg_data_t.  So this warning should never happen.  I select fields randomly\nnear the beginning, middle and end of pg_data_t for checking.\n\nThis patch isn\u0027t for performance but for removing initialization code\nwhich is necessary to add whenever we adds new field to pg_data_t or zone.\n\nFirstly, Andrew suggested clearing out of pg_data_t in MM core part but\nTejun doesn\u0027t like it because in the future, some archs can initialize\nsome fields in arch code and pass them into general MM part so blindly\nclearing it out in mm core part would be very annoying.\n\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93180cec0064d072a984f91c429c5e6bcc816976",
      "tree": "3afab9e80f4df5fac7d222a3c60fc1d626a3a8e6",
      "parents": [
        "69980e31754ef23307d51372e61bf7c2584f8a4b"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Tue Jul 31 16:46:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "mips: zero out pg_data_t when it\u0027s allocated\n\nThis patch is preparation for the next patch which removes the zeroing of\nthe pg_data_t in core MM.  All archs except MIPS already do this.\n\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69980e31754ef23307d51372e61bf7c2584f8a4b",
      "tree": "f36caa9cfcd5d5e118e53e6f6fdb48b1efc57e1c",
      "parents": [
        "c1c9518331969f97ea403bac66f0fd4a85d204d5"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Tue Jul 31 16:46:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "memcg: gix memory accounting scalability in shrink_page_list\n\nI noticed in a multi-process parallel files reading benchmark I ran on a 8\nsocket machine, throughput slowed down by a factor of 8 when I ran the\nbenchmark within a cgroup container.  I traced the problem to the\nfollowing code path (see below) when we are trying to reclaim memory from\nfile cache.  The res_counter_uncharge function is called on every page\nthat\u0027s reclaimed and created heavy lock contention.  The patch below\nallows the reclaimed pages to be uncharged from the resource counter in\nbatch and recovered the regression.\n\nTim\n\n     40.67%           usemem  [kernel.kallsyms]                   [k] _raw_spin_lock\n                      |\n                      --- _raw_spin_lock\n                         |\n                         |--92.61%-- res_counter_uncharge\n                         |          |\n                         |          |--100.00%-- __mem_cgroup_uncharge_common\n                         |          |          |\n                         |          |          |--100.00%-- mem_cgroup_uncharge_cache_page\n                         |          |          |          __remove_mapping\n                         |          |          |          shrink_page_list\n                         |          |          |          shrink_inactive_list\n                         |          |          |          shrink_mem_cgroup_zone\n                         |          |          |          shrink_zone\n                         |          |          |          do_try_to_free_pages\n                         |          |          |          try_to_free_pages\n                         |          |          |          __alloc_pages_nodemask\n                         |          |          |          alloc_pages_current\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nCc: 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": "c1c9518331969f97ea403bac66f0fd4a85d204d5",
      "tree": "9a3122ec4600b94784e86a99aec61a1e93a27da5",
      "parents": [
        "db36a46113e101a8aa2d6ede41e78f2eaabed3f1"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "shangw@linux.vnet.ibm.com",
        "time": "Tue Jul 31 16:46:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "mm/sparse: remove index_init_lock\n\nsparse_index_init() uses the index_init_lock spinlock to protect root\nmem_section assignment.  The lock is not necessary anymore because the\nfunction is called only during boot (during paging init which is executed\nonly from a single CPU) and from the hotplug code (by add_memory() via\narch_add_memory()) which uses mem_hotplug_mutex.\n\nThe lock was introduced by 28ae55c9 (\"sparsemem extreme: hotplug\npreparation\") and sparse_index_init() was used only during boot at that\ntime.\n\nLater when the hotplug code (and add_memory()) was introduced there was no\nsynchronization so it was possible to online more sections from the same\nroot probably (though I am not 100% sure about that).  The first\nsynchronization has been added by 6ad696d2 (\"mm: allow memory hotplug and\nhibernation in the same kernel\") which was later replaced by the\nmem_hotplug_mutex - 20d6c96b (\"mem-hotplug: introduce\n{un}lock_memory_hotplug()\").\n\nLet\u0027s remove the lock as it is not needed and it makes the code more\nconfusing.\n\n[mhocko@suse.cz: changelog]\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: 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": "db36a46113e101a8aa2d6ede41e78f2eaabed3f1",
      "tree": "bb438589b620dbdca16bf5918468cd56c5b19f42",
      "parents": [
        "5b760e64a64c8940cdccd0ba6fce19a9bd010d20"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "shangw@linux.vnet.ibm.com",
        "time": "Tue Jul 31 16:46:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "mm/sparse: more checks on mem_section number\n\n__section_nr() was implemented to retrieve the corresponding memory\nsection number according to its descriptor.  It\u0027s possible that the\nspecified memory section descriptor doesn\u0027t exist in the global array.  So\nadd more checking on that and report an error for a wrong case.\n\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: 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": "5b760e64a64c8940cdccd0ba6fce19a9bd010d20",
      "tree": "b4765cd744dd5710ba6cd4d784185247dc317cef",
      "parents": [
        "b214514592d2dcb0b9d14ee8dd14f3699e3b0a84"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "shangw@linux.vnet.ibm.com",
        "time": "Tue Jul 31 16:46:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "mm/sparse: optimize sparse_index_alloc\n\nWith CONFIG_SPARSEMEM_EXTREME, the two levels of memory section\ndescriptors are allocated from slab or bootmem.  When allocating from\nslab, let slab/bootmem allocator clear the memory chunk.  We needn\u0027t clear\nit explicitly.\n\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b214514592d2dcb0b9d14ee8dd14f3699e3b0a84",
      "tree": "317258b7f9229e56a26373c81551d24e7b83142f",
      "parents": [
        "c3b94f44fcb0725471ecebb701c077a0ed67bd07"
      ],
      "author": {
        "name": "Wanpeng Li",
        "email": "liwanp@linux.vnet.ibm.com",
        "time": "Tue Jul 31 16:46:01 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "memcg: add mem_cgroup_from_css() helper\n\nAdd a mem_cgroup_from_css() helper to replace open-coded invokations of\ncontainer_of().  To clarify the code and to add a little more type safety.\n\n[akpm@linux-foundation.org: fix extensive breakage]\nSigned-off-by: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nCc: Wanpeng Li \u003cliwanp@linux.vnet.ibm.com\u003e\nCc: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: 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": "c3b94f44fcb0725471ecebb701c077a0ed67bd07",
      "tree": "526dd574ec3d35bc39a4a05759a8f4c33f91abb3",
      "parents": [
        "e62e384e9da8d9a0c599795464a7e76fd490931c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Tue Jul 31 16:45:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "memcg: further prevent OOM with too many dirty pages\n\nThe may_enter_fs test turns out to be too restrictive: though I saw no\nproblem with it when testing on 3.5-rc6, it very soon OOMed when I tested\non 3.5-rc6-mm1.  I don\u0027t know what the difference there is, perhaps I just\nslightly changed the way I started off the testing: dd if\u003d/dev/zero\nof\u003d/mnt/temp bs\u003d1M count\u003d1024; rm -f /mnt/temp; sync repeatedly, in 20M\nmemory.limit_in_bytes cgroup to ext4 on USB stick.\n\next4 (and gfs2 and xfs) turn out to allocate new pages for writing with\nAOP_FLAG_NOFS: that seems a little worrying, and it\u0027s unclear to me why\nthe transaction needs to be started even before allocating pagecache\nmemory.  But it may not be worth worrying about these days: if direct\nreclaim avoids FS writeback, does __GFP_FS now mean anything?\n\nAnyway, we insisted on the may_enter_fs test to avoid hangs with the loop\ndevice; but since that also masks off __GFP_IO, we can test for __GFP_IO\ndirectly, ignoring may_enter_fs and __GFP_FS.\n\nBut even so, the test still OOMs sometimes: when originally testing on\n3.5-rc6, it OOMed about one time in five or ten; when testing just now on\n3.5-rc6-mm1, it OOMed on the first iteration.\n\nThis residual problem comes from an accumulation of pages under ordinary\nwriteback, not marked PageReclaim, so rightly not causing the memcg check\nto wait on their writeback: these too can prevent shrink_page_list() from\nfreeing any pages, so many times that memcg reclaim fails and OOMs.\n\nDeal with these in the same way as direct reclaim now deals with dirty FS\npages: mark them PageReclaim.  It is appropriate to rotate these to tail\nof list when writepage completes, but more importantly, the PageReclaim\nflag makes memcg reclaim wait on them if encountered again.  Increment\nNR_VMSCAN_IMMEDIATE?  That\u0027s arguable: I chose not.\n\nSetting PageReclaim here may occasionally race with end_page_writeback()\nclearing it: lru_deactivate_fn() already faced the same race, and\ncorrectly concluded that the window is small and the issue non-critical.\n\nWith these changes, the test runs indefinitely without OOMing on ext4,\next3 and ext2: I\u0027ll move on to test with other filesystems later.\n\nTrivia: invert conditions for a clearer block without an else, and goto\nkeep_locked to do the unlock_page.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujtisu.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e62e384e9da8d9a0c599795464a7e76fd490931c",
      "tree": "07d92bd50f42e5f919ddfb03b185a270daa2e1b1",
      "parents": [
        "3ad3d901bbcfb15a5e4690e55350db0899095a68"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 31 16:45:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "memcg: prevent OOM with too many dirty pages\n\nThe current implementation of dirty pages throttling is not memcg aware\nwhich makes it easy to have memcg LRUs full of dirty pages.  Without\nthrottling, these LRUs can be scanned faster than the rate of writeback,\nleading to memcg OOM conditions when the hard limit is small.\n\nThis patch fixes the problem by throttling the allocating process\n(possibly a writer) during the hard limit reclaim by waiting on\nPageReclaim pages.  We are waiting only for PageReclaim pages because\nthose are the pages that made one full round over LRU and that means that\nthe writeback is much slower than scanning.\n\nThe solution is far from being ideal - long term solution is memcg aware\ndirty throttling - but it is meant to be a band aid until we have a real\nfix.  We are seeing this happening during nightly backups which are placed\ninto containers to prevent from eviction of the real working set.\n\nThe change affects only memcg reclaim and only when we encounter\nPageReclaim pages which is a signal that the reclaim doesn\u0027t catch up on\nwith the writers so somebody should be throttled.  This could be\npotentially unfair because it could be somebody else from the group who\ngets throttled on behalf of the writer but as writers need to allocate as\nwell and they allocate in higher rate the probability that only innocent\nprocesses would be penalized is not that high.\n\nI have tested this change by a simple dd copying /dev/zero to tmpfs or\next3 running under small memcg (1G copy under 5M, 60M, 300M and 2G\ncontainers) and dd got killed by OOM killer every time.  With the patch I\ncould run the dd with the same size under 5M controller without any OOM.\nThe issue is more visible with slower devices for output.\n\n* With the patch\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n* tmpfs size\u003d2G\n---------------\n$ vim cgroup_cache_oom_test.sh\n$ ./cgroup_cache_oom_test.sh 5M\nusing Limit 5M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 30.4049 s, 34.5 MB/s\n$ ./cgroup_cache_oom_test.sh 60M\nusing Limit 60M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 31.4561 s, 33.3 MB/s\n$ ./cgroup_cache_oom_test.sh 300M\nusing Limit 300M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 20.4618 s, 51.2 MB/s\n$ ./cgroup_cache_oom_test.sh 2G\nusing Limit 2G for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 1.42172 s, 738 MB/s\n\n* ext3\n------\n$ ./cgroup_cache_oom_test.sh 5M\nusing Limit 5M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 27.9547 s, 37.5 MB/s\n$ ./cgroup_cache_oom_test.sh 60M\nusing Limit 60M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 30.3221 s, 34.6 MB/s\n$ ./cgroup_cache_oom_test.sh 300M\nusing Limit 300M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 24.5764 s, 42.7 MB/s\n$ ./cgroup_cache_oom_test.sh 2G\nusing Limit 2G for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 3.35828 s, 312 MB/s\n\n* Without the patch\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n* tmpfs size\u003d2G\n---------------\n$ ./cgroup_cache_oom_test.sh 5M\nusing Limit 5M for group\n./cgroup_cache_oom_test.sh: line 46:  4668 Killed                  dd if\u003d/dev/zero of\u003d$OUT/zero bs\u003d1M count\u003d$count\n$ ./cgroup_cache_oom_test.sh 60M\nusing Limit 60M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 25.4989 s, 41.1 MB/s\n$ ./cgroup_cache_oom_test.sh 300M\nusing Limit 300M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 24.3928 s, 43.0 MB/s\n$ ./cgroup_cache_oom_test.sh 2G\nusing Limit 2G for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 1.49797 s, 700 MB/s\n\n* ext3\n------\n$ ./cgroup_cache_oom_test.sh 5M\nusing Limit 5M for group\n./cgroup_cache_oom_test.sh: line 46:  4689 Killed                  dd if\u003d/dev/zero of\u003d$OUT/zero bs\u003d1M count\u003d$count\n$ ./cgroup_cache_oom_test.sh 60M\nusing Limit 60M for group\n./cgroup_cache_oom_test.sh: line 46:  4692 Killed                  dd if\u003d/dev/zero of\u003d$OUT/zero bs\u003d1M count\u003d$count\n$ ./cgroup_cache_oom_test.sh 300M\nusing Limit 300M for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 20.248 s, 51.8 MB/s\n$ ./cgroup_cache_oom_test.sh 2G\nusing Limit 2G for group\n1000+0 records in\n1000+0 records out\n1048576000 bytes (1.0 GB) copied, 2.85201 s, 368 MB/s\n\n[akpm@linux-foundation.org: tweak changelog, reordered the test to optimize for CONFIG_CGROUP_MEM_RES_CTLR\u003dn]\n[hughd@google.com: fix deadlock with loop driver]\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujtisu.com\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ad3d901bbcfb15a5e4690e55350db0899095a68",
      "tree": "f560891bb97cb3faf129d6849e25b120b3991a78",
      "parents": [
        "bdf4f4d2161a795b9323855a81a047bd68f16202"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Jul 31 16:45:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "mm: mmu_notifier: fix freed page still mapped in secondary MMU\n\nmmu_notifier_release() is called when the process is exiting.  It will\ndelete all the mmu notifiers.  But at this time the page belonging to the\nprocess is still present in page tables and is present on the LRU list, so\nthis race will happen:\n\n      CPU 0                 CPU 1\nmmu_notifier_release:    try_to_unmap:\n   hlist_del_init_rcu(\u0026mn-\u003ehlist);\n                            ptep_clear_flush_notify:\n                                  mmu nofifler not found\n                            free page  !!!!!!\n                            /*\n                             * At the point, the page has been\n                             * freed, but it is still mapped in\n                             * the secondary MMU.\n                             */\n\n  mn-\u003eops-\u003erelease(mn, mm);\n\nThen the box is not stable and sometimes we can get this bug:\n\n[  738.075923] BUG: Bad page state in process migrate-perf  pfn:03bec\n[  738.075931] page:ffffea00000efb00 count:0 mapcount:0 mapping:          (null) index:0x8076\n[  738.075936] page flags: 0x20000000000014(referenced|dirty)\n\nThe same issue is present in mmu_notifier_unregister().\n\nWe can call -\u003erelease before deleting the notifier to ensure the page has\nbeen unmapped from the secondary MMU before it is freed.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bdf4f4d2161a795b9323855a81a047bd68f16202",
      "tree": "3aa457660c69f2945cb9ab477079e7441f220b27",
      "parents": [
        "90deb78839faedd194b65d419dbd9cba981e1922"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "mm: memcg: only check anon swapin page charges for swap cache\n\nshmem knows for sure that the page is in swap cache when attempting to\ncharge a page, because the cache charge entry function has a check for it.\nOnly anon pages may be removed from swap cache already when trying to\ncharge their swapin.\n\nAdjust the comment, though: \u00274969c11 mm: fix swapin race condition\u0027 added\na stable PageSwapCache check under the page lock in the do_swap_page()\nbefore calling the memory controller, so it\u0027s unuse_pte()\u0027s pte_same()\nthat may fail.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90deb78839faedd194b65d419dbd9cba981e1922",
      "tree": "2262e84058ece104e056bbb3c90abe3e3684a709",
      "parents": [
        "0435a2fdcb50f8e53a67e98c27708e5d9396b71a"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:49 2012 -0700"
      },
      "message": "mm: memcg: only check swap cache pages for repeated charging\n\nOnly anon and shmem pages in the swap cache are attempted to be charged\nmultiple times, from every swap pte fault or from shmem_unuse().  No other\npages require checking PageCgroupUsed().\n\nCharging pages in the swap cache is also serialized by the page lock, and\nsince both the try_charge and commit_charge are called under the same page\nlock section, the PageCgroupUsed() check might as well happen before the\ncounter charging, let alone reclaim.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0435a2fdcb50f8e53a67e98c27708e5d9396b71a",
      "tree": "9ef0a6916792f738056dda01b3d5b592fe6d5d44",
      "parents": [
        "24467cacc03cf8b156d4c6786697e5e5d13c9321"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "mm: memcg: split swapin charge function into private and public part\n\nWhen shmem is charged upon swapin, it does not need to check twice whether\nthe memory controller is enabled.\n\nAlso, shmem pages do not have to be checked for everything that regular\nanon pages have to be checked for, so let shmem use the internal version\ndirectly and allow future patches to move around checks that are only\nrequired when swapping in anon pages.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24467cacc03cf8b156d4c6786697e5e5d13c9321",
      "tree": "d62344582c4b980226a65faa6ceefabb6d106204",
      "parents": [
        "62ba7442c8e286b6dd68fe82a3cc85c9414d909b"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "mm: memcg: remove needless !mm fixup to init_mm when charging\n\nIt does not matter to __mem_cgroup_try_charge() if the passed mm is NULL\nor init_mm, it will charge the root memcg in either case.\n\nAlso fix up the comment in __mem_cgroup_try_charge() that claimed the\ninit_mm would be charged when no mm was passed.  It\u0027s not really\nincorrect, but confusing.  Clarify that the root memcg is charged in this\ncase.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62ba7442c8e286b6dd68fe82a3cc85c9414d909b",
      "tree": "c46f57d2607562ce6682b780a7085ea2f32ef79f",
      "parents": [
        "827a03d22e776ff7838b5b2780b71092e0b9de1e"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "mm: memcg: remove unneeded shmem charge type\n\nshmem page charges have not needed a separate charge type to tell them\nfrom regular file pages since 08e552c (\"memcg: synchronized LRU\").\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "827a03d22e776ff7838b5b2780b71092e0b9de1e",
      "tree": "c05e8f590a6b4c1dbd4c517cbe2b5a622ea326d6",
      "parents": [
        "7d188958bb64708577aa77e6b1ad68abbf0480f5"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "mm: memcg: move swapin charge functions above callsites\n\nCharging cache pages may require swapin in the shmem case.  Save the\nforward declaration and just move the swapin functions above the cache\ncharging functions.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d188958bb64708577aa77e6b1ad68abbf0480f5",
      "tree": "34e954784a6adce1a03ab91dd38b66cc7fd060b4",
      "parents": [
        "0c59b89c81eab7fe7dcf08f2252ae22a6c081ce8"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "mm: memcg: only check for PageSwapCache when uncharging anon\n\nOnly anon pages that are uncharged at the time of the last page table\nmapping vanishing may be in swapcache.\n\nWhen shmem pages, file pages, swap-freed anon pages, or just migrated\npages are uncharged, they are known for sure to be not in swapcache.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c59b89c81eab7fe7dcf08f2252ae22a6c081ce8",
      "tree": "b6b6510704282d59dd875fed59c999c93455c973",
      "parents": [
        "5d84c7766e8aacc6e3477bdf02fdb417163cf89b"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "mm: memcg: push down PageSwapCache check into uncharge entry functions\n\nNot all uncharge paths need to check if the page is swapcache, some of\nthem can know for sure.\n\nPush down the check into all callsites of uncharge_common() so that the\npatch that removes some of them is more obvious.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d84c7766e8aacc6e3477bdf02fdb417163cf89b",
      "tree": "c0cfc049f0b47713f30e36a56f6dd85b9f4363a5",
      "parents": [
        "0030f535a5cf9b1841d2088c10a0b2f8f2987460"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "mm: swapfile: clean up unuse_pte race handling\n\nThe conditional mem_cgroup_cancel_charge_swapin() is a leftover from when\nthe function would continue to reestablish the page even after\nmem_cgroup_try_charge_swapin() failed.  After 85d9fc8 \"memcg: fix refcnt\nhandling at swapoff\", the condition is always true when this code is\nreached.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0030f535a5cf9b1841d2088c10a0b2f8f2987460",
      "tree": "5a71a5057fb0d3e1b5f22c550c4374ea709ac3bc",
      "parents": [
        "737449236240e30a7bbe99f4d5586b8ed1416763"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jul 31 16:45:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "mm: memcg: fix compaction/migration failing due to memcg limits\n\nCompaction (and page migration in general) can currently be hindered\nthrough pages being owned by memory cgroups that are at their limits and\nunreclaimable.\n\nThe reason is that the replacement page is being charged against the limit\nwhile the page being replaced is also still charged.  But this seems\nunnecessary, given that only one of the two pages will still be in use\nafter migration finishes.\n\nThis patch changes the memcg migration sequence so that the replacement\npage is not charged.  Whatever page is still in use after successful or\nfailed migration gets to keep the charge of the page that was going to be\nreplaced.\n\nThe replacement page will still show up temporarily in the rss/cache\nstatistics, this can be fixed in a later patch as it\u0027s less urgent.\n\nReported-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Wanpeng Li \u003cliwp.linux@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "737449236240e30a7bbe99f4d5586b8ed1416763",
      "tree": "288fbd38b6c0e250901e218037fae64e79a91f7a",
      "parents": [
        "192e501b0438bb0e1574179773537f84c4752e25"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:45:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "swapfile: avoid dereferencing bd_disk during swap_entry_free for network storage\n\nCommit b3a27d (\"swap: Add swap slot free callback to\nblock_device_operations\") dereferences p-\u003ebdev-\u003ebd_disk but this is a NULL\ndereference if using swap-over-NFS.  This patch checks SWP_BLKDEV on the\nswap_info_struct before dereferencing.\n\nWith reference to this callback, Christoph Hellwig stated \"Please just\nremove the callback entirely.  It has no user outside the staging tree and\nwas added clearly against the rules for that staging tree\".  This would\nalso be my preference but there was not an obvious way of keeping zram in\nstaging/ happy.\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "192e501b0438bb0e1574179773537f84c4752e25",
      "tree": "5fdfa34f332b39d2fe47603f23bcd1364357e2b2",
      "parents": [
        "a564b8f0398636ba30b07c0eaebdef7ff7837249"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:45:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "nfs: prevent page allocator recursions with swap over NFS.\n\nGFP_NOFS is _more_ permissive than GFP_NOIO in that it will initiate IO,\njust not of any filesystem data.\n\nThe problem is that previously NOFS was correct because that avoids\nrecursion into the NFS code.  With swap-over-NFS, it is no longer correct\nas swap IO can lead to this recursion.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Xiaotian Feng \u003cdfeng@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": "a564b8f0398636ba30b07c0eaebdef7ff7837249",
      "tree": "10478aa5cfb2a3696db34618a479413b358c3831",
      "parents": [
        "29418aa4bd487c82016733ef5c6a06d656ed3c7d"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:45:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "nfs: enable swap on NFS\n\nImplement the new swapfile a_ops for NFS and hook up -\u003edirect_IO.  This\nwill set the NFS socket to SOCK_MEMALLOC and run socket reconnect under\nPF_MEMALLOC as well as reset SOCK_MEMALLOC before engaging the protocol\n-\u003econnect() method.\n\nPF_MEMALLOC should allow the allocation of struct socket and related\nobjects and the early (re)setting of SOCK_MEMALLOC should allow us to\nreceive the packets required for the TCP connection buildup.\n\n[jlayton@redhat.com: Restore PF_MEMALLOC task flags in all cases]\n[dfeng@redhat.com: Fix handling of multiple swap files]\n[a.p.zijlstra@chello.nl: Original patch]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Xiaotian Feng \u003cdfeng@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": "29418aa4bd487c82016733ef5c6a06d656ed3c7d",
      "tree": "17456bf2eb14ece3a9bb017c30ab6ce86c91eb54",
      "parents": [
        "d56b4ddf7781ef8dd050542781cc7f55673af002"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:45:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:47 2012 -0700"
      },
      "message": "nfs: disable data cache revalidation for swapfiles\n\nThe VM does not like PG_private set on PG_swapcache pages.  As suggested\nby Trond in http://lkml.org/lkml/2006/8/25/348, this patch disables NFS\ndata cache revalidation on swap files.  as it does not make sense to have\nother clients change the file while it is being used as swap.  This avoids\nsetting PG_private on swap pages, since there ought to be no further races\nwith invalidate_inode_pages2() to deal with.\n\nSince we cannot set PG_private we cannot use page-\u003eprivate which is\nalready used by PG_swapcache pages to store the nfs_page.  Thus augment\nthe new nfs_page_find_request logic.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Xiaotian Feng \u003cdfeng@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": "d56b4ddf7781ef8dd050542781cc7f55673af002",
      "tree": "afda2689b4944e5dc7fd6d4a2b31f901080ca977",
      "parents": [
        "5a178119b0fbe37f7dfb602b37df9cc4b1dc9d71"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:45:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:47 2012 -0700"
      },
      "message": "nfs: teach the NFS client how to treat PG_swapcache pages\n\nReplace all relevant occurences of page-\u003eindex and page-\u003emapping in the\nNFS client with the new page_file_index() and page_file_mapping()\nfunctions.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Xiaotian Feng \u003cdfeng@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": "5a178119b0fbe37f7dfb602b37df9cc4b1dc9d71",
      "tree": "22ddd286aac202ccb8c063f02792fc9c90a0b8da",
      "parents": [
        "a509bc1a9e487d952d9404318f7f990166ab57a7"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:45:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:47 2012 -0700"
      },
      "message": "mm: add support for direct_IO to highmem pages\n\nThe patch \"mm: add support for a filesystem to activate swap files and use\ndirect_IO for writing swap pages\" added support for using direct_IO to\nwrite swap pages but it is insufficient for highmem pages.\n\nTo support highmem pages, this patch kmaps() the page before calling the\ndirect_IO() handler.  As direct_IO deals with virtual addresses an\nadditional helper is necessary for get_kernel_pages() to lookup the struct\npage for a kmap virtual address.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "a509bc1a9e487d952d9404318f7f990166ab57a7"
}
