)]}'
{
  "log": [
    {
      "commit": "9bf75dffc07ea6b5e19251880b8dcf0debdbbccc",
      "tree": "329bb5327b7e523ed2812dc6679b035f594f69f5",
      "parents": [
        "74cfe2dcc0f4b17f9abbabf349e33c39a260987e"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@amacapital.net",
        "time": "Thu Apr 12 16:47:50 2012 -0500"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Dec 16 13:18:02 2014 -0800"
      },
      "message": "Add PR_{GET,SET}_NO_NEW_PRIVS to prevent execve from granting privs\n\nWith this change, calling\n  prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)\ndisables privilege granting operations at execve-time.  For example, a\nprocess will not be able to execute a setuid binary to change their uid\nor gid if this bit is set.  The same is true for file capabilities.\n\nAdditionally, LSM_UNSAFE_NO_NEW_PRIVS is defined to ensure that\nLSMs respect the requested behavior.\n\nTo determine if the NO_NEW_PRIVS bit is set, a task may call\n  prctl(PR_GET_NO_NEW_PRIVS, 0, 0, 0, 0);\nIt returns 1 if set and 0 if it is not set. If any of the arguments are\nnon-zero, it will return -1 and set errno to -EINVAL.\n(PR_SET_NO_NEW_PRIVS behaves similarly.)\n\nThis functionality is desired for the proposed seccomp filter patch\nseries.  By using PR_SET_NO_NEW_PRIVS, it allows a task to modify the\nsystem call behavior for itself and its child tasks without being\nable to impact the behavior of a more privileged task.\n\nAnother potential use is making certain privileged operations\nunprivileged.  For example, chroot may be considered \"safe\" if it cannot\naffect privileged tasks.\n\nNote, this patch causes execve to fail when PR_SET_NO_NEW_PRIVS is\nset and AppArmor is in use.  It is fixed in a subsequent patch.\n\nSigned-off-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nSigned-off-by: Will Drewry \u003cwad@chromium.org\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\n\nChange-Id: I2159006d20daefe6add5adc47c22bdbcd7d79e3a\nv18: updated change desc\nv17: using new define values as per 3.4\nSigned-off-by: James Morris \u003cjames.l.morris@oracle.com\u003e\n"
    },
    {
      "commit": "74cfe2dcc0f4b17f9abbabf349e33c39a260987e",
      "tree": "206493082f5edc72fdac6c958877090d7d17fb37",
      "parents": [
        "a580da13cb3f1f4984e71befc4f78c5a1f3181d0",
        "6cf93503105dc0cf63fc1384088db92bb71cbe4c"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Dec 16 00:35:23 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Dec 16 00:35:23 2014 -0800"
      },
      "message": "Merge remote-tracking branch \u0027caf/LA.AF.1.1_rb1.7\u0027 into cm-12.0\n\nConflicts:\n\tdrivers/misc/qseecom.c\n\tfs/proc/task_mmu.c\n\tinclude/net/tcp.h\n\tnet/ipv4/syncookies.c\n\tnet/ipv6/route.c\n\tnet/ipv6/tcp_ipv6.c\n\nChange-Id: I8a953e9f483a24ee45f5e1c570b6a4f92e87c6e9\n"
    },
    {
      "commit": "45bb5ff6ed69d017d14ec37ef76b27747deed955",
      "tree": "76e44de5d725dde009ed88d903c1fe4776ebf722",
      "parents": [
        "715fe086a6d99d2efc6276028ac626766567e101",
        "8ca5b06fa71c0b5ad8174ff1152d3de74e706ee9"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Tue Nov 18 00:11:01 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Nov 18 00:11:01 2014 -0800"
      },
      "message": "Merge \"seq_file: introduce seq_setwidth() and seq_pad()\""
    },
    {
      "commit": "7b18590cff07a04fcf955e1648e4a9f11752a545",
      "tree": "ecb5f439e7001fc162baaa1854bb8211e7cc2690",
      "parents": [
        "50db8c0110dbff94dfacc1f4752a927dbe339e9c"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Nov 16 16:48:31 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Nov 16 17:29:36 2014 -0800"
      },
      "message": "gpu: msm2: Sync to upstream\n\n* Sync to android-msm-3.4-flo-lollipop-release\n\nChange-Id: Ia0df71c0a1f102de034860f4d212a05c806fef7d\n"
    },
    {
      "commit": "50db8c0110dbff94dfacc1f4752a927dbe339e9c",
      "tree": "fc604545ec971ab0e224c305f0b948edc08295aa",
      "parents": [
        "25b02b6d180efeec13851162c3319962977c1fb0",
        "2f64c5e6faa76368cd2c70c1d48fc4c2d44acbbf"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Nov 14 01:04:45 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Nov 14 01:04:45 2014 -0800"
      },
      "message": "Merge remote-tracking branch \u0027caf/caf/LA.AF.1.1_rb1.5\u0027 into cm-12.0\n"
    },
    {
      "commit": "8c1d434b2e49df7a7cefac06e62ab5faa7eb4776",
      "tree": "97f3aa4b233011a156128517bd85fb3e09f8cc38",
      "parents": [
        "bc4bcee71617461ed19a852f9d873f5979820ef1",
        "653be181eef3589b47119cd68c985975119fa61f"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Thu Nov 13 13:03:26 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Thu Nov 13 13:03:26 2014 -0800"
      },
      "message": "Merge \"net: ipv6: autoconf routes into per-device tables\""
    },
    {
      "commit": "ad3dae1c0ad772e899815622004f42e1318c48a4",
      "tree": "ce5d32a7c9d130bac2220a288ad23a4415acdc71",
      "parents": [
        "79fc4d24eef5e4f5e25782690379e97aee0327ea"
      ],
      "author": {
        "name": "Matt Mower",
        "email": "mowerm@gmail.com",
        "time": "Sun Oct 05 22:13:10 2014 -0500"
      },
      "committer": {
        "name": "Matt Mower",
        "email": "mowerm@gmail.com",
        "time": "Wed Oct 08 02:18:13 2014 -0500"
      },
      "message": "drivers: net: wireless: add HTC\u0027s bcmdhd_4335_mcc\n\nFrom m7stockui-3.4.10-gef77362.\n\nModifications from stock HTC driver:\n* Remove poorly commented-out CFLAGS section from Makefile\n* Make CONFIG_BCMDHD_4335_MCC select WIRELESS_EXT, WEXT_PRIV\n* Fix msm_watchdog.h include in dhd_sdio.c\n* Our kernel does not need OLD_CFG_80211; removing this flag also\n  required the following fixes in wl_cfg80211.c\n  - L292: ifdef out used_default_ssid\n  - L6698-6702: ifdef out usage of wl_cfg80211_hostapd_sec()\n\nChanges outside of driver: Make necessary additions (and block with\nCONFIG_BCMDHD_4335_MCC where appropriate) in:\n* drivers/mmc/host/msm_sdcc.c\n* include/linux/ieee80211.h\n* include/linux/nl80211.h\n* include/linux/wlan_plat.h\n\nChange-Id: I405010d3ae0fc3586de2a2aa3ffaab01909ddcde\n"
    },
    {
      "commit": "462ce7cf70a565d9fd58421bb28a4bdcff9dfa6e",
      "tree": "08073040d1eeaa0b05e95fb9e7a78e162f4aab72",
      "parents": [
        "1af043959e84f3e14fed7c9a965ce649217d2e42"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Mar 31 16:23:51 2014 +0900"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Wed Sep 17 03:26:12 2014 -0700"
      },
      "message": "net: core: Support UID-based routing.\n\nThis contains the following commits:\n\n1. 0149763 net: core: Add a UID range to fib rules.\n2. 1650474 net: core: Use the socket UID in routing lookups.\n3. 0b16771 net: ipv4: Add the UID to the route cache.\n4. ee058f1 net: core: Add a RTA_UID attribute to routes.\n    This is so that userspace can do per-UID route lookups.\n\nBug: 15413527\nChange-Id: I1285474c6734614d3bda6f61d88dfe89a4af7892\nSigned-off-by: Lorenzo Colitti \u003clorenzo@google.com\u003e\nGit-commit: 0b428749ce5969bc06c73855e360141b4e7126e8\nGit-repo: https://android.googlesource.com/kernel/common.git\nSigned-off-by: Ian Maund \u003cimaund@codeaurora.org\u003e\n"
    },
    {
      "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": "8ca5b06fa71c0b5ad8174ff1152d3de74e706ee9",
      "tree": "f60de147e2eba6f12e7d4af14d1b70f51cba8811",
      "parents": [
        "ad84b52a71414a48d02a7f4d4d52cd8b69c444d8"
      ],
      "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 Sep 15 03:02:08 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": "1229d6034b03092e9f352329fc6fa98adab46549",
      "tree": "7075e731df4c14bd6a02f2202b0a38299b8874ca",
      "parents": [
        "ad84b52a71414a48d02a7f4d4d52cd8b69c444d8"
      ],
      "author": {
        "name": "Ravi Aravamudhan",
        "email": "aravamud@codeaurora.org",
        "time": "Wed Apr 23 22:50:51 2014 -0700"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Sep 15 01:41:17 2014 -0700"
      },
      "message": "diag: Update SSIDs, event ids and log codes\n\nThe SSIDs, event IDs and log codes have fallen out of date.\nBring the SSIDs, event IDs and log codes up to date.\n\nChange-Id: I8e6a2af8baba359f32a489ddc06f619de826f97b\nSigned-off-by: Ravi Aravamudhan \u003caravamud@codeaurora.org\u003e\n"
    },
    {
      "commit": "313acf06fb916820d79f522a7ac9e046b876b74b",
      "tree": "adce9187c1a6bfba588af46f073ee26d5407909b",
      "parents": [
        "159c06a721a79de12b76eb32a3fd9d653bb2bc03"
      ],
      "author": {
        "name": "Katish Paran",
        "email": "kparan@codeaurora.org",
        "time": "Fri Sep 12 12:39:34 2014 +0530"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Fri Sep 12 10:56:42 2014 -0700"
      },
      "message": "diag: Bring ssids for cne atp feature up to date\n\nThis patch updates the ssids for cne atp feature.\n\nChange-Id: I762da4e2ae6197cb766620ffa3c0df14905354a2\nSigned-off-by: Katish Paran \u003ckparan@codeaurora.org\u003e\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": "653be181eef3589b47119cd68c985975119fa61f",
      "tree": "70622b13f1dd7ec4ce74ada46f489abe582fe2c5",
      "parents": [
        "cfc667e1eac22c3ee27aceaebb18e68102a2c65b"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Mar 26 19:35:41 2014 +0900"
      },
      "committer": {
        "name": "Samir Mehta",
        "email": "samirn@codeaurora.org",
        "time": "Tue Aug 05 17:58:34 2014 +0530"
      },
      "message": "net: ipv6: autoconf routes into per-device tables\n\nCurrently, IPv6 router discovery always puts routes into\nRT6_TABLE_MAIN. This causes problems for connection managers\nthat want to support multiple simultaneous network connections\nand want control over which one is used by default (e.g., wifi\nand wired).\n\nTo work around this connection managers typically take the routes\nthey prefer and copy them to static routes with low metrics in\nthe main table. This puts the burden on the connection manager\nto watch netlink to see if the routes have changed, delete the\nroutes when their lifetime expires, etc.\n\nInstead, this patch adds a per-interface sysctl to have the\nkernel put autoconf routes into different tables. This allows\neach interface to have its own autoconf table, and choosing the\ndefault interface (or using different interfaces at the same\ntime for different types of traffic) can be done using\nappropriate ip rules.\n\nThe sysctl behaves as follows:\n\n- \u003d 0: default. Put routes into RT6_TABLE_MAIN as before.\n- \u003e 0: manual. Put routes into the specified table.\n- \u003c 0: automatic. Add the absolute value of the sysctl to the\n       device\u0027s ifindex, and use that table.\n\nThe automatic mode is most useful in conjunction with\nnet.ipv6.conf.default.accept_ra_rt_table. A connection manager\nor distribution could set it to, say, -100 on boot, and\nthereafter just use IP rules.\n\nChange-Id: I093d39fb06ec413905dc0d0d5792c1bc5d5c73a9\nSigned-off-by: Lorenzo Colitti \u003clorenzo@google.com\u003e\nGit-commit: 5fe5c512af518d0abbbc0d2fafa8e355f518c2a9\nGit-repo: https://android.googlesource.com/kernel/common.git\n[imaund@codeaurora.org: Resolve trivial merge conflicts]\nSigned-off-by: Ian Maund \u003cimaund@codeaurora.org\u003e\n[samirn@codeaurora.org: Resolve trivial merge conflicts]\nSigned-off-by: Samir Mehta \u003csamirn@codeaurora.org\u003e\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "7b3cf42794302d759bd6146cdcdff9563a40d02e",
      "tree": "8426bf2433db1258689731fb261f35a51788202b",
      "parents": [
        "07e085188ce44c43c244381afbebc36b23ca61f1"
      ],
      "author": {
        "name": "Hardik Kantilal Patel",
        "email": "hkpatel@codeaurora.org",
        "time": "Tue Dec 17 19:33:07 2013 +0530"
      },
      "committer": {
        "name": "Hardik Kantilal Patel",
        "email": "hkpatel@codeaurora.org",
        "time": "Sat Jan 18 02:26:50 2014 +0530"
      },
      "message": "wcnss: Add support to configure the Wlan MAC addr\n\nThis change introduces a sysfs entry to allow userspace to\nconfigure the wlan MAC addr and exports an API which allows\nWLAN and other wireless technologies to query the wlan MAC\naddr\n\nChange-Id: I751b2cf2db1321926e8e16ef1baaa4fa3d8d06cf\nCRs-Fixed: 583465\nSigned-off-by:  \u003chkpatel@codeaurora.org\u003e\n"
    },
    {
      "commit": "a02803a55d61f7839338a60d2655b28a87a1714d",
      "tree": "bb45538df595cad5b4453a8c6c0f34eac824b65b",
      "parents": [
        "e5575b5e98ba8ee6e3edd081534f34a477afe583"
      ],
      "author": {
        "name": "Hariprasad Dhalinarasimha",
        "email": "hnamgund@codeaurora.org",
        "time": "Thu Jan 16 17:06:38 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Thu Jan 16 17:50:18 2014 -0800"
      },
      "message": "kernel/msm: Add qrngp header file\n\nAdd qrngp header file, required for external/qrngd project.\n\nChange-Id: Iac27ff57df91efe370ec749451142942289b23a8\nSigned-off-by: Hariprasad Dhalinarasimha \u003chnamgund@codeaurora.org\u003e\n"
    },
    {
      "commit": "86dc6b93ee413a3997b699476fc4dd78d8f35df7",
      "tree": "71504a3c49b46b466dccbd9486ca57cf4096000b",
      "parents": [
        "e25027c9bf3fb2dcdd893f13a5651401332941cb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 31 16:23:35 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jan 15 15:27:11 2014 -0800"
      },
      "message": "vlan: Fix header ops passthru when doing TX VLAN offload.\n\n[ Upstream commit 2205369a314e12fcec4781cc73ac9c08fc2b47de ]\n\nWhen the vlan code detects that the real device can do TX VLAN offloads\nin hardware, it tries to arrange for the real device\u0027s header_ops to\nbe invoked directly.\n\nBut it does so illegally, by simply hooking the real device\u0027s\nheader_ops up to the VLAN device.\n\nThis doesn\u0027t work because we will end up invoking a set of header_ops\nroutines which expect a device type which matches the real device, but\nwill see a VLAN device instead.\n\nFix this by providing a pass-thru set of header_ops which will arrange\nto pass the proper real device instead.\n\nTo facilitate this add a dev_rebuild_header().  There are\nimplementations which provide a -\u003ecache and -\u003ecreate but not a\n-\u003erebuild (f.e. PLIP).  So we need a helper function just like\ndev_hard_header() to avoid crashes.\n\nUse this helper in the one existing place where the\nheader_ops-\u003erebuild was being invoked, the neighbour code.\n\nWith lots of help from Florian Westphal.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e387172fe3c3f5d256f183c0f88c9f0dc5434a88",
      "tree": "2869b0c303eb867b899857588ab9bf9a9f8c9f78",
      "parents": [
        "fcbb1132558f68da2ce37a883be165129aa1eb31"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Sat Dec 07 17:26:27 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jan 15 15:27:11 2014 -0800"
      },
      "message": "net: unix: allow set_peek_off to fail\n\n[ Upstream commit 12663bfc97c8b3fdb292428105dd92d563164050 ]\n\nunix_dgram_recvmsg() will hold the readlock of the socket until recv\nis complete.\n\nIn the same time, we may try to setsockopt(SO_PEEK_OFF) which will hang until\nunix_dgram_recvmsg() will complete (which can take a while) without allowing\nus to break out of it, triggering a hung task spew.\n\nInstead, allow set_peek_off to fail, this way userspace will not hang.\n\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "58634ac42e736eea0e8b93cec610174879d36d58",
      "tree": "4179bdb042aa497dd2fb3c7d0cddc88e244e5237",
      "parents": [
        "fda73056f62d84376a3d29926708b4a08155da31",
        "a995dd1c29426a074364170359a026f68e8426db"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:51:43 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:51:43 2014 -0800"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/kk_2.7_rb1.21\u0027 into cm-11.0\n\nConflicts:\n\tdrivers/media/video/msm/msm_vfe32.h\n\tdrivers/media/video/msm/vfe/msm_vfe32.c\n\tnet/wireless/reg.c\n\nChange-Id: I073c609cfa1c461249bf728b28249bcaa1eaa211\n"
    },
    {
      "commit": "ce32c7f44318d735a5538a31d8c76526259a2c30",
      "tree": "05397a21f9467804cd90553e3dec7a783872def2",
      "parents": [
        "07ef0d45bfbf820a0270738cca9237e71a9521d2",
        "0a78e978eb03a7f6d5bd6f5ad8a88429ecea55be"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Mon Dec 23 11:58:28 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Dec 23 11:58:28 2013 -0800"
      },
      "message": "Merge \"msm: ehci-hsic: Add support to disable internal clock gating\""
    },
    {
      "commit": "10cd199e3d54372fee67ffd4c53cc75e52f620b3",
      "tree": "19f41c8d0c6bb10a7d1c89b4f6723a6a8233f390",
      "parents": [
        "de0f9a5a9d7932086e623560d66655cc8507cfec",
        "09b3d7972025ff9e654b8cce3453b5d9f205cbf8"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Dec 21 14:54:19 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Dec 21 14:54:19 2013 -0800"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/kk_2.7_rb1.17\u0027 into cm-11.0\n\nConflicts:\n\tarch/arm/kernel/process.c\n\tarch/arm/mach-msm/hotplug.c\n\tarch/arm/mach-msm/pm-8x60.c\n\tarch/arm/mach-msm/timer.c\n\tarch/arm/mm/mmu.c\n\tdrivers/media/video/msm/server/msm_cam_server.c\n\tinclude/linux/kref.h\n\tmm/Kconfig\n\nChange-Id: I283b4728c42363a2d826512c0b1bec281c48e470\n"
    },
    {
      "commit": "de0f9a5a9d7932086e623560d66655cc8507cfec",
      "tree": "d9e4678d68da38d7670b79c8b5e8782445c5ad7e",
      "parents": [
        "e1a3c5a3706d580390c02c69cb14dcd679d31d91",
        "84dfcb758ba7cce52ef475ac96861a558e1a20ca"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Dec 21 14:22:41 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Dec 21 14:22:41 2013 -0800"
      },
      "message": "Merge tag \u0027v3.4.75\u0027 into cm-11.0\n\nThis is the 3.4.75 stable release\n\nConflicts:\n\tdrivers/md/dm-crypt.c\n\tdrivers/mmc/card/block.c\n\tdrivers/net/ethernet/smsc/smc91x.h\n\nChange-Id: I39f38ef5530c5fef07583beb9d76b983e71b9ff3\n"
    },
    {
      "commit": "627dc185e00f7e94e1ec243f04d204675175cd73",
      "tree": "5f161a65753f16caf7bcb0dc5a0e282e3b9e0940",
      "parents": [
        "b5043328b852715b21ab0e41a1edddfc7345f051"
      ],
      "author": {
        "name": "Hamad Kadmany",
        "email": "hkadmany@codeaurora.org",
        "time": "Tue Dec 17 21:34:36 2013 +0200"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Dec 17 23:26:46 2013 -0800"
      },
      "message": "csdio: Remove the driver\n\nThe driver is a legacy driver that is not used any longer\nand its implementation is neither correct nor compiles.\n\nChange-Id: I9862c0f93ccad6079a616f6997987d4e187a137c\nSigned-off-by: Hamad Kadmany \u003chkadmany@codeaurora.org\u003e\n"
    },
    {
      "commit": "b9f660921e5d5f5071256623efc7c015970a7171",
      "tree": "ca71b87adc5f66c8a60d7a3dc2dd82f44ac74a90",
      "parents": [
        "83fd9a808c01fdf98c090c55127493aae5d81fe5"
      ],
      "author": {
        "name": "Matt Mower",
        "email": "mowerm@gmail.com",
        "time": "Wed Dec 11 23:03:55 2013 -0600"
      },
      "committer": {
        "name": "Matt Mower",
        "email": "mowerm@gmail.com",
        "time": "Wed Dec 11 23:37:05 2013 -0600"
      },
      "message": "usb: gadget: add support for multiple LUNs\n\nChange-Id: I9790007b65a749af2169f3858ffd32a1d616490f\n"
    },
    {
      "commit": "2a38ada0f1ab9f894eea4428731ebc811b51c3f3",
      "tree": "759c765808a23a3a35e4ba10d8306c847c0205b7",
      "parents": [
        "19218e895cefdd389c96af12c93c89e7276bbaad",
        "44d19f5a04ae4e433548ba2f25e4d2ccfcac765e"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Dec 08 12:50:38 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Dec 08 12:50:38 2013 -0800"
      },
      "message": "Merge tag \u0027v3.4.72\u0027 into tmp\n\nThis is the 3.4.72 stable release\n\nConflicts:\n\tarch/arm/Kconfig\n\tarch/arm/include/asm/mutex.h\n\tarch/arm/kernel/perf_event.c\n\tarch/arm/kernel/traps.c\n\tarch/arm/mm/dma-mapping.c\n\tdrivers/base/power/main.c\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/gpu/drm/radeon/radeon_mode.h\n\tdrivers/mmc/card/block.c\n\tdrivers/mmc/host/sdhci.c\n\tdrivers/usb/core/message.c\n\tdrivers/usb/host/xhci-plat.c\n\tdrivers/usb/host/xhci.h\n\tdrivers/virtio/virtio_ring.c\n\tfs/ubifs/dir.c\n\tinclude/linux/freezer.h\n\tinclude/linux/virtio.h\n\tinclude/media/v4l2-ctrls.h\n\tinclude/net/bluetooth/hci_core.h\n\tinclude/net/bluetooth/mgmt.h\n\tkernel/cgroup.c\n\tkernel/futex.c\n\tkernel/signal.c\n\tnet/bluetooth/hci_conn.c\n\tnet/bluetooth/hci_core.c\n\tnet/bluetooth/hci_event.c\n\tnet/bluetooth/l2cap_core.c\n\tnet/bluetooth/mgmt.c\n\tnet/bluetooth/rfcomm/sock.c\n\tnet/bluetooth/smp.c\n\nChange-Id: I4fb0d5de74ca76f933d95d98e1a9c2c859402f34\n"
    },
    {
      "commit": "d8b8a43e0f3c99bb29f258ef508969793f8e43bd",
      "tree": "275f0d0bfedf91eed51f22c7be6bed227cbf5b77",
      "parents": [
        "9e23d8bd64e49062faf4aa4abcedd3943cf1d09d"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Mar 01 22:45:44 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Dec 08 07:29:43 2013 -0800"
      },
      "message": "dm: fix truncated status strings\n\ncommit fd7c092e711ebab55b2688d3859d95dfd0301f73 upstream.\n\nAvoid returning a truncated table or status string instead of setting\nthe DM_BUFFER_FULL_FLAG when the last target of a table fills the\nbuffer.\n\nWhen processing a table or status request, the function retrieve_status\ncalls ti-\u003etype-\u003estatus. If ti-\u003etype-\u003estatus returns non-zero,\nretrieve_status assumes that the buffer overflowed and sets\nDM_BUFFER_FULL_FLAG.\n\nHowever, targets don\u0027t return non-zero values from their status method\non overflow. Most targets returns always zero.\n\nIf a buffer overflow happens in a target that is not the last in the\ntable, it gets noticed during the next iteration of the loop in\nretrieve_status; but if a buffer overflow happens in the last target, it\ngoes unnoticed and erroneously truncated data is returned.\n\nIn the current code, the targets behave in the following way:\n* dm-crypt returns -ENOMEM if there is not enough space to store the\n  key, but it returns 0 on all other overflows.\n* dm-thin returns errors from the status method if a disk error happened.\n  This is incorrect because retrieve_status doesn\u0027t check the error\n  code, it assumes that all non-zero values mean buffer overflow.\n* all the other targets always return 0.\n\nThis patch changes the ti-\u003etype-\u003estatus function to return void (because\nmost targets don\u0027t use the return code). Overflow is detected in\nretrieve_status: if the status method fills up the remaining space\ncompletely, it is assumed that buffer overflow happened.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "18719a4c7a90af3de4bb071511dd4a6dcf61a2e0",
      "tree": "8a2a831db542446ee13ec1d9ec8d484ecbb72843",
      "parents": [
        "11afb94fbe0337a06ee7fce36841969b4e538622"
      ],
      "author": {
        "name": "Hannes Frederic Sowa",
        "email": "hannes@stressinduktion.org",
        "time": "Thu Nov 21 03:14:22 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Dec 08 07:29:41 2013 -0800"
      },
      "message": "net: rework recvmsg handler msg_name and msg_namelen logic\n\n[ Upstream commit f3d3342602f8bcbf37d7c46641cb9bca7618eb1c ]\n\nThis patch now always passes msg-\u003emsg_namelen as 0. recvmsg handlers must\nset msg_namelen to the proper size \u003c\u003d sizeof(struct sockaddr_storage)\nto return msg_name to the user.\n\nThis prevents numerous uninitialized memory leaks we had in the\nrecvmsg handlers and makes it harder for new code to accidentally leak\nuninitialized memory.\n\nOptimize for the case recvfrom is called with NULL as address. We don\u0027t\nneed to copy the address at all, so set it to NULL before invoking the\nrecvmsg handler. We can do so, because all the recvmsg handlers must\ncope with the case a plain read() is called on them. read() also sets\nmsg_name to NULL.\n\nAlso document these changes in include/linux/net.h as suggested by David\nMiller.\n\nChanges since RFC:\n\nSet msg-\u003emsg_name \u003d NULL if user specified a NULL in msg_name but had a\nnon-null msg_namelen in verify_iovec/verify_compat_iovec. This doesn\u0027t\naffect sendto as it would bail out earlier while trying to copy-in the\naddress. It also more naturally reflects the logic by the callers of\nverify_iovec.\n\nWith this change in place I could remove \"\nif (!uaddr || msg_sys-\u003emsg_namelen \u003d\u003d 0)\n\tmsg-\u003emsg_name \u003d NULL\n\".\n\nThis change does not alter the user visible error logic as we ignore\nmsg_namelen as long as msg_name is NULL.\n\nAlso remove two unnecessary curly brackets in ___sys_recvmsg and change\ncomments to netdev style.\n\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSuggested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Hannes Frederic Sowa \u003channes@stressinduktion.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    }
  ],
  "next": "4dd7a52b53ab79e8990bb295a2907d47345d2fa2"
}
