)]}'
{
  "log": [
    {
      "commit": "e55f3fceb32e5bb0823f79b645488e54f3e4e733",
      "tree": "31327d8b3ad3ade80ffae4c8a3aab3d43e20b062",
      "parents": [
        "90a5dbf6974f70c756e7655961b73757fa8be6ae",
        "ac58acb16ad3bd7d6c26c5a2e281f34d4cbdcf03"
      ],
      "author": {
        "name": "David Hays",
        "email": "dhays90@gmail.com",
        "time": "Tue Sep 16 10:23:08 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Sep 16 10:23:08 2014 -0700"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/caf/kk_2.7_rb1.43\u0027 into cm-11.0\n\nConflicts:\n\tfs/proc/task_mmu.c\n\nChange-Id: Ie014403aec1279c5adec53138131671c444c4162\n"
    },
    {
      "commit": "5ac504e0708535b392675243000292ae60b705d0",
      "tree": "dfc779ade74a9b38f25460bb2e0b224dcabde6d5",
      "parents": [
        "2cc680d69ffec80a6e75ab46edb4706fcd50cc82"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Nov 14 14:31:56 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Aug 25 12:47:39 2014 -0700"
      },
      "message": "seq_file: introduce seq_setwidth() and seq_pad()\n\nThere are several users who want to know bytes written by seq_*() for\nalignment purpose.  Currently they are using %n format for knowing it\nbecause seq_*() returns 0 on success.\n\nThis patch introduces seq_setwidth() and seq_pad() for allowing them to\nalign without using %n format.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 839cc2a94cc3665bafe32203c2f095f4dd470a80)\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nCRs-fixed: 665291\nChange-Id: I727d9af5ed320d717295c9d0f82c88623fb181c1\nSigned-off-by: David Brown \u003cdavidb@codeaurora.org\u003e\n"
    },
    {
      "commit": "6eee052d52d555f00d6b72e35bd752942221afa1",
      "tree": "6d0b2e30f0363d254e04c1c54163a25d99e48a8f",
      "parents": [
        "db610f7571f287db43c153ce26dd20dbd44d5173"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Aug 01 14:47:13 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Aug 01 14:54:03 2014 -0700"
      },
      "message": "msm: perf: Fix standalone compilation\n\nInclude perf_trace_counters header file in trace directory to\navoid compile errors when compiling standalone kernel image.\n\nChange-Id: I4cb2928e37357eb6bf5f4118858f558dbe2f7f96\n"
    },
    {
      "commit": "db610f7571f287db43c153ce26dd20dbd44d5173",
      "tree": "2b972c70901065346d4dea9365a5319f788e2814",
      "parents": [
        "5ffeb0ef32669ed7b5905a60961d9b4bbd2b4d6d",
        "5bfc8718998bedfeea1997d83838ffd1981cbf12"
      ],
      "author": {
        "name": "Matt Mower",
        "email": "mowerm@gmail.com",
        "time": "Fri Aug 01 14:53:55 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Aug 01 14:53:55 2014 -0700"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/caf/kk_2.7_rb1.41\u0027 into cm-11.0\n\nConflicts:\n\tkernel/events/core.c\n\nChange-Id: I52dfe8b56924fb2d86bf1487eed6114342621603\n"
    },
    {
      "commit": "30a9d74d085964d3b6c0ff392ba6cd5f8660f732",
      "tree": "89df11f3c50360c904d5da1aa56f0973b29d6046",
      "parents": [
        "84381577e9ea021e708f01b2b13950bb6162b493"
      ],
      "author": {
        "name": "David Hays",
        "email": "dhays90@gmail.com",
        "time": "Sun Jun 22 23:21:08 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Mon Jun 30 12:15:08 2014 -0700"
      },
      "message": "msm: HTC: T6: Import T6 board files\n\n* Add support for HTC T6 (HTC One Max)\n\nChange-Id: Id751dd0e23db408ad5cdb3b50028a296093a7038\n"
    },
    {
      "commit": "84b6fd30ff8f75f898fd5bf149d25813c1fd1d0e",
      "tree": "59a69663b92c94d53deff661b200bfe2fe06f9bb",
      "parents": [
        "776c52102ae0f1a1aeb2e29aa4e0f9a67159e9a3"
      ],
      "author": {
        "name": "David Hays",
        "email": "dhays90@gmail.com",
        "time": "Sun Jun 22 22:01:47 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Mon Jun 30 11:42:11 2014 -0700"
      },
      "message": "input: touchscreen: max1187x: Import max1187x driver for T6\n\n* HTC package version: t6ul-3.4.10-g0534bc3\n\nChange-Id: I931d5484a8c8d05ef2ac329983e8318028f2d6fe\n"
    },
    {
      "commit": "776c52102ae0f1a1aeb2e29aa4e0f9a67159e9a3",
      "tree": "f85bc12eb4db6bda10cc71db69ba269d60b05285",
      "parents": [
        "52f365cb415d644a293643efb7444ca4394597cd"
      ],
      "author": {
        "name": "David Hays",
        "email": "dhays90@gmail.com",
        "time": "Sun Jun 22 21:55:06 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Mon Jun 30 11:41:32 2014 -0700"
      },
      "message": "input: lsm330: Add LSM330 gyroscope/accelerometer driver\n\n* HTC kernel version: t6ul-3.4.10-g0534bc3\n\nChange-Id: I48f84208bdcd2f44eedd87da05b4d07ad33a9ff9\n"
    },
    {
      "commit": "4f234f710f6ab6cd3ed97455715b14e6b4a93f34",
      "tree": "05b54b81da1c076fe663ec0a9efa923c1824c009",
      "parents": [
        "170cd053d8bd24bee7eaf912931428c2c2282ba5",
        "c4f1f8cec1e3c7e3526f6666939f22d23fcd8714"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jun 24 14:25:22 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jun 24 14:25:22 2014 -0700"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/caf/kk_2.7_rb1.40\u0027 into cm-11.0\n\nConflicts:\n\tdrivers/media/video/msm/csi/msm_ispif.c\n\tdrivers/media/video/msm/msm_mctl_pp.c\n\nChange-Id: Iedfd6dc3e8dea93df993e0b043ab5eee55784a12\n"
    },
    {
      "commit": "d8cd0b8e3d557698ed31d3415c488790de8b92ee",
      "tree": "63309b1324d3d1f6038a6d24d56ef91b785fcf33",
      "parents": [
        "c190d7100a65950230ef21c3629a367a4449d7e0"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jun 17 23:41:28 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Wed Jun 18 00:04:36 2014 -0700"
      },
      "message": "USB: msm_otg: Update HTC variant of msm_otg\n\nHTC kernel version: m7stock_3.4.10-g1a25406\n\nChange-Id: I2707390c287a6d2a9f05814aea25362347240048\n"
    },
    {
      "commit": "c190d7100a65950230ef21c3629a367a4449d7e0",
      "tree": "248c149131fd06ce23a3964c0285b5c68dc322e3",
      "parents": [
        "6823498edefcad0152a4ee9ea05253c458729d13"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jun 17 23:01:53 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Wed Jun 18 00:04:35 2014 -0700"
      },
      "message": "power: pm8921: Update HTC pm8921 drivers\n\n* HTC kernel version: m7stock_3.4.10-g1a25406\n\nChange-Id: I5b35f54a48b051b7f3b03f0d867b9d14d9ddf8a2\n"
    },
    {
      "commit": "1996c132e6e6524d2ecb386b8d96b8c32343ca67",
      "tree": "a411dfe837067b8595dd9cf0ce4c0a7b38ce49cd",
      "parents": [
        "bae16898d62fa7b608c17ab1f987d319af28b3e7",
        "15d8f1ef6b18f4c96cc5f95fc3acc204deeb2469"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Tue Jun 17 07:26:27 2014 -0700"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Jun 17 07:26:27 2014 -0700"
      },
      "message": "Merge \"msm: perf: clean up duplicate constraint events\""
    },
    {
      "commit": "c261a5ae9e573d6178bee078bca21064aae24d71",
      "tree": "a2cd70bec61c699137160c163a882ac282487884",
      "parents": [
        "44796beb5ea98011490905a47d3a9b5a2f2bddee",
        "8165d84a0d90b1976ea6bb370a36df1b0cc14c63"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Tue Jun 17 07:26:24 2014 -0700"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Jun 17 07:26:24 2014 -0700"
      },
      "message": "Merge \"Perf: keep events across hotplug\""
    },
    {
      "commit": "4b381ff1ae938cda6935a5a6775f4d315c83b659",
      "tree": "dd8ada2b4035e78e59990f504aa20f87e7ecedb4",
      "parents": [
        "e15e5c0d4d43d84f1e3627fb004561555ab3d9ce"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@codeaurora.org",
        "time": "Tue May 21 10:16:19 2013 -0700"
      },
      "committer": {
        "name": "Syed Rameez Mustafa",
        "email": "rameezmustafa@codeaurora.org",
        "time": "Fri May 23 11:14:42 2014 -0700"
      },
      "message": "sched: Set MC (multi-core) sched domain\u0027s busy_factor attribute to 1\n\nbusy_factor attribute of a scheduler domain causes busy CPUs (CPUs\nthat are not idle) to load balance less frequently in that domain,\nwhich could impact performance by increasing scheduling latency for\ntasks.\n\nAs an example, consider MC scheduler domain\u0027s attribute values of\nmax_interval \u003d 4ms and busy_factor \u003d 64. Further consider\nmax_load_balance_interval \u003d 100 (HZ/10). In this case, a non-idle CPU\ncould put off load balance check in MC domain by 100ms. This\neffectively means that a CPU running a single task in its queue could\nfail to notice increased load on another CPU (that is in same MC\ndomain) for upto 100ms, before picking up load from the overloaded\nCPU. Needless to say, this leads to increased scheduling latency for\ntasks, affecting performance adversely.\n\nBy setting MC domain\u0027s busy_factor value to 1, we limit maximum\ninterval that busy CPU can put off load balance checks to 4ms\n(effectively 10ms, given HZ value of 100).\n\nChange-Id: Id45869d06f5556ea8eec602b65c2ffd2143fe060\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@codeaurora.org\u003e\nSigned-off-by: Syed Rameez Mustafa \u003crameezmustafa@codeaurora.org\u003e\n"
    },
    {
      "commit": "15d8f1ef6b18f4c96cc5f95fc3acc204deeb2469",
      "tree": "89967b918b61ea92591630440c2f9384070976d6",
      "parents": [
        "dc223cee085ac3e417b2c614ca9036bca28560fb"
      ],
      "author": {
        "name": "Neil Leeder",
        "email": "nleeder@codeaurora.org",
        "time": "Mon Oct 21 17:58:20 2013 -0400"
      },
      "committer": {
        "name": "Neil Leeder",
        "email": "nleeder@codeaurora.org",
        "time": "Mon May 19 15:12:29 2014 -0400"
      },
      "message": "msm: perf: clean up duplicate constraint events\n\nEvents with a duplicate constraint are set to state\u003dOFF when detected,\nso that their duplicate counts are not read. However, they were not being\ncleaned up because the core code only cleaned up ACTIVE events.\nThis resulted in counters not being freed and eventually running out\nof resources.\n\nClean up the events with state\u003d\u003dOFF that were marked that way because of\nconstraint duplication.\nEnsure counts are not updated for OFF events.\n\nChange-Id: If532801c79e6ad6809869eb0a3063774f00c92c3\nSigned-off-by: Neil Leeder \u003cnleeder@codeaurora.org\u003e\n"
    },
    {
      "commit": "8165d84a0d90b1976ea6bb370a36df1b0cc14c63",
      "tree": "ef2536e2e36bcfa06f7a7b47b819c48116fedd4f",
      "parents": [
        "e749cc109fc924105f6aa514ee33344da9c597e0"
      ],
      "author": {
        "name": "Neil Leeder",
        "email": "nleeder@codeaurora.org",
        "time": "Mon Apr 08 17:13:21 2013 -0400"
      },
      "committer": {
        "name": "Neil Leeder",
        "email": "nleeder@codeaurora.org",
        "time": "Mon May 19 15:12:26 2014 -0400"
      },
      "message": "Perf: keep events across hotplug\n\nKeep event list alive across a CPU hotplug so that perf\ncan resume when the CPU comes back online. Bring a CPU\nonline when exiting a perf session so it can be cleaned\nup properly.\n\nChange-Id: Ie0e4a43f751beb77afdc84e9d52b21780f279d80\nSigned-off-by: Neil Leeder \u003cnleeder@codeaurora.org\u003e\n"
    },
    {
      "commit": "7e78959eef7ce6771cb87835f475e22dc6672162",
      "tree": "bdf8282aaf5085cd2b76ca447f9755ce24f0f862",
      "parents": [
        "ed80534e15836294bb3bbb8d8afa4904520e7aa6"
      ],
      "author": {
        "name": "Mihir Shete",
        "email": "smihir@codeaurora.org",
        "time": "Thu Mar 13 18:50:49 2014 +0530"
      },
      "committer": {
        "name": "Mihir Shete",
        "email": "smihir@codeaurora.org",
        "time": "Tue May 06 11:38:33 2014 +0530"
      },
      "message": "wcnss: add API to check if wcnss is undergoing an SSR\n\nWlan driver should not read registers from wcnss or\ntry to communicate with the chip when it is undergoing\na subsystem-restart. Added an API with the wcnss platform\ndriver to check if ssr is in progress, this API will be\nused by the wlan driver to protect register access and\nother prohibited operations.\n\nChange-Id: Ia0d93e774af126d84dbaabf5c36a2c90fdbd58be\nCRs-Fixed: 621974\nSigned-off-by: Mihir Shete \u003csmihir@codeaurora.org\u003e\n"
    },
    {
      "commit": "36a093caf736755c3f42cde0abebbf6937f9f3e6",
      "tree": "c4cb589e1abe457ef20e85771acb787a5ddb9b3e",
      "parents": [
        "5cce5d16d13d6bd5f53b2cab181fefa55ae8efad",
        "00fcc691ed4a13522e01cfc1575cb7b984485b0a"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri May 02 22:35:16 2014 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri May 02 22:35:16 2014 -0700"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/caf/kk_2.7_rb1.37\u0027 into cm-11.0\n\nConflicts:\n\tarch/arm/mm/dma-mapping.c\n\tdrivers/media/video/msm/vfe/msm_vfe32.c\n\tnet/wireless/nl80211.c\n\nChange-Id: I4228f28bc74631aba13e1da969c91aaefc463195\n"
    },
    {
      "commit": "b3e3a83489d6420ae8e4f0a65f56ea6b57a39a70",
      "tree": "2de3a5837da8662f768b0f7c2b6cedddd589056d",
      "parents": [
        "7ff32f83aaa63705c0ea1cf0c1bee1da4e51c3cf"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Sep 08 16:58:48 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 23:37:11 2014 -0700"
      },
      "message": "input: akm8963: Add AKM8963 compass driver for HTC\n\n* HTC kernel version: m4-jb-crc-3.4.10-e831392\n\nChange-Id: Ib3ee42ec35011b4845e8c0309d943365c440ce5c\n"
    },
    {
      "commit": "7ff32f83aaa63705c0ea1cf0c1bee1da4e51c3cf",
      "tree": "ac62152573d4c9fea53a47bcae0c4f0b5210f348",
      "parents": [
        "803bf55c24689bf7957c8c72a3ca315f1f9ca16b"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Sep 08 23:34:34 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 23:37:11 2014 -0700"
      },
      "message": "leds: pm8038: Add HTC PM8038 LED driver\n\n* HTC kernel version: m4-jb-crc-3.4.10-e831392\n\nChange-Id: I7caee62d870a8bc506236df735efc32642e92bde\n"
    },
    {
      "commit": "803bf55c24689bf7957c8c72a3ca315f1f9ca16b",
      "tree": "c5368121e150f35be851f4f6122a13fc1cbd9e20",
      "parents": [
        "c7d06a6ebe93ba263667a232bf421109b00a1206"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Sep 08 21:17:57 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 23:37:10 2014 -0700"
      },
      "message": "mfd: pm8038: use HTC headers if building for HTC device\n\nChange-Id: I61dbcc625013632a84810534f1780910d0f627d1\n"
    },
    {
      "commit": "c7d06a6ebe93ba263667a232bf421109b00a1206",
      "tree": "d94547fecefe6143c5bc844aea3f3e205b5f9b7a",
      "parents": [
        "fbd07a536b489555751b9aab7747e1ebdcc2d29b"
      ],
      "author": {
        "name": "h8rift",
        "email": "h8rift@gmail.com",
        "time": "Sun Jan 26 20:47:35 2014 -0500"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 23:36:24 2014 -0700"
      },
      "message": "power: pm8921-bms: Increase M4 maximum allowable LUT rows\n\nChange-Id: I3171042e6372641f598253571545bf5b398d0eb3\n"
    },
    {
      "commit": "9a59d64256bad8ce156acd44c533f66cf9879c95",
      "tree": "c68f53d75330e4d9857dcd1f856d1d34c8c5d0f3",
      "parents": [
        "b0de7572f02ecc18dd73e653e4f46bf68ed1a21f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 26 18:44:33 2013 +0100"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 00:49:58 2014 -0700"
      },
      "message": "stop_machine: Mark per cpu stopper enabled early\n\ncommit 14e568e78 (stop_machine: Use smpboot threads) introduced the\nfollowing regression:\n\nBefore this commit the stopper enabled bit was set in the online\nnotifier.\n\nCPU0\t\t\t\tCPU1\ncpu_up\n\t\t\t\tcpu online\nhotplug_notifier(ONLINE)\n  stopper(CPU1)-\u003eenabled \u003d true;\n...\nstop_machine()\n\nThe conversion to smpboot threads moved the enablement to the wakeup\npath of the parked thread. The majority of users seem to have the\nfollowing working order:\n\nCPU0\t\t\t\tCPU1\ncpu_up\n\t\t\t\tcpu online\nunpark_threads()\n  wakeup(stopper[CPU1])\n....\n\t\t\t\tstopper thread runs\n\t\t\t\t  stopper(CPU1)-\u003eenabled \u003d true;\nstop_machine()\n\nBut Konrad and Sander have observed:\n\nCPU0\t\t\t\tCPU1\ncpu_up\n\t\t\t\tcpu online\nunpark_threads()\n  wakeup(stopper[CPU1])\n....\nstop_machine()\n\t\t\t\tstopper thread runs\n\t\t\t\t  stopper(CPU1)-\u003eenabled \u003d true;\n\nNow the stop machinery kicks CPU0 into the stop loop, where it gets\nstuck forever because the queue code saw stopper(CPU1)-\u003eenabled \u003d\u003d\nfalse, so CPU0 waits for CPU1 to enter stomp_machine, but the CPU1\nstopper work got discarded due to enabled \u003d\u003d false.\n\nAdd a pre_unpark function to the smpboot thread descriptor and call it\nbefore waking the thread.\n\nThis fixes the problem at hand, but the stop_machine code should be\nmore robust. The stopper-\u003eenabled flag smells fishy at best.\n\nThanks to Konrad for going through a loop of debug patches and\nproviding the information to decode this issue.\n\nReported-and-tested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nReported-and-tested-by: Sander Eikelenboom \u003clinux@eikelenboom.it\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1302261843240.22263@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nChange-Id: Iaff8824879eb21552fc9e46e259b604dfce113bc\n"
    },
    {
      "commit": "bb32d268211f1c70858a32e1402ecc09af173205",
      "tree": "d8f191500ea1020ed0028fadc23ece0d7c3ee973",
      "parents": [
        "ceced05d7f2bedf5da09f4eb48075339cc23876e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 09 09:33:34 2013 +0200"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 00:49:56 2014 -0700"
      },
      "message": "kthread: Prevent unpark race which puts threads on the wrong cpu\n\nThe smpboot threads rely on the park/unpark mechanism which binds per\ncpu threads on a particular core. Though the functionality is racy:\n\nCPU0\t       \t \tCPU1  \t     \t    CPU2\nunpark(T)\t\t\t\t    wake_up_process(T)\n  clear(SHOULD_PARK)\tT runs\n\t\t\tleave parkme() due to !SHOULD_PARK\n  bind_to(CPU2)\t\tBUG_ON(wrong CPU)\n\nWe cannot let the tasks move themself to the target CPU as one of\nthose tasks is actually the migration thread itself, which requires\nthat it starts running on the target cpu right away.\n\nThe solution to this problem is to prevent wakeups in park mode which\nare not from unpark(). That way we can guarantee that the association\nof the task to the target cpu is working correctly.\n\nAdd a new task state (TASK_PARKED) which prevents other wakeups and\nuse this state explicitly for the unpark wakeup.\n\nPeter noticed: Also, since the task state is visible to userspace and\nall the parked tasks are still in the PID space, its a good hint in ps\nand friends that these tasks aren\u0027t really there for the moment.\n\nThe migration thread has another related issue.\n\nCPU0\t      \t     \t CPU1\nBring up CPU2\ncreate_thread(T)\npark(T)\n wait_for_completion()\n\t\t\t parkme()\n\t\t\t complete()\nsched_set_stop_task()\n\t\t\t schedule(TASK_PARKED)\n\nThe sched_set_stop_task() call is issued while the task is on the\nrunqueue of CPU1 and that confuses the hell out of the stop_task class\non that cpu. So we need the same synchronizaion before\nsched_set_stop_task().\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-and-tested-by: Dave Hansen \u003cdave@sr71.net\u003e\nReported-and-tested-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: Peter Ziljstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: dhillf@gmail.com\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1304091635430.21884@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nChange-Id: If1e9993951c4ad1f6f35ad0698f6ccd05a67e81f\n"
    },
    {
      "commit": "ceced05d7f2bedf5da09f4eb48075339cc23876e",
      "tree": "766043bd6b44b5126b3d68deeef2fda57a15a5e4",
      "parents": [
        "04d903e40c1030e78f5953e7a904f03ab4e4fc34"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 31 12:11:12 2013 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 00:49:56 2014 -0700"
      },
      "message": "smpboot: Allow selfparking per cpu threads\n\nThe stop machine threads are still killed when a cpu goes offline. The\nreason is that the thread is used to bring the cpu down, so it can\u0027t\nbe parked along with the other per cpu threads.\n\nAllow a per cpu thread to be excluded from automatic parking, so it\ncan park itself once it\u0027s done\n\nAdd a create callback function as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Richard Weinberger \u003crw@linutronix.de\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20130131120741.553993267@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nChange-Id: I864f39336a2cb648c518526459929c081f831216\n"
    },
    {
      "commit": "a63b4ccf0332e6ddea65fa473dc0912e8433432f",
      "tree": "f96709aa87d8ea7a4bf81d9c0e54ffa151cb6180",
      "parents": [
        "20bdb6ed0478fc5d79e1fb3f9ae97808a2670fee"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 16 10:42:36 2012 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 00:49:55 2014 -0700"
      },
      "message": "smpboot: Provide infrastructure for percpu hotplug threads\n\nProvide a generic interface for setting up and tearing down percpu\nthreads.\n\nOn registration the threads for already online cpus are created and\nstarted. On deregistration (modules) the threads are stoppped.\n\nDuring hotplug operations the threads are created, started, parked and\nunparked. The datastructure for registration provides a pointer to\npercpu storage space and optional setup, cleanup, park, unpark\nfunctions. These functions are called when the thread state changes.\n\nEach implementation has to provide a function which is queried and\nreturns whether the thread should run and the thread function itself.\n\nThe core code handles all state transitions and avoids duplicated code\nin the call sites.\n\n[ paulmck: Preemption leak fix ]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20120716103948.352501068@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nChange-Id: Ib2ac667cd13cf26a042d65c1b3f20fe7e4b02423\n"
    },
    {
      "commit": "20bdb6ed0478fc5d79e1fb3f9ae97808a2670fee",
      "tree": "196b7fcc431de02fbd3bc0646741d5ac7ba686b1",
      "parents": [
        "d5d863438d56dd89f31d23a350ea745088d1c754"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 16 10:42:36 2012 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Mar 29 00:49:54 2014 -0700"
      },
      "message": "kthread: Implement park/unpark facility\n\nTo avoid the full teardown/setup of per cpu kthreads in the case of\ncpu hot(un)plug, provide a facility which allows to put the kthread\ninto a park position and unpark it when the cpu comes online again.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20120716103948.236618824@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nChange-Id: I05d28788540b666349bafecf6cb3fdc873b6cdde\n"
    },
    {
      "commit": "66d383de0963dd351051304e36247e9a6fa66b77",
      "tree": "5cd17ffcb6edfa4385a2ceddb63ada9efdea2ee1",
      "parents": [
        "c523abc466c9b7c693e4a528ca2f54c6e931b6a6",
        "2606524141e4ff9b6a5d0bcbd9d601dfc5a8285c"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Mar 07 11:56:04 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Mar 07 11:56:04 2014 -0800"
      },
      "message": "Merge tag \u0027v3.4.82\u0027 into cm-11.0\n\nThis is the 3.4.82 stable release\n\nConflicts:\n\tarch/arm/kernel/traps.c\n\tmm/internal.h\n\nChange-Id: Ie3b1ffdfe133e76cfa3eaaa4305535af8490d7cc\n"
    },
    {
      "commit": "c523abc466c9b7c693e4a528ca2f54c6e931b6a6",
      "tree": "c82c97f255a7e2411d85472ae0abb991599193da",
      "parents": [
        "7f81e91dcddec69dc0124e0753e2ba6c1ae3b6b9",
        "9f48c5a49a9f69c98c3ead6bf820072df3f14732"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Mar 07 11:49:08 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Mar 07 11:49:08 2014 -0800"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/kk_2.7_rb1.30\u0027 into cm-11.0\n\nConflicts:\n\tarch/arm/mach-msm/acpuclock-krait.c\n\tdrivers/media/video/msm/actuators/msm_actuator.c\n\tdrivers/media/video/msm/flash.c\n\tdrivers/media/video/msm/msm_camera.c\n\tdrivers/media/video/msm/server/msm_cam_server.c\n\tdrivers/media/video/msm/vfe/msm_vfe32.c\n\tdrivers/uio/uio.c\n\tdrivers/video/au1100fb.c\n\tdrivers/video/au1200fb.c\n\tinclude/media/msm_isp.h\n\tinclude/media/radio-iris.h\n\tnet/ipv4/ping.c\n\nChange-Id: Ic027f55c9667ecccaa35ee4a96ad77dbb1e8708f\n"
    },
    {
      "commit": "f33364e2359ae08121b1981c869e44d4a187f58d",
      "tree": "08a2a2f2bb860ad459d715d9f2a99bf17b30db67",
      "parents": [
        "aa7bdbd9b90a259f8c600cae4fb4f2ef1df6ee45",
        "d950549504d4302846d80b66a000b91a9eae50af"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Fri Mar 07 10:02:54 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Fri Mar 07 10:02:53 2014 -0800"
      },
      "message": "Merge \"nl80211: support vendor-specific events\""
    },
    {
      "commit": "aa7bdbd9b90a259f8c600cae4fb4f2ef1df6ee45",
      "tree": "dedb789e41cb0b11f26e51405f8a2419a21fc58c",
      "parents": [
        "9ad119819d2c7884c9e1836f08627d0e3280b8df",
        "b784fbe8d030a5204126e56727ee63144e16e50b"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Fri Mar 07 10:02:52 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Fri Mar 07 10:02:52 2014 -0800"
      },
      "message": "Merge \"nl80211: vendor command support\""
    },
    {
      "commit": "9ad119819d2c7884c9e1836f08627d0e3280b8df",
      "tree": "a77baa15e4248c6ccc2c60b68a82eb2624b93902",
      "parents": [
        "4077fccfa88d3336f7c006bb75bdf8c59bb94ad1",
        "60a48a89ebd20ef285636719a7f0a02dd8175021"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Fri Mar 07 10:02:51 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Fri Mar 07 10:02:51 2014 -0800"
      },
      "message": "Merge \"cfg80211: pass station supported channel and oper class info\""
    },
    {
      "commit": "f5a4c4b79e57f875b6788f6f8352ca246bfd8450",
      "tree": "936b2200d4581b36faa0c94fab560013486885be",
      "parents": [
        "e2d51f27e382be7b70a755f3ea2fbbeacdb50834"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 17 17:15:29 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 20 10:45:32 2014 -0800"
      },
      "message": "sched/nohz: Fix rq-\u003ecpu_load calculations some more\n\ncommit 5aaa0b7a2ed5b12692c9ffb5222182bd558d3146 upstream.\n\nFollow up on commit 556061b00 (\"sched/nohz: Fix rq-\u003ecpu_load[]\ncalculations\") since while that fixed the busy case it regressed the\nmostly idle case.\n\nAdd a callback from the nohz exit to also age the rq-\u003ecpu_load[]\narray. This closes the hole where either there was no nohz load\nbalance pass during the nohz, or there was a \u0027significant\u0027 amount of\nidle time between the last nohz balance and the nohz exit.\n\nSo we\u0027ll update unconditionally from the tick to not insert any\naccidental 0 load periods while busy, and we try and catch up from\nnohz idle balance and nohz exit. Both these are still prone to missing\na jiffy, but that has always been the case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: pjt@google.com\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-kt0trz0apodbf84ucjfdbr1a@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d873ad3ccbdaa6afe0ea0348a4bbcc11095dbf27",
      "tree": "71bb11151f90068edfb5bb92c8e924f218fb654e",
      "parents": [
        "3b741450280c7e8ffc4f5225428b047190b94b35"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Wed Feb 19 00:09:40 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Feb 20 10:08:09 2014 -0800"
      },
      "message": "misc: Remove psensor, pocket mode code\n\nChange-Id: Iaccfbd8c2da202dfabf4e947389bcfb82b4a8b13\n"
    },
    {
      "commit": "d950549504d4302846d80b66a000b91a9eae50af",
      "tree": "cee8c8bff754058965e1951d6d1c620ac89e6094",
      "parents": [
        "b784fbe8d030a5204126e56727ee63144e16e50b"
      ],
      "author": {
        "name": "Leo Chang",
        "email": "leochang@codeaurora.org",
        "time": "Wed Jan 15 19:52:00 2014 -0800"
      },
      "committer": {
        "name": "Mahesh A Saptasagar",
        "email": "msapta@codeaurora.org",
        "time": "Thu Feb 20 21:17:51 2014 +0530"
      },
      "message": "nl80211: support vendor-specific events\n\nIn addition to vendor-specific commands, also support vendor-specific\nevents. These must be registered with cfg80211 before they can be used.\nThey\u0027re also advertised in nl80211 in the wiphy information so that\nuserspace knows can be expected. The events themselves are sent on a\nnew multicast group called \"vendor\".\n\nChange-Id: I184aaa9f9e8461aee572f7d0a35916cd668c2218\nCRs-fixed: 576020\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nGit-commit: 567ffc3509b2d3f965a49a18631d3da7f9a96d4f\nGit-repo: https://git.kernel.org/cgit/linux/kernel/git/linville/wireless-next.git\nSigned-off-by: Leo Chang \u003cleochang@codeaurora.org\u003e\n"
    },
    {
      "commit": "b784fbe8d030a5204126e56727ee63144e16e50b",
      "tree": "bcc9f447b5e1dfb6b220f1c028dd065b4e7ea013",
      "parents": [
        "60a48a89ebd20ef285636719a7f0a02dd8175021"
      ],
      "author": {
        "name": "Leo Chang",
        "email": "leochang@codeaurora.org",
        "time": "Wed Jan 15 19:22:28 2014 -0800"
      },
      "committer": {
        "name": "Mahesh A Saptasagar",
        "email": "msapta@codeaurora.org",
        "time": "Thu Feb 20 20:51:24 2014 +0530"
      },
      "message": "nl80211: vendor command support\n\nAdd support for vendor-specific commands to nl80211. This is\nintended to be used for really vendor-specific functionality\nthat can\u0027t be implemented in a generic fashion for any reason.\nIt\u0027s *NOT* intended to be used for any normal/generic feature\nor any optimisations that could be implemented across drivers.\nCurrently, only vendor commands (with replies) are supported,\nno dump operations or vendor-specific notifications.\nAlso add a function wdev_to_ieee80211_vif() to mac80211 which\nis needed for mac80211-based drivers wanting to implement any\nvendor commands.\n\nChange-Id: If73cf90d152ca0888a563cf4ae685aad9cec6443\nCRs-fixed: 576020\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nGit-commit: ad7e718c9b4f717823fd920a0103f7b0fb06183f\nGit-repo: https://git.kernel.org/cgit/linux/kernel/git/linville/wireless-next.git\nSigned-off-by: Leo Chang \u003cleochang@codeaurora.org\u003e\n"
    },
    {
      "commit": "60a48a89ebd20ef285636719a7f0a02dd8175021",
      "tree": "8fa5e58b0a189001c136ad4a191b11aa2863eae4",
      "parents": [
        "08e79dc6850c649f8d04aa0c039ea2a00ec60297"
      ],
      "author": {
        "name": "Naresh Jayaram",
        "email": "njayar@codeaurora.org",
        "time": "Fri Jan 03 14:46:34 2014 +0530"
      },
      "committer": {
        "name": "Mahesh A Saptasagar",
        "email": "msapta@codeaurora.org",
        "time": "Thu Feb 20 20:42:04 2014 +0530"
      },
      "message": "cfg80211: pass station supported channel and oper class info\n\nThe information of the peer\u0027s supported channels and supported operating\nclasses are required for the driver to perform TDLS off channel\noperations. This commit enhances the function nl80211_(new)set_station\nto pass this information of the peer to the driver.\n\nCRs-fixed: 595620\nChange-Id: I1d630deb4cf435e7f72e3a59276d3771c2b03114\nSigned-off-by: Naresh Jayaram \u003cnjayar@codeaurora.org\u003e\n"
    },
    {
      "commit": "dbf3239455b155c3e72deacda93ef3a041e190c9",
      "tree": "c7a8cfce370fa0de4cdeaab1b75925061fe9ccf1",
      "parents": [
        "f61eb9ceb26cee3fdbb8c7a4920f171f7661fb4f"
      ],
      "author": {
        "name": "Ying Xue",
        "email": "ying.xue@windriver.com",
        "time": "Tue Jul 17 15:03:43 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 13 11:51:19 2014 -0800"
      },
      "message": "sched/rt: Avoid updating RT entry timeout twice within one tick period\n\ncommit 57d2aa00dcec67afa52478730f2b524521af14fb upstream.\n\nThe issue below was found in 2.6.34-rt rather than mainline rt\nkernel, but the issue still exists upstream as well.\n\nSo please let me describe how it was noticed on 2.6.34-rt:\n\nOn this version, each softirq has its own thread, it means there\nis at least one RT FIFO task per cpu. The priority of these\ntasks is set to 49 by default. If user launches an RT FIFO task\nwith priority lower than 49 of softirq RT tasks, it\u0027s possible\nthere are two RT FIFO tasks enqueued one cpu runqueue at one\nmoment. By current strategy of balancing RT tasks, when it comes\nto RT tasks, we really need to put them off to a CPU that they\ncan run on as soon as possible. Even if it means a bit of cache\nline flushing, we want RT tasks to be run with the least latency.\n\nWhen the user RT FIFO task which just launched before is\nrunning, the sched timer tick of the current cpu happens. In this\ntick period, the timeout value of the user RT task will be\nupdated once. Subsequently, we try to wake up one softirq RT\ntask on its local cpu. As the priority of current user RT task\nis lower than the softirq RT task, the current task will be\npreempted by the higher priority softirq RT task. Before\npreemption, we check to see if current can readily move to a\ndifferent cpu. If so, we will reschedule to allow the RT push logic\nto try to move current somewhere else. Whenever the woken\nsoftirq RT task runs, it first tries to migrate the user FIFO RT\ntask over to a cpu that is running a task of lesser priority. If\nmigration is done, it will send a reschedule request to the found\ncpu by IPI interrupt. Once the target cpu responds the IPI\ninterrupt, it will pick the migrated user RT task to preempt its\ncurrent task. When the user RT task is running on the new cpu,\nthe sched timer tick of the cpu fires. So it will tick the user\nRT task again. This also means the RT task timeout value will be\nupdated again. As the migration may be done in one tick period,\nit means the user RT task timeout value will be updated twice\nwithin one tick.\n\nIf we set a limit on the amount of cpu time for the user RT task\nby setrlimit(RLIMIT_RTTIME), the SIGXCPU signal should be posted\nupon reaching the soft limit.\n\nBut exactly when the SIGXCPU signal should be sent depends on the\nRT task timeout value. In fact the timeout mechanism of sending\nthe SIGXCPU signal assumes the RT task timeout is increased once\nevery tick.\n\nHowever, currently the timeout value may be added twice per\ntick. So it results in the SIGXCPU signal being sent earlier\nthan expected.\n\nTo solve this issue, we prevent the timeout value from increasing\ntwice within one tick time by remembering the jiffies value of\nlast updating the timeout. As long as the RT task\u0027s jiffies is\ndifferent with the global jiffies value, we allow its timeout to\nbe updated.\n\nSigned-off-by: Ying Xue \u003cying.xue@windriver.com\u003e\nSigned-off-by: Fan Du \u003cfan.du@windriver.com\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1342508623-2887-1-git-send-email-ying.xue@windriver.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n[ lizf: backported to 3.4: adjust context ]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "0cc70c5ec55e404dd4c970a3566dc60508088932",
      "tree": "45496133db35e147867f02d0a77e889a387cc82c",
      "parents": [
        "0b909374b96f4ac56fcb18f3a94ff5c359ab46fa"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Nov 21 17:58:08 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 13 11:51:11 2014 -0800"
      },
      "message": "ore: Fix wrong math in allocation of per device BIO\n\ncommit aad560b7f63b495f48a7232fd086c5913a676e6f upstream.\n\nAt IO preparation we calculate the max pages at each device and\nallocate a BIO per device of that size. The calculation was wrong\non some unaligned corner cases offset/length combination and would\nmake prepare return with -ENOMEM. This would be bad for pnfs-objects\nthat would in that case IO through MDS. And fatal for exofs were it\nwould fail writes with EIO.\n\nFix it by doing the proper math, that will work in all cases. (I\nran a test with all possible offset/length combinations this time\nround).\n\nAlso when reading we do not need to allocate for the parity units\nsince we jump over them.\n\nAlso lower the max_io_length to take into account the parity pages\nso not to allocate BIOs bigger than PAGE_SIZE\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "cd1188e7a59ca6c03cab5fe490bf18888a3ca5dc",
      "tree": "0190e9cc1c4755e196580ebe407525e9b87f715e",
      "parents": [
        "559316545580bbc61cf839e164c8a4c871c6ba42"
      ],
      "author": {
        "name": "AKASHI Takahiro",
        "email": "takahiro.akashi@linaro.org",
        "time": "Mon Jan 13 13:33:09 2014 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 13 11:51:08 2014 -0800"
      },
      "message": "audit: correct a type mismatch in audit_syscall_exit()\n\ncommit 06bdadd7634551cfe8ce071fe44d0311b3033d9e upstream.\n\naudit_syscall_exit() saves a result of regs_return_value() in intermediate\n\"int\" variable and passes it to __audit_syscall_exit(), which expects its\nsecond argument as a \"long\" value.  This will result in truncating the\nvalue returned by a system call and making a wrong audit record.\n\nI don\u0027t know why gcc compiler doesn\u0027t complain about this, but anyway it\ncauses a problem at runtime on arm64 (and probably most 64-bit archs).\n\nSigned-off-by: AKASHI Takahiro \u003ctakahiro.akashi@linaro.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "7f285eb6d3ab8aca873632bfc9ff6faf645a246b",
      "tree": "f3d8668126d79b01fb95dc61bbf133a0cfe121db",
      "parents": [
        "63d6049bf5ff893a101bb8c41bd4ba0cd0ee967c"
      ],
      "author": {
        "name": "Mahesh A Saptasagar",
        "email": "msapta@codeaurora.org",
        "time": "Tue Feb 11 13:39:05 2014 +0530"
      },
      "committer": {
        "name": "Mahesh A Saptasagar",
        "email": "msapta@codeaurora.org",
        "time": "Tue Feb 11 13:47:13 2014 +0530"
      },
      "message": "WLAN subsystem: Sysctl support for key TCP/IP parameters\n\nIt has been observed that default values for some of key tcp/ip\nparameters are affecting the tput/performance of the system. Hence\nextending configuration capabilities to TCP/Ip stack through\nsysctl interface.\n\nChange-Id: I0c99d5b50cbe0d6496e40d391eacc12b0c62dbed\nCRs-Fixed: 507581\nSigned-off-by: Mahesh A Saptasagar \u003cmsapta@codeaurora.org\u003e\n"
    },
    {
      "commit": "50d8f1b5c57bb29f02ab5834be334b4f7922b856",
      "tree": "3a9ead44eb4186570bf51ba5f20d3d6030ae271f",
      "parents": [
        "18c8053c6b59f11bcd941850c1d13b3b502e1e74"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Nov 21 14:32:02 2013 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 06 11:05:46 2014 -0800"
      },
      "message": "mm: hugetlbfs: fix hugetlbfs optimization\n\ncommit 27c73ae759774e63313c1fbfeb17ba076cea64c5 upstream.\n\nCommit 7cb2ef56e6a8 (\"mm: fix aio performance regression for database\ncaused by THP\") can cause dereference of a dangling pointer if\nsplit_huge_page runs during PageHuge() if there are updates to the\ntail_page-\u003eprivate field.\n\nAlso it is repeating compound_head twice for hugetlbfs and it is running\ncompound_head+compound_trans_head for THP when a single one is needed in\nboth cases.\n\nThe new code within the PageSlab() check doesn\u0027t need to verify that the\nTHP page size is never bigger than the smallest hugetlbfs page size, to\navoid memory corruption.\n\nA longstanding theoretical race condition was found while fixing the\nabove (see the change right after the skip_unlock label, that is\nrelevant for the compound_lock path too).\n\nBy re-establishing the _mapcount tail refcounting for all compound\npages, this also fixes the below problem:\n\n  echo 0 \u003e/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages\n\n  BUG: Bad page state in process bash  pfn:59a01\n  page:ffffea000139b038 count:0 mapcount:10 mapping:          (null) index:0x0\n  page flags: 0x1c00000000008000(tail)\n  Modules linked in:\n  CPU: 6 PID: 2018 Comm: bash Not tainted 3.12.0+ #25\n  Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011\n  Call Trace:\n    dump_stack+0x55/0x76\n    bad_page+0xd5/0x130\n    free_pages_prepare+0x213/0x280\n    __free_pages+0x36/0x80\n    update_and_free_page+0xc1/0xd0\n    free_pool_huge_page+0xc2/0xe0\n    set_max_huge_pages.part.58+0x14c/0x220\n    nr_hugepages_store_common.isra.60+0xd0/0xf0\n    nr_hugepages_store+0x13/0x20\n    kobj_attr_store+0xf/0x20\n    sysfs_write_file+0x189/0x1e0\n    vfs_write+0xc5/0x1f0\n    SyS_write+0x55/0xb0\n    system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Khalid Aziz \u003ckhalid.aziz@oracle.com\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nTested-by: Khalid Aziz \u003ckhalid.aziz@oracle.com\u003e\nCc: Pravin Shelar \u003cpshelar@nicira.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Guillaume Morin \u003cguillaume@morinfr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n\n"
    },
    {
      "commit": "9cd088e4734e338dbe78e88446a58112dfbf5920",
      "tree": "fb4eddcab956471753f8e03fe0b6dd85b7421f4a",
      "parents": [
        "d042ae1f75425b192b2772a384753c4637063f9e",
        "0e1a1a0c3e633fff625e0be08979ef921cd63e9a"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Wed Feb 05 17:41:58 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Wed Feb 05 17:41:58 2014 -0800"
      },
      "message": "Merge \"msm-camera: Validate VFE command id\""
    },
    {
      "commit": "e75b9c0357c3c308e908337f932ae47ce855563d",
      "tree": "f26a84d2cdfff53ff3cfe4e050abc988448f2844",
      "parents": [
        "6912b87093401b69437240d6b4c558e8665e7c58"
      ],
      "author": {
        "name": "Erwin Mascher",
        "email": "erwin.mascher@gmail.com",
        "time": "Wed Feb 05 13:36:48 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Wed Feb 05 15:27:44 2014 -0800"
      },
      "message": "input: ewtzmu2: Fix gyro off status checks\n\nChange-Id: Icf52849edadf54020ca90f581be336799ab90368\n"
    },
    {
      "commit": "e1d3edb06e59ac8b3ed75909a02c4f9b88c91a98",
      "tree": "355a6902ffe76ee3937073ae0945a9620000339d",
      "parents": [
        "1c651f39f84c2d666b0d7895114b9532a41b945c",
        "f704820d27f72bc596d47a1119514a67b91a7b7c"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Mon Feb 03 20:53:24 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Feb 03 20:53:24 2014 -0800"
      },
      "message": "Merge \"net: ipv6: Add IPv6 support to the ping socket.\""
    },
    {
      "commit": "1c651f39f84c2d666b0d7895114b9532a41b945c",
      "tree": "97e4f73a8cf82d7103c223e7c822d951a38e1e17",
      "parents": [
        "15ed2adb6ccf0ea7c11be4ec56e00a25cf908fb3",
        "dce956192e60503d992558fea5ea5665fdfc929a"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Mon Feb 03 20:53:23 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Feb 03 20:53:23 2014 -0800"
      },
      "message": "Merge \"ipv6: introdcue __ipv6_addr_needs_scope_id and ipv6_iface_scope_id helper functions\""
    },
    {
      "commit": "0e1a1a0c3e633fff625e0be08979ef921cd63e9a",
      "tree": "985c82f84063a1e1a569e4ae67fae4e97e3e1d2c",
      "parents": [
        "0e2d3ca688bfd757b96176c9f21685f15e9c767e"
      ],
      "author": {
        "name": "Katta Santhisindhu",
        "email": "kattas@codeaurora.org",
        "time": "Fri Jan 31 11:32:36 2014 +0530"
      },
      "committer": {
        "name": "Katta Santhisindhu",
        "email": "kattas@codeaurora.org",
        "time": "Fri Jan 31 12:25:12 2014 +0530"
      },
      "message": "msm-camera: Validate VFE command id\n\nValidating VFE command id to avoid memory related corruptions.\n\nChange-Id: I35ce2ed8514e0112b996ce05be6e6f505cdb6e60\nCRs-Fixed: 563542\nSigned-off-by: Katta Santhisindhu \u003ckattas@codeaurora.org\u003e\n"
    },
    {
      "commit": "f704820d27f72bc596d47a1119514a67b91a7b7c",
      "tree": "dca4b1daf6ef90080e637c7956f8871d7ae644cf",
      "parents": [
        "dce956192e60503d992558fea5ea5665fdfc929a"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 16 22:09:49 2013 +0000"
      },
      "committer": {
        "name": "Subash Abhinov Kasiviswanathan",
        "email": "subashab@codeaurora.org",
        "time": "Wed Jan 29 10:02:50 2014 -0700"
      },
      "message": "net: ipv6: Add IPv6 support to the ping socket.\n\n[backport of net-next 6d0bfe22611602f36617bc7aa2ffa1bbb2f54c67]\n\nThis adds the ability to send ICMPv6 echo requests without a\nraw socket. The equivalent ability for ICMPv4 was added in\n2011.\n\nInstead of having separate code paths for IPv4 and IPv6, make\nmost of the code in net/ipv4/ping.c dual-stack and only add a\nfew IPv6-specific bits (like the protocol definition) to a new\nnet/ipv6/ping.c. Hopefully this will reduce divergence and/or\nduplication of bugs in the future.\n\nCaveats:\n\n- Setting options via ancillary data (e.g., using IPV6_PKTINFO\n  to specify the outgoing interface) is not yet supported.\n- There are no separate security settings for IPv4 and IPv6;\n  everything is controlled by /proc/net/ipv4/ping_group_range.\n- The proc interface does not yet display IPv6 ping sockets\n  properly.\n\nTested with a patched copy of ping6 and using raw socket calls.\nCompiles and works with all of CONFIG_IPV6\u003d{n,m,y}.\n\nCRs-Fixed: 573548\nChange-Id: I0081b4654dd54b12c8f233e00e18943582aa2142\nSigned-off-by: Lorenzo Colitti \u003clorenzo@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n[lorenzo@google.com: backported to 3.4]\nSigned-off-by: Lorenzo Colitti \u003clorenzo@google.com\u003e\nGit-commit: 1f0675844e3b63a765e5bd32bc5af051ccd951c0\nGit-repo: https://android.googlesource.com/kernel/common\n[subashab@codeaurora.org : resolve trivial merge conflicts]\nSigned-off-by: Subash Abhinov Kasiviswanathan \u003csubashab@codeaurora.org\u003e\nSigned-off-by: Ian Maund \u003cimaund@codeaurora.org\u003e\n"
    },
    {
      "commit": "dce956192e60503d992558fea5ea5665fdfc929a",
      "tree": "eaa55b05bc7628622dacac5de1b6d9dcfc7dda76",
      "parents": [
        "78617601ecb1f3b0a2c1d7cf4eb97a0ebccc8f03"
      ],
      "author": {
        "name": "Hannes Frederic Sowa",
        "email": "hannes@stressinduktion.org",
        "time": "Tue Jan 21 11:26:33 2014 -0700"
      },
      "committer": {
        "name": "Subash Abhinov Kasiviswanathan",
        "email": "subashab@codeaurora.org",
        "time": "Wed Jan 29 09:50:59 2014 -0700"
      },
      "message": "ipv6: introdcue __ipv6_addr_needs_scope_id and ipv6_iface_scope_id helper functions\n\n[net-next commit b7ef213ef65256168df83ddfbb8131ed9adc10f9]\n\n__ipv6_addr_needs_scope_id checks if an ipv6 address needs to supply\na \u0027sin6_scope_id !\u003d 0\u0027. \u0027sin6_scope_id !\u003d 0\u0027 was enforced in case\nof link-local addresses. To support interface-local multicast these\nchecks had to be enhanced and are now consolidated into these new helper\nfunctions.\n\nv2:\na) migrated to struct ipv6_addr_props\n\nv3:\na) reverted changes for ipv6_addr_props\nb) test for address type instead of comparing scope\n\nv4:\na) unchanged\n\nCRs-Fixed: 573548\nChange-Id: Id6fc54cec61f967928e08a9eba4f857157d973a3\nSuggested-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nCc: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Hannes Frederic Sowa \u003channes@stressinduktion.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nGit-commit: 6607cf0ded9a5f456295477bb1215351fce38d23\nGit-repo: https://android.googlesource.com/kernel/common/\nSigned-off-by: Subash Abhinov Kasiviswanathan \u003csubashab@codeaurora.org\u003e\n"
    },
    {
      "commit": "0e2d3ca688bfd757b96176c9f21685f15e9c767e",
      "tree": "b13d057d4f989438595fa5ef39202ff2c79e4032",
      "parents": [
        "78617601ecb1f3b0a2c1d7cf4eb97a0ebccc8f03"
      ],
      "author": {
        "name": "Leo Chang",
        "email": "leochang@codeaurora.org",
        "time": "Thu Nov 14 15:08:24 2013 -0800"
      },
      "committer": {
        "name": "Hardik Kantilal Patel",
        "email": "hkpatel@codeaurora.org",
        "time": "Mon Jan 27 16:27:52 2014 +0530"
      },
      "message": "wlan: Store avoid channel list\n\nStore avoid channel list into recoverable location.\nIf Softap mode detects current channel is not safe to use,\nWLAN kernel module will be restarted.\nThen WLAN kernel module internal storage will lost\nunsafe channel information.\nTo avoid start softap with unsafe channel, channel information\nshould be stored in static location.\n\nChange-Id: I5a6d7ab7314936d7bbaaf7a005e58179a4dc0613\nCRs-fixed: 576020\nSigned-off-by: Leo Chang \u003cleochang@codeaurora.org\u003e\n"
    },
    {
      "commit": "6d4a1b281860d9b172c2603f16e8133e1993c6ac",
      "tree": "ca32619f449b0bb366c6c53a7ead5edb1373cbf2",
      "parents": [
        "424ceafa9a41c00542e8971bc6acb2e0973439e3",
        "a02803a55d61f7839338a60d2655b28a87a1714d"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Mon Jan 20 17:11:34 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Jan 20 17:11:33 2014 -0800"
      },
      "message": "Merge \"kernel/msm: Add qrngp header file\""
    },
    {
      "commit": "1f273c5b2a4bade61c572366e2408e395e509c6f",
      "tree": "ec8b3be1bf99cc4fe2046e7c736c3acfa82fc093",
      "parents": [
        "016ae6065879931ef96ae5a927c004a2910f66a4",
        "7b3cf42794302d759bd6146cdcdff9563a40d02e"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Mon Jan 20 01:04:46 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Jan 20 01:04:46 2014 -0800"
      },
      "message": "Merge \"wcnss: Add support to configure the Wlan MAC addr\""
    },
    {
      "commit": "1bc7b1cc01bfa3bdde33fb9ffd34fa3c0cb0306c",
      "tree": "6994dd52f2320985d2ac5c2da646b4a361e9aacc",
      "parents": [
        "f26ba13ccf5d14cf49c6502cf662e4a8ff711355"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Wed Jan 08 00:24:20 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Jan 18 22:09:34 2014 -0800"
      },
      "message": "ASoC: msm: Add support for 24-bit output path\n\nChange-Id: I9c0c2e04fec3afe0df0f80188bc38e68d2d3074f\n"
    },
    {
      "commit": "d01e35ffcf7fc59e32294c86da39b0d1775dd32b",
      "tree": "2c913795a4917fbc48fa1d11fc342d806d6e0d2c",
      "parents": [
        "5974b2488f5251d293b03fb018b57d8eac9e61ad"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Mon Jan 06 00:08:51 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Jan 18 01:01:59 2014 -0800"
      },
      "message": "msm: HTC: Update HTC battery drivers\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: I69b7420a33199b5a48119d846c5fdb221abe2d65\n"
    },
    {
      "commit": "0810abc9daf4996424d6e0450dfcae36ddd72ac8",
      "tree": "83838097a308bac0171ad91b07dd4c61b67dcfff",
      "parents": [
        "4b3870c4b586d539347a645df64fa591d5f5c7f7"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 07 16:33:21 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Jan 18 01:01:56 2014 -0800"
      },
      "message": "input: touchscreen: synaptics_3200: Update Synaptics 3200 driver\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Icfc4997d7d6f6257c8f947f2d50eb455481f8832\n"
    },
    {
      "commit": "8923f4a7666a738f199c9e34e642dcea2707518e",
      "tree": "238886889905ac04c867eb80629adfe9ff4f5b14",
      "parents": [
        "55adfda2bb5e70964c35c2c0904781d1979fd2f0"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 07 12:43:27 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:06 2014 -0800"
      },
      "message": "input: mpu3050: Update HTC version of MPU3050 sensor\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: If99645b2d370da57c359557cdd2b3b0a3be19531\n"
    },
    {
      "commit": "84cecde8fb57a8039178e91e358cf9a53081a5e4",
      "tree": "7d9a849d3dc2e6e6c3785b1299eac26d99a38fa8",
      "parents": [
        "e777726150be031fa4578b5e583d39b59cb1665a"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 07 12:01:50 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:06 2014 -0800"
      },
      "message": "input: cm3629: Update CM3629 proximity/light sensor\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Iccb11b0fe343f063aab0e05ea9b0d9119fcfa1f9\n"
    },
    {
      "commit": "e777726150be031fa4578b5e583d39b59cb1665a",
      "tree": "632c407bc55d3ed21df607d1bc3961b94d9d92e2",
      "parents": [
        "760fa6fd3f0df05f3cf0a5661b2cb4ab686c7f9e"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 07 00:09:06 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:06 2014 -0800"
      },
      "message": "leds: leds-pm8xxx: Update HTC leds-pm8xxx variant\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: If5c4fa4941f049b0e4be7f6b50ecf1703a444883\n"
    },
    {
      "commit": "760fa6fd3f0df05f3cf0a5661b2cb4ab686c7f9e",
      "tree": "c6447b78bdf3466fea96cdef2dc4fe97f8ec1c00",
      "parents": [
        "6e3ffcee421e94a7390b4037d083d182afaf2493"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Mon Jan 06 00:28:53 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:06 2014 -0800"
      },
      "message": "power: pm8921-charger: Update HTC pm8921 drivers\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Idaa067e6f46de61b4ba62576142a94c45c08425b\n"
    },
    {
      "commit": "6e3ffcee421e94a7390b4037d083d182afaf2493",
      "tree": "bbeddf65611f47df990475b4a6a5aa9b5049f37b",
      "parents": [
        "3db2218ca3694a6c945b2e4477829a1396cee9ee"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 12 21:44:31 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:05 2014 -0800"
      },
      "message": "msm: camera: Update HTC camera stack drivers\n\n* HTC kernel version: m7-jb-3.4.10-e22f38b\n\nChange-Id: Ie3001d30ee46649668708f20ec0a24d5e71889a1\n"
    },
    {
      "commit": "291b292fc9e0736b5ddc7412bb0d6da047807693",
      "tree": "6a7975fb5f0100181322c9b06f3733db069a62b0",
      "parents": [
        "37ac070ec93c4587a7cd75795e84219886679d70"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 12 20:38:35 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:05 2014 -0800"
      },
      "message": "msm: camera: yushanII: Import HTC Yushan II driver\n\n* HTC kernel version: m7-jb-3.4.10-e22f38b\n\nChange-Id: I81dc50d40033d3654d426d753baff524641744d4\n"
    },
    {
      "commit": "704908007e71d7128e99443b8e650610434535b4",
      "tree": "968dec8cf0267005c1ed29a7d992241f69d466a6",
      "parents": [
        "937c596c6bad3d85bd5c407c6c91bd56b2ba28c9"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 22:04:38 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:04 2014 -0800"
      },
      "message": "msm_serial_hs_cir: Add HTC CIR serial driver\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: I738963154d7b29aec19190f667082f2e66578a00\n"
    },
    {
      "commit": "937c596c6bad3d85bd5c407c6c91bd56b2ba28c9",
      "tree": "689f634c8cbf690ab6f16db59327aeb3a9f616af",
      "parents": [
        "0a7d294a979ba4c97bd34d096ff21bbae732cd5f"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 21:50:52 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:04 2014 -0800"
      },
      "message": "input: bma250_bosch: Add HTC variant of BMA250 sensor\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Iea33decb7b9f79396c08acfccf13c2452299edb1\n"
    },
    {
      "commit": "0a7d294a979ba4c97bd34d096ff21bbae732cd5f",
      "tree": "c8579897c3476a7971ff6545c973cdb72843d6a6",
      "parents": [
        "9dc34f38fdbd841a6d5f1b0ee0a34e2c6b6581a8"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 21:41:29 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:04 2014 -0800"
      },
      "message": "input: akm8963_nst: Add HTC variant of AKM8963 compass\n\nHTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Idde00c0369157833aabcc444f0338062e566d1aa\n"
    },
    {
      "commit": "9dc34f38fdbd841a6d5f1b0ee0a34e2c6b6581a8",
      "tree": "09a8a743a8cc6dc1f9ae1df26f69858a5d80d560",
      "parents": [
        "20861837e09aa5242137caa2176ae3ecf567851b"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 00:13:45 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:04 2014 -0800"
      },
      "message": "misc: rt5501: Add HTC RT5501 Amp driver\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: I0b067aebecd6c36aa3bdeb32fad2b30aadc11f49\n"
    },
    {
      "commit": "20861837e09aa5242137caa2176ae3ecf567851b",
      "tree": "ee29b886ad6fb0bb288c68d3d2607123dd32276c",
      "parents": [
        "be0391a6808085c1d16b87d8be2ddad8cea8c89a"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 00:09:42 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:03 2014 -0800"
      },
      "message": "misc: tfa9887: Add HTC TFA9887 Amp driver\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: I8fbeff195ff11497f9fef8b1d8196d4c76eaaa6b\n"
    },
    {
      "commit": "7f6505ef0fd4380c0f8c2930e146d072c5994db4",
      "tree": "1fed396a4b9342b5bba8013ec14d89e8618cd5fc",
      "parents": [
        "95e01d0cbdcff5d763ae9676766666796c70ec5a"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Mon Jan 13 23:54:39 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:03 2014 -0800"
      },
      "message": "msm: mdm2: Add HTC modem initialization code\n\nChange-Id: I49ca00e20fa5c335ab8f323762e91743dfaf85d7\n"
    },
    {
      "commit": "628f0c18a9c791a6fc1e83a9ef760e4caeee7382",
      "tree": "4b5e0808a40829e6d11b802c3600b7f9adf6d41e",
      "parents": [
        "c92e49eaca7fd2f9657eaa6e1548257249fbf234"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Mon May 21 20:20:05 2012 +0300"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:02 2014 -0800"
      },
      "message": "iommu/core: pass a user-provided token to fault handlers\n\nSometimes a single IOMMU user may have to deal with several\ndifferent IOMMU devices (e.g. remoteproc).\n\nWhen an IOMMU fault happens, such users have to regain their\ncontext in order to deal with the fault.\n\nUsers can\u0027t use the private fields of neither the iommu_domain nor\nthe IOMMU device, because those are already used by the IOMMU core\nand low level driver (respectively).\n\nThis patch just simply allows users to pass a private token (most\nnotably their own context pointer) to iommu_set_fault_handler(),\nand then makes sure it is provided back to the users whenever\nan IOMMU fault happens.\n\nThe patch also adopts remoteproc to the new fault handling\ninterface, but the real functionality using this (recovery of\nremote processors) will only be added later in a subsequent patch\nset.\n\nChange-Id: Ic04659686e72838a0db518e9303dd037191e3879\nCc: Fernando Guzman Lugo \u003cfernando.lugo@ti.com\u003e\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n[ohaugan@codeaurora.org: Resolved compilation and merge issues]\nSigned-off-by: Olav Haugan \u003cohaugan@codeaurora.org\u003e\n\nConflicts:\n\tdrivers/video/msm/mdss/mdss_mdp.c\n"
    },
    {
      "commit": "f7652b38248b84e9691e277e7671e13cec6631bc",
      "tree": "355228a2dd1d7c4b4c2aa7a34644da8415e8c07d",
      "parents": [
        "4caf72e60bb6fe7bf8fb0c3f1e2cafe4421ef9c1"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Tue Nov 26 15:20:51 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:02 2014 -0800"
      },
      "message": "gpu: msm: Add new Adreno driver\n\n* Temporary place for this.\n\nChange-Id: I83b5d75fbd201c352d011ed43f21ebe3576e058c\n"
    },
    {
      "commit": "64792243b4e08d344244511bf10b193967f988be",
      "tree": "60ef46475b0ccb49b104e7deb7944ba22e05d467",
      "parents": [
        "e3552d062b6b6b59803875b13e93dc4eb65ecfb0"
      ],
      "author": {
        "name": "Rohit Gupta",
        "email": "rohgup@codeaurora.org",
        "time": "Mon Dec 09 17:25:07 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:30 2014 -0800"
      },
      "message": "cpufreq: interactive: Remove trace event from idle_start handler\n\nRemoved the trace_cpufreq_interactive_idle_start.\nAlso fix a crash resulting from accessing NULL policy before taking\nthe pcpu-\u003eenable_sem lock. The policy can be NULL if the core is\nhotplugged out before the enable_sem lock is taken.\n\nChange-Id: I7e2809cc016b3b383a44cdf3c697013e2d2b5417\nSigned-off-by: Rohit Gupta \u003crohgup@codeaurora.org\u003e\n"
    },
    {
      "commit": "e3552d062b6b6b59803875b13e93dc4eb65ecfb0",
      "tree": "2b12132ee60e444277f1bd2131d3185ecf130e75",
      "parents": [
        "0a03df2143535d9f09cd629334d7b56c01bada9f"
      ],
      "author": {
        "name": "Rohit Gupta",
        "email": "rohgup@codeaurora.org",
        "time": "Wed Nov 27 17:08:55 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:30 2014 -0800"
      },
      "message": "cpufreq: interactive: Reset floor_validate_time if busy at max for 100ms\n\nWhen the interactive governor selects to run at max frequency it doesn\u0027t\nre-schedule the timer until it hits an idle. This change checks if the CPU\nhas been continuously busy for last 100ms on hitting an idle start. If yes,\nthen floor_validate_time is reset so that the CPU stays at max frequency\nfor at least another 100 ms before stepping down.\nThis is an important feature for detecting CPU intensive workloads which\nrequire high frequencies for achieving better performance.\n\nChange-Id: I7d48ffbc3d50a80af9be3bf94667ee3d0120b763\nSigned-off-by: Rohit Gupta \u003crohgup@codeaurora.org\u003e\n"
    },
    {
      "commit": "38b17156cd7847f3b1e378f6f8ef4227ffbe6d44",
      "tree": "b5ae275ac41b7076b932320cc9ac25783917db03",
      "parents": [
        "70d01bbd5d9dd6d6cbf0ad9a49e82ed615d4f957"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Sat Mar 02 11:10:11 2013 +0100"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:28 2014 -0800"
      },
      "message": "tick: Dynamically set broadcast irq affinity\n\nWhen a cpu goes to a deep idle state where its local timer is\nshutdown, it notifies the time frame work to use the broadcast timer\ninstead.  Unfortunately, the broadcast device could wake up any CPU,\nincluding an idle one which is not concerned by the wake up at all. So\nin the worst case an idle CPU will wake up to send an IPI to the CPU\nwhose timer expired.\n\nProvide an opt-in feature CLOCK_EVT_FEAT_DYNIRQ which tells the core\nthat is should set the interrupt affinity of the broadcast interrupt\nto the cpu which has the earliest expiry time. This avoids unnecessary\nspurious wakeups and IPIs.\n\n[ tglx: Adopted to cpumask rework, silenced an uninitialized warning,\n  massaged changelog ]\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nCc: viresh.kumar@linaro.org\nCc: jacob.jun.pan@linux.intel.com\nCc: linux-arm-kernel@lists.infradead.org\nCc: santosh.shilimkar@ti.com\nCc: linaro-kernel@lists.linaro.org\nCc: patches@linaro.org\nCc: rickard.andersson@stericsson.com\nCc: vincent.guittot@linaro.org\nCc: linus.walleij@stericsson.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1362219013-18173-3-git-send-email-daniel.lezcano@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nChange-Id: I6a880a39dd595526b80a6d72b88be74163513da9\nSigned-off-by: Karthik Parsha \u003ckparsha@codeaurora.org\u003e\nSigned-off-by: Mahesh Sivasubramanian \u003cmsivasub@codeaurora.org\u003e\n"
    },
    {
      "commit": "eaf001971e9feaecfb88c7905666d74800e25b78",
      "tree": "580b0ae4877d5012e29a3536fdbda8490afcbe94",
      "parents": [
        "2dcea87b2a1ba331711661e34c3ce0a4c54c6ca8"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Tue Nov 19 14:16:53 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:27 2014 -0800"
      },
      "message": "tracing/sched: add load balancer tracepoint\n\nWhen doing performance analysis it can be useful to see exactly\nwhat is going on with the load balancer - when it runs and why\nexactly it may not be redistributing load.\n\nThis additional tracepoint will show the idle context of the\nload balance operation (idle, not idle, newly idle), various\nvalues from the load balancing operation, the final result,\nand the new balance interval.\n\nChange-Id: I9e5c97ae3878bea44e60d189ff3cec2275f2c75e\nCRs-Fixed: 583754\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "83cb3f77d572b10661f62b1dec85b83ece402519",
      "tree": "80e5e95da27285d9c8040c622aeb4fb11743fb76",
      "parents": [
        "1cbddb5a1f3cc18cddae478b1c4414213c15ebea"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:47 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:27 2014 -0800"
      },
      "message": "mm: methods for teaching filesystems about PG_swapcache pages\n\nIn order to teach filesystems to handle swap cache pages, three new page\nfunctions are introduced:\n\n  pgoff_t page_file_index(struct page *);\n  loff_t page_file_offset(struct page *);\n  struct address_space *page_file_mapping(struct page *);\n\npage_file_index() - gives the offset of this page in the file in\nPAGE_CACHE_SIZE blocks.  Like page-\u003eindex is for mapped pages, this\nfunction also gives the correct index for PG_swapcache pages.\n\npage_file_offset() - uses page_file_index(), so that it will give the\nexpected result, even for PG_swapcache pages.\n\npage_file_mapping() - gives the mapping backing the actual page; that is\nfor swap cache pages it will give swap_file-\u003ef_mapping.\n\nChange-Id: I13d18bb25be606760eac26cc842eb7c9fc9e4766\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-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\nGit-commit: f981c5950fa85916ba49bea5d9a7a5078f47e569\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[ohaugan@codeaurora.org: Resolved merge issues]\nSigned-off-by: Olav Haugan \u003cohaugan@codeaurora.org\u003e\n"
    },
    {
      "commit": "8ad62c20c16409cf90fd7c6774f71ce81378d6a0",
      "tree": "01fef82fc29ba7a77e541cb0bfec5cbff88bc681",
      "parents": [
        "857f6d1788f02744eb18044c980e17cb6904ddb9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 26 17:26:01 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:26 2014 -0800"
      },
      "message": "mm: add a field to store names for private anonymous memory\n\nUserspace processes often have multiple allocators that each do\nanonymous mmaps to get memory.  When examining memory usage of\nindividual processes or systems as a whole, it is useful to be\nable to break down the various heaps that were allocated by\neach layer and examine their size, RSS, and physical memory\nusage.\n\nThis patch adds a user pointer to the shared union in\nvm_area_struct that points to a null terminated string inside\nthe user process containing a name for the vma.  vmas that\npoint to the same address will be merged, but vmas that\npoint to equivalent strings at different addresses will\nnot be merged.\n\nUserspace can set the name for a region of memory by calling\nprctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, start, len, (unsigned long)name);\nSetting the name to NULL clears it.\n\nThe names of named anonymous vmas are shown in /proc/pid/maps\nas [anon:\u003cname\u003e] and in /proc/pid/smaps in a new \"Name\" field\nthat is only present for named vmas.  If the userspace pointer\nis no longer valid all or part of the name will be replaced\nwith \"\u003cfault\u003e\".\n\nThe idea to store a userspace pointer to reduce the complexity\nwithin mm (at the expense of the complexity of reading\n/proc/pid/mem) came from Dave Hansen.  This results in no\nruntime overhead in the mm subsystem other than comparing\nthe anon_name pointers when considering vma merging.  The pointer\nis stored in a union with fieds that are only used on file-backed\nmappings, so it does not increase memory usage.\n\nChange-Id: Ie2ffc0967d4ffe7ee4c70781313c7b00cf7e3092\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "0df1808fb0102b1af626bc7399d2a74caf0174e5",
      "tree": "8bef62676e809e1f07931aa13065e7322fb01051",
      "parents": [
        "c30b82e496aa8d3afeecfcb4a3bef04241c10d9a"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Jan 18 19:11:43 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:22 2014 -0800"
      },
      "message": "ARM: Drop VCM framework\n\nThis framework wasn\u0027t accepted upstream and is not used. Drop it.\n\nChange-Id: Ieb381a679873cbfb4baf245a5bcb8df1c730d964\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\n"
    },
    {
      "commit": "c30b82e496aa8d3afeecfcb4a3bef04241c10d9a",
      "tree": "f35a6bdb5033b08db07955f372e1d7c599327315",
      "parents": [
        "530f136b3e83972803dd6c992a36c39216cf6360"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Fri Apr 13 12:32:09 2012 +0200"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:22 2014 -0800"
      },
      "message": "mm: vmalloc: use const void * for caller argument\n\n\u0027const void *\u0027 is a safer type for caller function type. This patch\nupdates all references to caller function type.\n\nChange-Id: If950cfcfc63911756ac3709c8bf6da10c8b98f1b\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nReviewed-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nGit-commit: 5e6cafc83e30f0f70c79a2b7aef237dc57e29f02\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "96e7ce4605d084fe6fb120ac41d0b543951922ac",
      "tree": "6f94be50f145c4949c400fcae73deb489c624c54",
      "parents": [
        "7036109e59e992112a3cd04c7978e212e38193c8"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Mon Jul 30 09:11:33 2012 +0200"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:22 2014 -0800"
      },
      "message": "ARM: dma-mapping: remove custom consistent dma region\n\nThis patch changes dma-mapping subsystem to use generic vmalloc areas\nfor all consistent dma allocations. This increases the total size limit\nof the consistent allocations and removes platform hacks and a lot of\nduplicated code.\n\nAtomic allocations are served from special pool preallocated on boot,\nbecause vmalloc areas cannot be reliably created in atomic context.\n\nChange-Id: Ibb2230e80249598a81122083bf3fa2f050a0a71e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nReviewed-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nGit-commit: e9da6e9905e639b0f842a244bc770b48ad0523e9\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Context fixups and tweaking of some prototypes]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "069398a80c823aa99fa8861bb64289fa268f73fc",
      "tree": "3e7d7c1edce6ecd0d68220b1fb3e907e053b922d",
      "parents": [
        "9992089db7d070adf6950517cbbf21e7e75e954e"
      ],
      "author": {
        "name": "Liam Mark",
        "email": "lmark@codeaurora.org",
        "time": "Wed Jan 16 10:14:40 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:21 2014 -0800"
      },
      "message": "ion: tracing: add ftrace events for ion allocations\n\nAdd ftrace events for ion allocations to make it easier to profile\ntheir performance.\n\nChange-Id: I9f32e076cd50d7d3a145353dfcef74f0f6cdf8a0\nSigned-off-by: Liam Mark \u003clmark@codeaurora.org\u003e\n"
    },
    {
      "commit": "60392bf640798e5227ef58ef17d2abcc534f6eb0",
      "tree": "501d0bf3bbea2ed258770b8a72b83ceb54818a8c",
      "parents": [
        "734f1f8f6ff7f0e007b8f73b14f7129cf28e23d1"
      ],
      "author": {
        "name": "Rohit Gupta",
        "email": "rohgup@codeaurora.org",
        "time": "Wed Aug 14 14:27:41 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:21 2014 -0800"
      },
      "message": "trace: power: Adding trace events for cpufreq\n\nAdded two events to help debugging cpufreq:\n1) cpufreq_sampling_event: To capture governor sampling instants\n   when cpu load is evaluated and an appropriate frequency is\n   selected.\n2) cpufreq_freq_synced: to capture frequency synchronization of\n   destination cpu with the source cpu triggered by foreground\n   thread migrations.\n\nChange-Id: I75bc7c3104b6e0750d9ede95602098d335f4f533\nSigned-off-by: Rohit Gupta \u003crohgup@codeaurora.org\u003e\n"
    },
    {
      "commit": "734f1f8f6ff7f0e007b8f73b14f7129cf28e23d1",
      "tree": "b5314bab0c1fce6015c2c1742dcb1ead53dbd966",
      "parents": [
        "4c1b023ece04f8fb9e707c87713b6f87e46116cc"
      ],
      "author": {
        "name": "Lee Susman",
        "email": "lsusman@codeaurora.org",
        "time": "Sun May 05 17:31:17 2013 +0300"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:21 2014 -0800"
      },
      "message": "mm: pass readahead info down to the i/o scheduler\n\nSome i/o schedulers (i.e. row-iosched, cfq-iosched) deploy an idling\nalgorithm in order to be better synced with the readahead algorithm.\nIdling is a prediction algorithm for incoming read requests.\n\nIn this patch we mark pages which are part of a readahead window, by\nsetting a newly introduced flag. With this flag, the i/o scheduler can\nidentify a request which is associated with a readahead page. This\nenables the i/o scheduler\u0027s idling mechanism to be en-sync with the\nreadahead mechanism and, in turn, can increase read throughput.\n\nChange-Id: I0654f23315b6d19d71bcc9cc029c6b281a44b196\nSigned-off-by: Lee Susman \u003clsusman@codeaurora.org\u003e\n"
    },
    {
      "commit": "c69159bcfe634d6cb905b525c0701b19be2b210f",
      "tree": "7ba8e14960e94d77c216e5c35fb0d30eea871c27",
      "parents": [
        "124ae1068fe81507b0f473d52772a5ac46e657e0"
      ],
      "author": {
        "name": "Ben Jones",
        "email": "ben.jones@imgtec.com",
        "time": "Wed Nov 21 13:32:02 2012 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:20 2014 -0800"
      },
      "message": "freezer: define try_to_freeze_nowarn if CONFIG_FREEZER\u003dn\n\nFixes build since:\n  0e432e6 HACK: ARM: disable sleeping while atomic warning in do_signal\n\nChange-Id: I451217171c6beb55ab4d190e1248ddbc9a2d9516\nSigned-off-by: Ben Jones \u003cben.jones@imgtec.com\u003e\n"
    },
    {
      "commit": "e7c3c141240caa84f03ba2100ad552d9e31e8c68",
      "tree": "3e72deca51bbc2826f6e0161905df5c54e385a78",
      "parents": [
        "f156a7ecbbe30c2f9929cbf1c9cf9b7f89827892"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Jan 11 14:32:16 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:20 2014 -0800"
      },
      "message": "mm: compaction: partially revert capture of suitable high-order page\n\nEric Wong reported on 3.7 and 3.8-rc2 that ppoll() got stuck when\nwaiting for POLLIN on a local TCP socket.  It was easier to trigger if\nthere was disk IO and dirty pages at the same time and he bisected it to\ncommit 1fb3f8ca0e92 (\"mm: compaction: capture a suitable high-order page\nimmediately when it is made available\").\n\nThe intention of that patch was to improve high-order allocations under\nmemory pressure after changes made to reclaim in 3.6 drastically hurt\nTHP allocations but the approach was flawed.  For Eric, the problem was\nthat page-\u003epfmemalloc was not being cleared for captured pages leading\nto a poor interaction with swap-over-NFS support causing the packets to\nbe dropped.  However, I identified a few more problems with the patch\nincluding the fact that it can increase contention on zone-\u003elock in some\ncases which could result in async direct compaction being aborted early.\n\nIn retrospect the capture patch took the wrong approach.  What it should\nhave done is mark the pageblock being migrated as MIGRATE_ISOLATE if it\nwas allocating for THP and avoided races that way.  While the patch was\nshowing to improve allocation success rates at the time, the benefit is\nmarginal given the relative complexity and it should be revisited from\nscratch in the context of the other reclaim-related changes that have\ntaken place since the patch was first written and tested.  This patch\npartially reverts commit 1fb3f8ca0e92 (\"mm: compaction: capture a\nsuitable high-order page immediately when it is made available\").\n\nChange-Id: I985725a72aac0fdecbf4310c04d176f39e0386dd\nReported-and-tested-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 8fb74b9fb2b182d54beee592350d9ea1f325917a\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "70e5192f0cbcdcfdfd0857e4f1cb2ba906411a49",
      "tree": "8a180b51dd3b2d5d983cbe9f1042713b0a4d6f72",
      "parents": [
        "7bfd6e467816ebd0d8db8e9633b63709ef7c3620"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Oct 19 12:00:10 2012 +0100"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:19 2014 -0800"
      },
      "message": "mm: compaction: Add scanned and isolated counters for compaction\n\nCompaction already has tracepoints to count scanned and isolated pages\nbut it requires that ftrace be enabled and if that information has to be\nwritten to disk then it can be disruptive. This patch adds vmstat counters\nfor compaction called compact_migrate_scanned, compact_free_scanned and\ncompact_isolated.\n\nWith these counters, it is possible to define a basic cost model for\ncompaction. This approximates of how much work compaction is doing and can\nbe compared that with an oprofile showing TLB misses and see if the cost of\ncompaction is being offset by THP for example. Minimally a compaction patch\ncan be evaluated in terms of whether it increases or decreases cost. The\nbasic cost model looks like this\n\nFundamental unit u:\ta word\tsizeof(void *)\n\nCa  \u003d cost of struct page access \u003d sizeof(struct page) / u\n\nCmc \u003d Cost migrate page copy \u003d (Ca + PAGE_SIZE/u) * 2\nCmf \u003d Cost migrate failure   \u003d Ca * 2\nCi  \u003d Cost page isolation    \u003d (Ca + Wi)\n\twhere Wi is a constant that should reflect the approximate\n\tcost of the locking operation.\n\nCsm \u003d Cost migrate scanning \u003d Ca\nCsf \u003d Cost free    scanning \u003d Ca\n\nOverall cost \u003d\t(Csm * compact_migrate_scanned) +\n\t      \t(Csf * compact_free_scanned)    +\n\t      \t(Ci  * compact_isolated)\t+\n\t\t(Cmc * pgmigrate_success)\t+\n\t\t(Cmf * pgmigrate_failed)\n\nWhere the values are read from /proc/vmstat.\n\nThis is very basic and ignores certain costs such as the allocation cost\nto do a migrate page copy but any improvement to the model would still\nuse the same vmstat counters.\n\nChange-Id: I9db1a609fc86a95e3fd8d3774de994197ecb9adf\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nGit-commit: 397487db696cae0b026a474a5cd66f4e372995e6\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "7bfd6e467816ebd0d8db8e9633b63709ef7c3620",
      "tree": "591d8ffb23d069ab5ced23740696baffca0bfcd5",
      "parents": [
        "76e36c398d793ba59f03ee25fcd564dfa80f3dbc"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Oct 19 10:46:20 2012 +0100"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:19 2014 -0800"
      },
      "message": "mm: compaction: Move migration fail/success stats to migrate.c\n\nThe compact_pages_moved and compact_pagemigrate_failed events are\nconvenient for determining if compaction is active and to what\ndegree migration is succeeding but it\u0027s at the wrong level. Other\nusers of migration may also want to know if migration is working\nproperly and this will be particularly true for any automated\nNUMA migration. This patch moves the counters down to migration\nwith the new events called pgmigrate_success and pgmigrate_fail.\nThe compact_blocks_moved counter is removed because while it was\nuseful for debugging initially, it\u0027s worthless now as no meaningful\nconclusions can be drawn from its value.\n\nChange-Id: I43d66b61a2a6be571ed025213d7f1b9defb1a18f\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nGit-commit: 5647bc293ab15f66a7b1cda850c5e9d162a6c7c2\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "f8194dc22b6913d18a7e4056feec97eb38a05174",
      "tree": "6b55d6f02887f23610ebd0afba6ee290d2ec911a",
      "parents": [
        "b71127a5bec6cb251bde1594cc293ad5d397ee31"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Mon Oct 08 16:33:48 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:19 2014 -0800"
      },
      "message": "CMA: migrate mlocked pages\n\nPresently CMA cannot migrate mlocked pages so it ends up failing to allocate\ncontiguous memory space.\n\nThis patch makes mlocked pages be migrated out.  Of course, it can affect\nrealtime processes but in CMA usecase, contiguous memory allocation failing\nis far worse than access latency to an mlocked page being variable while\nCMA is running.  If someone wants to make the system realtime, he shouldn\u0027t\nenable CMA because stalls can still happen at random times.\n\nChange-Id: I560f43fdeb94f8fd2a4cc9e2ac12a1593ca38ecb\n[akpm@linux-foundation.org: tweak comment text, per Mel]\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: e46a28790e594c0876d1a84270926abf75460f61\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Minor context fixups]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "b71127a5bec6cb251bde1594cc293ad5d397ee31",
      "tree": "d9759d210c8df9a2b3fef66a6c5af5b904ddbd16",
      "parents": [
        "f57bc46f5f4a3eae803c41615edd4b366f814c45"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Oct 08 16:32:47 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:19 2014 -0800"
      },
      "message": "mm: compaction: clear PG_migrate_skip based on compaction and reclaim activity\n\nCompaction caches if a pageblock was scanned and no pages were isolated so\nthat the pageblocks can be skipped in the future to reduce scanning.  This\ninformation is not cleared by the page allocator based on activity due to\nthe impact it would have to the page allocator fast paths.  Hence there is\na requirement that something clear the cache or pageblocks will be skipped\nforever.  Currently the cache is cleared if there were a number of recent\nallocation failures and it has not been cleared within the last 5 seconds.\nTime-based decisions like this are terrible as they have no relationship\nto VM activity and is basically a big hammer.\n\nUnfortunately, accurate heuristics would add cost to some hot paths so\nthis patch implements a rough heuristic.  There are two cases where the\ncache is cleared.\n\n1. If a !kswapd process completes a compaction cycle (migrate and free\n   scanner meet), the zone is marked compact_blockskip_flush. When kswapd\n   goes to sleep, it will clear the cache. This is expected to be the\n   common case where the cache is cleared. It does not really matter if\n   kswapd happens to be asleep or going to sleep when the flag is set as\n   it will be woken on the next allocation request.\n\n2. If there have been multiple failures recently and compaction just\n   finished being deferred then a process will clear the cache and start a\n   full scan.  This situation happens if there are multiple high-order\n   allocation requests under heavy memory pressure.\n\nThe clearing of the PG_migrate_skip bits and other scans is inherently\nracy but the race is harmless.  For allocations that can fail such as THP,\nthey will simply fail.  For requests that cannot fail, they will retry the\nallocation.  Tests indicated that scanning rates were roughly similar to\nwhen the time-based heuristic was used and the allocation success rates\nwere similar.\n\nChange-Id: If690ae126badb9f9cc5632e9ffb9d376bf210fb0\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Richard Davies \u003crichard@arachsys.com\u003e\nCc: Shaohua Li \u003cshli@kernel.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Rafael Aquini \u003caquini@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 62997027ca5b3d4618198ed8b1aba40b61b1137b\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "cc5a88ab9e86f9dc022020b2d90b8d51bc80c932",
      "tree": "953b699613758962008aa7e7fba4945005d22fea",
      "parents": [
        "d6ed972cf5323c04dd622330da80eb255a4b6aad"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Oct 08 16:32:41 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:18 2014 -0800"
      },
      "message": "mm: compaction: cache if a pageblock was scanned and no pages were isolated\n\nWhen compaction was implemented it was known that scanning could\npotentially be excessive.  The ideal was that a counter be maintained for\neach pageblock but maintaining this information would incur a severe\npenalty due to a shared writable cache line.  It has reached the point\nwhere the scanning costs are a serious problem, particularly on\nlong-lived systems where a large process starts and allocates a large\nnumber of THPs at the same time.\n\nInstead of using a shared counter, this patch adds another bit to the\npageblock flags called PG_migrate_skip.  If a pageblock is scanned by\neither migrate or free scanner and 0 pages were isolated, the pageblock is\nmarked to be skipped in the future.  When scanning, this bit is checked\nbefore any scanning takes place and the block skipped if set.\n\nThe main difficulty with a patch like this is \"when to ignore the cached\ninformation?\" If it\u0027s ignored too often, the scanning rates will still be\nexcessive.  If the information is too stale then allocations will fail\nthat might have otherwise succeeded.  In this patch\n\no CMA always ignores the information\no If the migrate and free scanner meet then the cached information will\n  be discarded if it\u0027s at least 5 seconds since the last time the cache\n  was discarded\no If there are a large number of allocation failures, discard the cache.\n\nThe time-based heuristic is very clumsy but there are few choices for a\nbetter event.  Depending solely on multiple allocation failures still\nallows excessive scanning when THP allocations are failing in quick\nsuccession due to memory pressure.  Waiting until memory pressure is\nrelieved would cause compaction to continually fail instead of using\nreclaim/compaction to try allocate the page.  The time-based mechanism is\nclumsy but a better option is not obvious.\n\nChange-Id: I17a4887aca9bb3d2d9d3756089ad7c9b89922727\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Richard Davies \u003crichard@arachsys.com\u003e\nCc: Shaohua Li \u003cshli@kernel.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Rafael Aquini \u003caquini@redhat.com\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: bb13ffeb9f6bfeb301443994dfbf29f91117dfb3\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Context fixup due to merging patches out of order]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "c74068b68d00e36755ce5927bce33d62f1e4edd3",
      "tree": "a11cd4f023568a2506ab5b26cc0a1014ff88f54b",
      "parents": [
        "bc337a9d96c709c7f4602368eb77401c914ac948"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Oct 08 16:29:12 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:17 2014 -0800"
      },
      "message": "mm: compaction: capture a suitable high-order page immediately when it is made available\n\nWhile compaction is migrating pages to free up large contiguous blocks\nfor allocation it races with other allocation requests that may steal\nthese blocks or break them up.  This patch alters direct compaction to\ncapture a suitable free page as soon as it becomes available to reduce\nthis race.  It uses similar logic to split_free_page() to ensure that\nwatermarks are still obeyed.\n\nChange-Id: I46fc38ca67bc50aa7a77a59255caf563f50343a9\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 1fb3f8ca0e9222535a39b884cb67a34628411b9f\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "0ba338893ca023bbad30546004a776d84a0485d5",
      "tree": "d6fbd8b2a8ba8a55c8c7c30688463d7b9c6e55a5",
      "parents": [
        "57bb21cbda2ab3f8159059bd8f034ecd48b78a1e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Aug 21 16:16:17 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:16 2014 -0800"
      },
      "message": "mm: compaction: Abort async compaction if locks are contended or taking too long\n\nJim Schutt reported a problem that pointed at compaction contending\nheavily on locks.  The workload is straight-forward and in his own words;\n\n\tThe systems in question have 24 SAS drives spread across 3 HBAs,\n\trunning 24 Ceph OSD instances, one per drive.  FWIW these servers\n\tare dual-socket Intel 5675 Xeons w/48 GB memory.  I\u0027ve got ~160\n\tCeph Linux clients doing dd simultaneously to a Ceph file system\n\tbacked by 12 of these servers.\n\nEarly in the test everything looks fine\n\n  procs -------------------memory------------------ ---swap-- -----io---- --system-- -----cpu-------\n   r  b       swpd       free       buff      cache   si   so    bi    bo   in   cs  us sy  id wa st\n  31 15          0     287216        576   38606628    0    0     2  1158    2   14   1  3  95  0  0\n  27 15          0     225288        576   38583384    0    0    18 2222016 203357 134876  11 56  17 15  0\n  28 17          0     219256        576   38544736    0    0    11 2305932 203141 146296  11 49  23 17  0\n   6 18          0     215596        576   38552872    0    0     7 2363207 215264 166502  12 45  22 20  0\n  22 18          0     226984        576   38596404    0    0     3 2445741 223114 179527  12 43  23 22  0\n\nand then it goes to pot\n\n  procs -------------------memory------------------ ---swap-- -----io---- --system-- -----cpu-------\n   r  b       swpd       free       buff      cache   si   so    bi    bo   in   cs  us sy  id wa st\n  163  8          0     464308        576   36791368    0    0    11 22210  866  536   3 13  79  4  0\n  207 14          0     917752        576   36181928    0    0   712 1345376 134598 47367   7 90   1  2  0\n  123 12          0     685516        576   36296148    0    0   429 1386615 158494 60077   8 84   5  3  0\n  123 12          0     598572        576   36333728    0    0  1107 1233281 147542 62351   7 84   5  4  0\n  622  7          0     660768        576   36118264    0    0   557 1345548 151394 59353   7 85   4  3  0\n  223 11          0     283960        576   36463868    0    0    46 1107160 121846 33006   6 93   1  1  0\n\nNote that system CPU usage is very high blocks being written out has\ndropped by 42%. He analysed this with perf and found\n\n  perf record -g -a sleep 10\n  perf report --sort symbol --call-graph fractal,5\n    34.63%  [k] _raw_spin_lock_irqsave\n            |\n            |--97.30%-- isolate_freepages\n            |          compaction_alloc\n            |          unmap_and_move\n            |          migrate_pages\n            |          compact_zone\n            |          compact_zone_order\n            |          try_to_compact_pages\n            |          __alloc_pages_direct_compact\n            |          __alloc_pages_slowpath\n            |          __alloc_pages_nodemask\n            |          alloc_pages_vma\n            |          do_huge_pmd_anonymous_page\n            |          handle_mm_fault\n            |          do_page_fault\n            |          page_fault\n            |          |\n            |          |--87.39%-- skb_copy_datagram_iovec\n            |          |          tcp_recvmsg\n            |          |          inet_recvmsg\n            |          |          sock_recvmsg\n            |          |          sys_recvfrom\n            |          |          system_call\n            |          |          __recv\n            |          |          |\n            |          |           --100.00%-- (nil)\n            |          |\n            |           --12.61%-- memcpy\n             --2.70%-- [...]\n\nThere was other data but primarily it is all showing that compaction is\ncontended heavily on the zone-\u003elock and zone-\u003elru_lock.\n\ncommit [b2eef8c0: mm: compaction: minimise the time IRQs are disabled\nwhile isolating pages for migration] noted that it was possible for\nmigration to hold the lru_lock for an excessive amount of time. Very\nbroadly speaking this patch expands the concept.\n\nThis patch introduces compact_checklock_irqsave() to check if a lock\nis contended or the process needs to be scheduled. If either condition\nis true then async compaction is aborted and the caller is informed.\nThe page allocator will fail a THP allocation if compaction failed due\nto contention. This patch also introduces compact_trylock_irqsave()\nwhich will acquire the lock only if it is not contended and the process\ndoes not need to schedule.\n\nChange-Id: Ia5318c923b903948072ff279dc9aed698bb6d02d\nReported-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nTested-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: c67fe3752abe6ab47639e2f9b836900c3dc3da84\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Minor context fixup in isolate_migratepages_range]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "31b02abbe6b9282417efc10de785f8d884d113fd",
      "tree": "21a2d84d4f9979c9a715ec167f2f6c525d659c5b",
      "parents": [
        "88fb5cb09f9cc92d306a5a08cedae5bc317c003b"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Mon Oct 08 16:31:55 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:16 2014 -0800"
      },
      "message": "mm: cma: discard clean pages during contiguous allocation instead of migration\n\nDrop clean cache pages instead of migration during alloc_contig_range() to\nminimise allocation latency by reducing the amount of migration that is\nnecessary.  It\u0027s useful for CMA because latency of migration is more\nimportant than evicting the background process\u0027s working set.  In\naddition, as pages are reclaimed then fewer free pages for migration\ntargets are required so it avoids memory reclaiming to get free pages,\nwhich is a contributory factor to increased latency.\n\nI measured elapsed time of __alloc_contig_migrate_range() which migrates\n10M in 40M movable zone in QEMU machine.\n\nBefore - 146ms, After - 7ms\n\nChange-Id: Ia527b7253bc5fa63b555ac445b676588b6def119\n[akpm@linux-foundation.org: fix nommu build]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nReviewed-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 02c6de8d757cb32c0829a45d81c3dfcbcafd998b\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Fixups in mm/internal.h due to contexts]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "8d54f4b4bf1a4877eca6daefa43b1631e0732343",
      "tree": "77cec86e840a6fc3b7f1a037a91876b72b0e0cdd",
      "parents": [
        "4872df835391131ba2bd1593272ed7b429e77ceb"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue May 29 15:06:25 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:15 2014 -0800"
      },
      "message": "mm: memcg: count pte references from every member of the reclaimed hierarchy\n\nThe rmap walker checking page table references has historically ignored\nreferences from VMAs that were not part of the memcg that was being\nreclaimed during memcg hard limit reclaim.\n\nWhen transitioning global reclaim to memcg hierarchy reclaim, I missed\nthat bit and now references from outside a memcg are ignored even during\nglobal reclaim.\n\nReverting back to traditional behaviour - count all references during\nglobal reclaim and only mind references of the memcg being reclaimed\nduring limit reclaim would be one option.\n\nHowever, the more generic idea is to ignore references exactly then when\nthey are outside the hierarchy that is currently under reclaim; because\nonly then will their reclamation be of any use to help the pressure\nsituation.  It makes no sense to ignore references from a sibling memcg\nand then evict a page that will be immediately refaulted by that sibling\nwhich contributes to the same usage of the common ancestor under\nreclaim.\n\nThe solution: make the rmap walker ignore references from VMAs that are\nnot part of the hierarchy that is being reclaimed.\n\nFlat limit reclaim will stay the same, hierarchical limit reclaim will\nmind the references only to pages that the hierarchy owns.  Global\nreclaim, since it reclaims from all memcgs, will be fixed to regard all\nreferences.\n\nChange-Id: I3a3f39693cf5644870213df28238acf00d7417dd\n[akpm@linux-foundation.org: name the args in the declaration]\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReported-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Konstantin Khlebnikov\u003ckhlebnikov@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: c3ac9a8ade65ccbfd145fbff895ae8d8d62d09b0\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "0fad1d27a9c0ca97d4ceff8ccf3db2f2d8b52699",
      "tree": "f2cb4e1f5cfacdba000d991adbbe5b40c669e516",
      "parents": [
        "c60245b334fed7c7a4c5b09fa88a5f8d7c0a2c9a"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue May 29 15:06:18 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:15 2014 -0800"
      },
      "message": "mm: remove swap token code\n\nThe swap token code no longer fits in with the current VM model.  It\ndoes not play well with cgroups or the better NUMA placement code in\ndevelopment, since we have only one swap token globally.\n\nIt also has the potential to mess with scalability of the system, by\nincreasing the number of non-reclaimable pages on the active and\ninactive anon LRU lists.\n\nLast but not least, the swap token code has been broken for a year\nwithout complaints, as reported by Konstantin Khlebnikov.  This suggests\nwe no longer have much use for it.\n\nThe days of sub-1G memory systems with heavy use of swap are over.  If\nwe ever need thrashing reducing code in the future, we will have to\nimplement something that does scale.\n\nChange-Id: I6d287cfc3c3206ca24da2de0c1392e5fdfcfabe8\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Bob Picco \u003cbpicco@meloft.net\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: e709ffd6169ccd259eb5874e853303e91e94e829\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "d4c9b4298f72e8778fb3ae1013e9e421f7cc64a6",
      "tree": "0ab047c985d50174b841eae8c27c59131a07b6b7",
      "parents": [
        "fa16809ac46e0229da33ce6e5863288c9c3f700e"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue May 29 15:06:54 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm/memcg: kill mem_cgroup_lru_del()\n\nThis patch kills mem_cgroup_lru_del(), we can use\nmem_cgroup_lru_del_list() instead.  On 0-order isolation we already have\nright lru list id.\n\nChange-Id: I403d40074299fb5f125603435c057071714d5b92\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: bbf808ed7de68fdf626fd4f9718d88cf03ce13a9\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "fa16809ac46e0229da33ce6e5863288c9c3f700e",
      "tree": "740309595f94e88267dc709df33755631f12e016",
      "parents": [
        "52878acb96a36fd11d45cc0ab6735e1b6a4e8e24"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue May 29 15:06:54 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm: remove lru type checks from __isolate_lru_page()\n\nAfter patch \"mm: forbid lumpy-reclaim in shrink_active_list()\" we can\ncompletely remove anon/file and active/inactive lru type filters from\n__isolate_lru_page(), because isolation for 0-order reclaim always\nisolates pages from right lru list.  And pages-isolation for lumpy\nshrink_inactive_list() or memory-compaction anyway allowed to isolate\npages from all evictable lru lists.\n\nChange-Id: I2a1a0325b1d193f4ca5e3ea7d5eda9b8bf7c6698\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: f3fd4a61928a5edf5b033a417e761b488b43e203\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "52878acb96a36fd11d45cc0ab6735e1b6a4e8e24",
      "tree": "966be1da1453b6d439d5b492aee5ad69424b85e1",
      "parents": [
        "753d7e77b2467193b5dbf926abe80cdd90d4961a"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:20 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm: vmscan: remove reclaim_mode_t\n\nThere is little motiviation for reclaim_mode_t once RECLAIM_MODE_[A]SYNC\nand lumpy reclaim have been removed.  This patch gets rid of\nreclaim_mode_t as well and improves the documentation about what\nreclaim/compaction is and when it is triggered.\n\nChange-Id: If95bc163647b1cfb93d7f3b8435060fed1e2aabf\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 23b9da55c5b0feb484bd5e8615f4eb1ce4169453\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "753d7e77b2467193b5dbf926abe80cdd90d4961a",
      "tree": "59b7bd098f51e8c514800c49c4c0da70072c5743",
      "parents": [
        "2c27524035cc79a31e941ddc8c24d93aae57e1ff"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:19 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm: vmscan: do not stall on writeback during memory compaction\n\nThis patch stops reclaim/compaction entering sync reclaim as this was\nonly intended for lumpy reclaim and an oversight.  Page migration has\nits own logic for stalling on writeback pages if necessary and memory\ncompaction is already using it.\n\nWaiting on page writeback is bad for a number of reasons but the primary\none is that waiting on writeback to a slow device like USB can take a\nconsiderable length of time.  Page reclaim instead uses\nwait_iff_congested() to throttle if too many dirty pages are being\nscanned.\n\nChange-Id: I14f312b1a51ee093d9d4adda5c87e57f1b83e03d\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 41ac1999c3e3563e1810b14878a869c79c9368bb\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "2c27524035cc79a31e941ddc8c24d93aae57e1ff",
      "tree": "ba9dd877223ffb018a47d857ee19c1fa9f7751b6",
      "parents": [
        "09f85957b233256ae7f7e407c7e86a0ae55ffb7e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:19 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm: vmscan: remove lumpy reclaim\n\nThis series removes lumpy reclaim and some stalling logic that was\nunintentionally being used by memory compaction.  The end result is that\nstalling on dirty pages during page reclaim now depends on\nwait_iff_congested().\n\nFour kernels were compared\n\n  3.3.0     vanilla\n  3.4.0-rc2 vanilla\n  3.4.0-rc2 lumpyremove-v2 is patch one from this series\n  3.4.0-rc2 nosync-v2r3 is the full series\n\nRemoving lumpy reclaim saves almost 900 bytes of text whereas the full\nseries removes 1200 bytes.\n\n     text     data      bss       dec     hex  filename\n  6740375  1927944  2260992  10929311  a6c49f  vmlinux-3.4.0-rc2-vanilla\n  6739479  1927944  2260992  10928415  a6c11f  vmlinux-3.4.0-rc2-lumpyremove-v2\n  6739159  1927944  2260992  10928095  a6bfdf  vmlinux-3.4.0-rc2-nosync-v2\n\nThere are behaviour changes in the series and so tests were run with\nmonitoring of ftrace events.  This disrupts results so the performance\nresults are distorted but the new behaviour should be clearer.\n\nfs-mark running in a threaded configuration showed little of interest as\nit did not push reclaim aggressively\n\n  FS-Mark Multi Threaded\n                          3.3.0-vanilla       rc2-vanilla       lumpyremove-v2r3       nosync-v2r3\n  Files/s  min           3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Files/s  mean          3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Files/s  stddev        0.00 ( 0.00%)        0.00 ( 0.00%)        0.00 ( 0.00%)        0.00 ( 0.00%)\n  Files/s  max           3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Overhead min      508667.00 ( 0.00%)   521350.00 (-2.49%)   544292.00 (-7.00%)   547168.00 (-7.57%)\n  Overhead mean     551185.00 ( 0.00%)   652690.73 (-18.42%)   991208.40 (-79.83%)   570130.53 (-3.44%)\n  Overhead stddev    18200.69 ( 0.00%)   331958.29 (-1723.88%)  1579579.43 (-8578.68%)     9576.81 (47.38%)\n  Overhead max      576775.00 ( 0.00%)  1846634.00 (-220.17%)  6901055.00 (-1096.49%)   585675.00 (-1.54%)\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             309.90    300.95    307.33    298.95\n  User+Sys Time Running Test (seconds)        319.32    309.67    315.69    307.51\n  Total Elapsed Time (seconds)               1187.85   1193.09   1191.98   1193.73\n\n  MMTests Statistics: vmstat\n  Page Ins                                       80532       82212       81420       79480\n  Page Outs                                  111434984   111456240   111437376   111582628\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                           44881       27889       27453       34843\n  Kswapd pages scanned                        25841428    25860774    25861233    25843212\n  Kswapd pages reclaimed                      25841393    25860741    25861199    25843179\n  Direct pages reclaimed                         44881       27889       27453       34843\n  Kswapd efficiency                                99%         99%         99%         99%\n  Kswapd velocity                            21754.791   21675.460   21696.029   21649.127\n  Direct efficiency                               100%        100%        100%        100%\n  Direct velocity                               37.783      23.375      23.031      29.188\n  Percentage direct scans                           0%          0%          0%          0%\n\nftrace showed that there was no stalling on writeback or pages submitted\nfor IO from reclaim context.\n\npostmark was similar and while it was more interesting, it also did not\npush reclaim heavily.\n\n  POSTMARK\n                                       3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  Transactions per second:               16.00 ( 0.00%)    20.00 (25.00%)    18.00 (12.50%)    17.00 ( 6.25%)\n  Data megabytes read per second:        18.80 ( 0.00%)    24.27 (29.10%)    22.26 (18.40%)    20.54 ( 9.26%)\n  Data megabytes written per second:     35.83 ( 0.00%)    46.25 (29.08%)    42.42 (18.39%)    39.14 ( 9.24%)\n  Files created alone per second:        28.00 ( 0.00%)    38.00 (35.71%)    34.00 (21.43%)    30.00 ( 7.14%)\n  Files create/transact per second:       8.00 ( 0.00%)    10.00 (25.00%)     9.00 (12.50%)     8.00 ( 0.00%)\n  Files deleted alone per second:       556.00 ( 0.00%)  1224.00 (120.14%)  3062.00 (450.72%)  6124.00 (1001.44%)\n  Files delete/transact per second:       8.00 ( 0.00%)    10.00 (25.00%)     9.00 (12.50%)     8.00 ( 0.00%)\n\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             113.34    107.99    109.73    108.72\n  User+Sys Time Running Test (seconds)        145.51    139.81    143.32    143.55\n  Total Elapsed Time (seconds)               1159.16    899.23    980.17   1062.27\n\n  MMTests Statistics: vmstat\n  Page Ins                                    13710192    13729032    13727944    13760136\n  Page Outs                                   43071140    42987228    42733684    42931624\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                               0           0           0           0\n  Kswapd pages scanned                         9941613     9937443     9939085     9929154\n  Kswapd pages reclaimed                       9940926     9936751     9938397     9928465\n  Direct pages reclaimed                             0           0           0           0\n  Kswapd efficiency                                99%         99%         99%         99%\n  Kswapd velocity                             8576.567   11051.058   10140.164    9347.109\n  Direct efficiency                               100%        100%        100%        100%\n  Direct velocity                                0.000       0.000       0.000       0.000\n\nIt looks like here that the full series regresses performance but as\nftrace showed no usage of wait_iff_congested() or sync reclaim I am\nassuming it\u0027s a disruption due to monitoring.  Other data such as memory\nusage, page IO, swap IO all looked similar.\n\nRunning a benchmark with a plain DD showed nothing very interesting.\nThe full series stalled in wait_iff_congested() slightly less but stall\ntimes on vanilla kernels were marginal.\n\nRunning a benchmark that hammered on file-backed mappings showed stalls\ndue to congestion but not in sync writebacks\n\n  MICRO\n                                       3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             308.13    294.50    298.75    299.53\n  User+Sys Time Running Test (seconds)        330.45    316.28    318.93    320.79\n  Total Elapsed Time (seconds)               1814.90   1833.88   1821.14   1832.91\n\n  MMTests Statistics: vmstat\n  Page Ins                                      108712      120708       97224      110344\n  Page Outs                                  155514576   156017404   155813676   156193256\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                         2599253     1550480     2512822     2414760\n  Kswapd pages scanned                        69742364    71150694    68839041    69692533\n  Kswapd pages reclaimed                      34824488    34773341    34796602    34799396\n  Direct pages reclaimed                         53693       94750       61792       75205\n  Kswapd efficiency                                49%         48%         50%         49%\n  Kswapd velocity                            38427.662   38797.901   37799.972   38022.889\n  Direct efficiency                                 2%          6%          2%          3%\n  Direct velocity                             1432.174     845.464    1379.807    1317.446\n  Percentage direct scans                           3%          2%          3%          3%\n  Page writes by reclaim                             0           0           0           0\n  Page writes file                                   0           0           0           0\n  Page writes anon                                   0           0           0           0\n  Page reclaim immediate                             0           0           0        1218\n  Page rescued immediate                             0           0           0           0\n  Slabs scanned                                  15360       16384       13312       16384\n  Direct inode steals                                0           0           0           0\n  Kswapd inode steals                             4340        4327        1630        4323\n\n  FTrace Reclaim Statistics: congestion_wait\n  Direct number congest     waited                 0          0          0          0\n  Direct time   congest     waited               0ms        0ms        0ms        0ms\n  Direct full   congest     waited                 0          0          0          0\n  Direct number conditional waited               900        870        754        789\n  Direct time   conditional waited               0ms        0ms        0ms       20ms\n  Direct full   conditional waited                 0          0          0          0\n  KSwapd number congest     waited              2106       2308       2116       1915\n  KSwapd time   congest     waited          139924ms   157832ms   125652ms   132516ms\n  KSwapd full   congest     waited              1346       1530       1202       1278\n  KSwapd number conditional waited             12922      16320      10943      14670\n  KSwapd time   conditional waited               0ms        0ms        0ms        0ms\n  KSwapd full   conditional waited                 0          0          0          0\n\nReclaim statistics are not radically changed.  The stall times in kswapd\nare massive but it is clear that it is due to calls to congestion_wait()\nand that is almost certainly the call in balance_pgdat().  Otherwise\nstalls due to dirty pages are non-existant.\n\nI ran a benchmark that stressed high-order allocation.  This is very\nartifical load but was used in the past to evaluate lumpy reclaim and\ncompaction.  Generally I look at allocation success rates and latency\nfigures.\n\n  STRESS-HIGHALLOC\n                   3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  Pass 1          81.00 ( 0.00%)    28.00 (-53.00%)    24.00 (-57.00%)    28.00 (-53.00%)\n  Pass 2          82.00 ( 0.00%)    39.00 (-43.00%)    38.00 (-44.00%)    43.00 (-39.00%)\n  while Rested    88.00 ( 0.00%)    87.00 (-1.00%)    88.00 ( 0.00%)    88.00 ( 0.00%)\n\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             740.93    681.42    685.14    684.87\n  User+Sys Time Running Test (seconds)       2922.65   3269.52   3281.35   3279.44\n  Total Elapsed Time (seconds)               1161.73   1152.49   1159.55   1161.44\n\n  MMTests Statistics: vmstat\n  Page Ins                                     4486020     2807256     2855944     2876244\n  Page Outs                                    7261600     7973688     7975320     7986120\n  Swap Ins                                       31694           0           0           0\n  Swap Outs                                      98179           0           0           0\n  Direct pages scanned                           53494       57731       34406      113015\n  Kswapd pages scanned                         6271173     1287481     1278174     1219095\n  Kswapd pages reclaimed                       2029240     1281025     1260708     1201583\n  Direct pages reclaimed                          1468       14564       16649       92456\n  Kswapd efficiency                                32%         99%         98%         98%\n  Kswapd velocity                             5398.133    1117.130    1102.302    1049.641\n  Direct efficiency                                 2%         25%         48%         81%\n  Direct velocity                               46.047      50.092      29.672      97.306\n  Percentage direct scans                           0%          4%          2%          8%\n  Page writes by reclaim                       1616049           0           0           0\n  Page writes file                             1517870           0           0           0\n  Page writes anon                               98179           0           0           0\n  Page reclaim immediate                        103778       27339        9796       17831\n  Page rescued immediate                             0           0           0           0\n  Slabs scanned                                1096704      986112      980992      998400\n  Direct inode steals                              223      215040      216736      247881\n  Kswapd inode steals                           175331       61548       68444       63066\n  Kswapd skipped wait                            21991           0           1           0\n  THP fault alloc                                    1         135         125         134\n  THP collapse alloc                               393         311         228         236\n  THP splits                                        25          13           7           8\n  THP fault fallback                                 0           0           0           0\n  THP collapse fail                                  3           5           7           7\n  Compaction stalls                                865        1270        1422        1518\n  Compaction success                               370         401         353         383\n  Compaction failures                              495         869        1069        1135\n  Compaction pages moved                        870155     3828868     4036106     4423626\n  Compaction move failure                        26429       23865       29742       27514\n\nSuccess rates are completely hosed for 3.4-rc2 which is almost certainly\ndue to commit fe2c2a106663 (\"vmscan: reclaim at order 0 when compaction\nis enabled\").  I expected this would happen for kswapd and impair\nallocation success rates (https://lkml.org/lkml/2012/1/25/166) but I did\nnot anticipate this much a difference: 80% less scanning, 37% less\nreclaim by kswapd\n\nIn comparison, reclaim/compaction is not aggressive and gives up easily\nwhich is the intended behaviour.  hugetlbfs uses __GFP_REPEAT and would\nbe much more aggressive about reclaim/compaction than THP allocations\nare.  The stress test above is allocating like neither THP or hugetlbfs\nbut is much closer to THP.\n\nMainline is now impaired in terms of high order allocation under heavy\nload although I do not know to what degree as I did not test with\n__GFP_REPEAT.  Keep this in mind for bugs related to hugepage pool\nresizing, THP allocation and high order atomic allocation failures from\nnetwork devices.\n\nIn terms of congestion throttling, I see the following for this test\n\n  FTrace Reclaim Statistics: congestion_wait\n  Direct number congest     waited                 3          0          0          0\n  Direct time   congest     waited               0ms        0ms        0ms        0ms\n  Direct full   congest     waited                 0          0          0          0\n  Direct number conditional waited               957        512       1081       1075\n  Direct time   conditional waited               0ms        0ms        0ms        0ms\n  Direct full   conditional waited                 0          0          0          0\n  KSwapd number congest     waited                36          4          3          5\n  KSwapd time   congest     waited            3148ms      400ms      300ms      500ms\n  KSwapd full   congest     waited                30          4          3          5\n  KSwapd number conditional waited             88514        197        332        542\n  KSwapd time   conditional waited            4980ms        0ms        0ms        0ms\n  KSwapd full   conditional waited                49          0          0          0\n\nThe \"conditional waited\" times are the most interesting as this is\ndirectly impacted by the number of dirty pages encountered during scan.\nAs lumpy reclaim is no longer scanning contiguous ranges, it is finding\nfewer dirty pages.  This brings wait times from about 5 seconds to 0.\nkswapd itself is still calling congestion_wait() so it\u0027ll still stall but\nit\u0027s a lot less.\n\nIn terms of the type of IO we were doing, I see this\n\n  FTrace Reclaim Statistics: mm_vmscan_writepage\n  Direct writes anon  sync                         0          0          0          0\n  Direct writes anon  async                        0          0          0          0\n  Direct writes file  sync                         0          0          0          0\n  Direct writes file  async                        0          0          0          0\n  Direct writes mixed sync                         0          0          0          0\n  Direct writes mixed async                        0          0          0          0\n  KSwapd writes anon  sync                         0          0          0          0\n  KSwapd writes anon  async                    91682          0          0          0\n  KSwapd writes file  sync                         0          0          0          0\n  KSwapd writes file  async                   822629          0          0          0\n  KSwapd writes mixed sync                         0          0          0          0\n  KSwapd writes mixed async                        0          0          0          0\n\nIn 3.2, kswapd was doing a bunch of async writes of pages but\nreclaim/compaction was never reaching a point where it was doing sync\nIO.  This does not guarantee that reclaim/compaction was not calling\nwait_on_page_writeback() but I would consider it unlikely.  It indicates\nthat merging patches 2 and 3 to stop reclaim/compaction calling\nwait_on_page_writeback() should be safe.\n\nThis patch:\n\nLumpy reclaim had a purpose but in the mind of some, it was to kick the\nsystem so hard it trashed.  For others the purpose was to complicate\nvmscan.c.  Over time it was giving softer shoes and a nicer attitude but\nmemory compaction needs to step up and replace it so this patch sends\nlumpy reclaim to the farm.\n\nThe tracepoint format changes for isolating LRU pages with this patch\napplied.  Furthermore reclaim/compaction can no longer queue dirty pages\nin pageout() if the underlying BDI is congested.  Lumpy reclaim used\nthis logic and reclaim/compaction was using it in error.\n\nChange-Id: Ib2992962c9e99cf250a7f859bb2a67034051e4d4\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: c53919adc045bf803252e912f23028a68525753d\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "67bed6808090539cefdc0ecd2738e12ba8bc037e",
      "tree": "554f4cf1f7d9ec8997ffbbf74d0a5284f98cd17c",
      "parents": [
        "1bee7b9b43a3b5530c62523d582aef7c3f7028ca"
      ],
      "author": {
        "name": "Arun Bharadwaj",
        "email": "abharadw@codeaurora.org",
        "time": "Wed Jul 03 10:35:02 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:13 2014 -0800"
      },
      "message": "tracing/sched: Add trace events to track cpu hotplug.\n\nAdd ftrace event trace_sched_cpu_hotplug to track cpu\nhot-add and hot-remove events.\n\nThis is useful in a variety of power, performance and\ndebug analysis scenarios.\n\nChange-Id: I5d202c7a229ffacc3aafb7cf9afee0b0ee7b0931\nSigned-off-by: Arun Bharadwaj \u003cabharadw@codeaurora.org\u003e\n"
    },
    {
      "commit": "1bee7b9b43a3b5530c62523d582aef7c3f7028ca",
      "tree": "65467bc85c4f505afd64c09d4044c1645c1ecc56",
      "parents": [
        "3bb998ff6cbde07fdd25d039487195c29b17def1"
      ],
      "author": {
        "name": "Syed Rameez Mustafa",
        "email": "rameezmustafa@codeaurora.org",
        "time": "Mon Jul 15 11:52:09 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:13 2014 -0800"
      },
      "message": "kernel/lib: add additional debug capabilites for data corruption\n\nData corruptions in the kernel often end up in system crashes that\nare easier to debug closer to the time of detection. Specifically,\nif we do not panic immediately after lock or list corruptions have been\ndetected, the problem context is lost in the ensuing system mayhem.\nAdd support for allowing system crash immediately after such corruptions\nare detected. The CONFIG option controls the enabling/disabling of the\nfeature.\n\nChange-Id: I9b2eb62da506a13007acff63e85e9515145909ff\nSigned-off-by: Syed Rameez Mustafa \u003crameezmustafa@codeaurora.org\u003e\n"
    },
    {
      "commit": "5865888f1a4adc6a5937a5a2c4de57b353825c9f",
      "tree": "06f9f0a7fd7edd04e6b7c47495740815645a203d",
      "parents": [
        "b7b5c68565878a95eb08514f8140df16cf82882e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 12 14:46:37 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:10 2014 -0800"
      },
      "message": "workqueue: factor out worker_pool from global_cwq\n\nMove worklist and all worker management fields from global_cwq into\nthe new struct worker_pool.  worker_pool points back to the containing\ngcwq.  worker and cpu_workqueue_struct are updated to point to\nworker_pool instead of gcwq too.\n\nThis change is mechanical and doesn\u0027t introduce any functional\ndifference other than rearranging of fields and an added level of\nindirection in some places.  This is to prepare for multiple pools per\ngcwq.\n\nv2: Comment typo fixes as suggested by Namhyung.\n\nChange-Id: Iefae84798c2af580f425b92ed79117935d99f21f\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nGit-commit: bd7bdd43dcb81bb08240b9401b36a104f77dc135\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    }
  ],
  "next": "7b3cf42794302d759bd6146cdcdff9563a40d02e"
}
