)]}'
{
  "log": [
    {
      "commit": "764ff2dcacb58e36dcee7d5d140cbd78e5efbd33",
      "tree": "e5ba564856cc564bbb3b8549026aedae87a9f51a",
      "parents": [
        "c1962334776a780a44a000671018e78d22882e6c"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Thu Sep 26 11:49:46 2013 +0200"
      },
      "committer": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 17:49:21 2014 +0100"
      },
      "message": "spi_aic3254: copy header for build\n"
    },
    {
      "commit": "c1962334776a780a44a000671018e78d22882e6c",
      "tree": "0530f61a5b9867b935794a4dd3f11170d42862d4",
      "parents": [
        "221b73962173e8b10ebd4de41c3f79d492bb376a"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Wed Sep 11 09:38:51 2013 +0200"
      },
      "committer": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 17:48:42 2014 +0100"
      },
      "message": "spi_aic3254 driver\n"
    },
    {
      "commit": "d53cefe4c6b4b3ecdfc35e9a280f7b2a51d0d8fa",
      "tree": "7e381af6e3b8efc41cbcea3f17015553e48aca01",
      "parents": [
        "af30bc3fb6cff3916099063f9b63fd1310023a68"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 17:07:14 2014 +0100"
      },
      "committer": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 17:07:14 2014 +0100"
      },
      "message": "pmic8058-xoadc: add driver from HTC kernel\n"
    },
    {
      "commit": "e2bb4a2ebee57e5cac5d1e26817d9e690ddef522",
      "tree": "c531f24cd3e2faef48cd636c2757d71ad0fdac54",
      "parents": [
        "7d6d6f3e35f586c0e599e4045f0576263d911226"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 16:39:30 2014 +0100"
      },
      "committer": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 16:39:30 2014 +0100"
      },
      "message": "mfd: add tps65200 charger driver\n"
    },
    {
      "commit": "7d6d6f3e35f586c0e599e4045f0576263d911226",
      "tree": "035c4121ff0806ac3c477d52fb962f93f8ecba8e",
      "parents": [
        "c11fb415507d0fb651f3ccd4bee7ae16bd5b78ad"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 16:38:56 2014 +0100"
      },
      "committer": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 16:38:56 2014 +0100"
      },
      "message": "pm8xx-batt-alarm: 8x60 need pm8xxx_batt_alarm_state_set function\n"
    },
    {
      "commit": "c11fb415507d0fb651f3ccd4bee7ae16bd5b78ad",
      "tree": "e90f5b5193cf31ef26eebd2f80be414225f06c1e",
      "parents": [
        "69a4153b66155a21683fc2ea66a7dbe95a7ca9b2"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 16:38:20 2014 +0100"
      },
      "committer": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 16:38:20 2014 +0100"
      },
      "message": "power_supply: update header, we need it also on HTC_BATT_8x60\n"
    },
    {
      "commit": "aa9453b068dce2b8f26a941328685358f8a3c453",
      "tree": "b5d938eb5b3ef2c8bfed4dd3fa5bf4afd79f31b7",
      "parents": [
        "2325bf2963727126c0b2fd5aa6ee88a6cd7942cb"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 16:03:19 2014 +0100"
      },
      "committer": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 28 16:03:19 2014 +0100"
      },
      "message": "touchscreen: cy8c_tma_ts driver\n"
    },
    {
      "commit": "1bc7b1cc01bfa3bdde33fb9ffd34fa3c0cb0306c",
      "tree": "6994dd52f2320985d2ac5c2da646b4a361e9aacc",
      "parents": [
        "f26ba13ccf5d14cf49c6502cf662e4a8ff711355"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Wed Jan 08 00:24:20 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Jan 18 22:09:34 2014 -0800"
      },
      "message": "ASoC: msm: Add support for 24-bit output path\n\nChange-Id: I9c0c2e04fec3afe0df0f80188bc38e68d2d3074f\n"
    },
    {
      "commit": "d01e35ffcf7fc59e32294c86da39b0d1775dd32b",
      "tree": "2c913795a4917fbc48fa1d11fc342d806d6e0d2c",
      "parents": [
        "5974b2488f5251d293b03fb018b57d8eac9e61ad"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Mon Jan 06 00:08:51 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Jan 18 01:01:59 2014 -0800"
      },
      "message": "msm: HTC: Update HTC battery drivers\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: I69b7420a33199b5a48119d846c5fdb221abe2d65\n"
    },
    {
      "commit": "0810abc9daf4996424d6e0450dfcae36ddd72ac8",
      "tree": "83838097a308bac0171ad91b07dd4c61b67dcfff",
      "parents": [
        "4b3870c4b586d539347a645df64fa591d5f5c7f7"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 07 16:33:21 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sat Jan 18 01:01:56 2014 -0800"
      },
      "message": "input: touchscreen: synaptics_3200: Update Synaptics 3200 driver\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Icfc4997d7d6f6257c8f947f2d50eb455481f8832\n"
    },
    {
      "commit": "8923f4a7666a738f199c9e34e642dcea2707518e",
      "tree": "238886889905ac04c867eb80629adfe9ff4f5b14",
      "parents": [
        "55adfda2bb5e70964c35c2c0904781d1979fd2f0"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 07 12:43:27 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:06 2014 -0800"
      },
      "message": "input: mpu3050: Update HTC version of MPU3050 sensor\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: If99645b2d370da57c359557cdd2b3b0a3be19531\n"
    },
    {
      "commit": "84cecde8fb57a8039178e91e358cf9a53081a5e4",
      "tree": "7d9a849d3dc2e6e6c3785b1299eac26d99a38fa8",
      "parents": [
        "e777726150be031fa4578b5e583d39b59cb1665a"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 07 12:01:50 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:06 2014 -0800"
      },
      "message": "input: cm3629: Update CM3629 proximity/light sensor\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Iccb11b0fe343f063aab0e05ea9b0d9119fcfa1f9\n"
    },
    {
      "commit": "e777726150be031fa4578b5e583d39b59cb1665a",
      "tree": "632c407bc55d3ed21df607d1bc3961b94d9d92e2",
      "parents": [
        "760fa6fd3f0df05f3cf0a5661b2cb4ab686c7f9e"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Tue Jan 07 00:09:06 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:06 2014 -0800"
      },
      "message": "leds: leds-pm8xxx: Update HTC leds-pm8xxx variant\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: If5c4fa4941f049b0e4be7f6b50ecf1703a444883\n"
    },
    {
      "commit": "760fa6fd3f0df05f3cf0a5661b2cb4ab686c7f9e",
      "tree": "c6447b78bdf3466fea96cdef2dc4fe97f8ec1c00",
      "parents": [
        "6e3ffcee421e94a7390b4037d083d182afaf2493"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Mon Jan 06 00:28:53 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:06 2014 -0800"
      },
      "message": "power: pm8921-charger: Update HTC pm8921 drivers\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Idaa067e6f46de61b4ba62576142a94c45c08425b\n"
    },
    {
      "commit": "6e3ffcee421e94a7390b4037d083d182afaf2493",
      "tree": "bbeddf65611f47df990475b4a6a5aa9b5049f37b",
      "parents": [
        "3db2218ca3694a6c945b2e4477829a1396cee9ee"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 12 21:44:31 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:05 2014 -0800"
      },
      "message": "msm: camera: Update HTC camera stack drivers\n\n* HTC kernel version: m7-jb-3.4.10-e22f38b\n\nChange-Id: Ie3001d30ee46649668708f20ec0a24d5e71889a1\n"
    },
    {
      "commit": "291b292fc9e0736b5ddc7412bb0d6da047807693",
      "tree": "6a7975fb5f0100181322c9b06f3733db069a62b0",
      "parents": [
        "37ac070ec93c4587a7cd75795e84219886679d70"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 12 20:38:35 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:05 2014 -0800"
      },
      "message": "msm: camera: yushanII: Import HTC Yushan II driver\n\n* HTC kernel version: m7-jb-3.4.10-e22f38b\n\nChange-Id: I81dc50d40033d3654d426d753baff524641744d4\n"
    },
    {
      "commit": "704908007e71d7128e99443b8e650610434535b4",
      "tree": "968dec8cf0267005c1ed29a7d992241f69d466a6",
      "parents": [
        "937c596c6bad3d85bd5c407c6c91bd56b2ba28c9"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 22:04:38 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:04 2014 -0800"
      },
      "message": "msm_serial_hs_cir: Add HTC CIR serial driver\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: I738963154d7b29aec19190f667082f2e66578a00\n"
    },
    {
      "commit": "937c596c6bad3d85bd5c407c6c91bd56b2ba28c9",
      "tree": "689f634c8cbf690ab6f16db59327aeb3a9f616af",
      "parents": [
        "0a7d294a979ba4c97bd34d096ff21bbae732cd5f"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 21:50:52 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:04 2014 -0800"
      },
      "message": "input: bma250_bosch: Add HTC variant of BMA250 sensor\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Iea33decb7b9f79396c08acfccf13c2452299edb1\n"
    },
    {
      "commit": "0a7d294a979ba4c97bd34d096ff21bbae732cd5f",
      "tree": "c8579897c3476a7971ff6545c973cdb72843d6a6",
      "parents": [
        "9dc34f38fdbd841a6d5f1b0ee0a34e2c6b6581a8"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 21:41:29 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:04 2014 -0800"
      },
      "message": "input: akm8963_nst: Add HTC variant of AKM8963 compass\n\nHTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: Idde00c0369157833aabcc444f0338062e566d1aa\n"
    },
    {
      "commit": "9dc34f38fdbd841a6d5f1b0ee0a34e2c6b6581a8",
      "tree": "09a8a743a8cc6dc1f9ae1df26f69858a5d80d560",
      "parents": [
        "20861837e09aa5242137caa2176ae3ecf567851b"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 00:13:45 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:04 2014 -0800"
      },
      "message": "misc: rt5501: Add HTC RT5501 Amp driver\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: I0b067aebecd6c36aa3bdeb32fad2b30aadc11f49\n"
    },
    {
      "commit": "20861837e09aa5242137caa2176ae3ecf567851b",
      "tree": "ee29b886ad6fb0bb288c68d3d2607123dd32276c",
      "parents": [
        "be0391a6808085c1d16b87d8be2ddad8cea8c89a"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Sun Jan 05 00:09:42 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:03 2014 -0800"
      },
      "message": "misc: tfa9887: Add HTC TFA9887 Amp driver\n\n* HTC kernel version: m7-kk-3.4.10-17db3b4\n\nChange-Id: I8fbeff195ff11497f9fef8b1d8196d4c76eaaa6b\n"
    },
    {
      "commit": "7f6505ef0fd4380c0f8c2930e146d072c5994db4",
      "tree": "1fed396a4b9342b5bba8013ec14d89e8618cd5fc",
      "parents": [
        "95e01d0cbdcff5d763ae9676766666796c70ec5a"
      ],
      "author": {
        "name": "Flemmard",
        "email": "flemmard@gmail.com",
        "time": "Mon Jan 13 23:54:39 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:03 2014 -0800"
      },
      "message": "msm: mdm2: Add HTC modem initialization code\n\nChange-Id: I49ca00e20fa5c335ab8f323762e91743dfaf85d7\n"
    },
    {
      "commit": "628f0c18a9c791a6fc1e83a9ef760e4caeee7382",
      "tree": "4b5e0808a40829e6d11b802c3600b7f9adf6d41e",
      "parents": [
        "c92e49eaca7fd2f9657eaa6e1548257249fbf234"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Mon May 21 20:20:05 2012 +0300"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:02 2014 -0800"
      },
      "message": "iommu/core: pass a user-provided token to fault handlers\n\nSometimes a single IOMMU user may have to deal with several\ndifferent IOMMU devices (e.g. remoteproc).\n\nWhen an IOMMU fault happens, such users have to regain their\ncontext in order to deal with the fault.\n\nUsers can\u0027t use the private fields of neither the iommu_domain nor\nthe IOMMU device, because those are already used by the IOMMU core\nand low level driver (respectively).\n\nThis patch just simply allows users to pass a private token (most\nnotably their own context pointer) to iommu_set_fault_handler(),\nand then makes sure it is provided back to the users whenever\nan IOMMU fault happens.\n\nThe patch also adopts remoteproc to the new fault handling\ninterface, but the real functionality using this (recovery of\nremote processors) will only be added later in a subsequent patch\nset.\n\nChange-Id: Ic04659686e72838a0db518e9303dd037191e3879\nCc: Fernando Guzman Lugo \u003cfernando.lugo@ti.com\u003e\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n[ohaugan@codeaurora.org: Resolved compilation and merge issues]\nSigned-off-by: Olav Haugan \u003cohaugan@codeaurora.org\u003e\n\nConflicts:\n\tdrivers/video/msm/mdss/mdss_mdp.c\n"
    },
    {
      "commit": "f7652b38248b84e9691e277e7671e13cec6631bc",
      "tree": "355228a2dd1d7c4b4c2aa7a34644da8415e8c07d",
      "parents": [
        "4caf72e60bb6fe7bf8fb0c3f1e2cafe4421ef9c1"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Tue Nov 26 15:20:51 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:14:02 2014 -0800"
      },
      "message": "gpu: msm: Add new Adreno driver\n\n* Temporary place for this.\n\nChange-Id: I83b5d75fbd201c352d011ed43f21ebe3576e058c\n"
    },
    {
      "commit": "64792243b4e08d344244511bf10b193967f988be",
      "tree": "60ef46475b0ccb49b104e7deb7944ba22e05d467",
      "parents": [
        "e3552d062b6b6b59803875b13e93dc4eb65ecfb0"
      ],
      "author": {
        "name": "Rohit Gupta",
        "email": "rohgup@codeaurora.org",
        "time": "Mon Dec 09 17:25:07 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:30 2014 -0800"
      },
      "message": "cpufreq: interactive: Remove trace event from idle_start handler\n\nRemoved the trace_cpufreq_interactive_idle_start.\nAlso fix a crash resulting from accessing NULL policy before taking\nthe pcpu-\u003eenable_sem lock. The policy can be NULL if the core is\nhotplugged out before the enable_sem lock is taken.\n\nChange-Id: I7e2809cc016b3b383a44cdf3c697013e2d2b5417\nSigned-off-by: Rohit Gupta \u003crohgup@codeaurora.org\u003e\n"
    },
    {
      "commit": "e3552d062b6b6b59803875b13e93dc4eb65ecfb0",
      "tree": "2b12132ee60e444277f1bd2131d3185ecf130e75",
      "parents": [
        "0a03df2143535d9f09cd629334d7b56c01bada9f"
      ],
      "author": {
        "name": "Rohit Gupta",
        "email": "rohgup@codeaurora.org",
        "time": "Wed Nov 27 17:08:55 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:30 2014 -0800"
      },
      "message": "cpufreq: interactive: Reset floor_validate_time if busy at max for 100ms\n\nWhen the interactive governor selects to run at max frequency it doesn\u0027t\nre-schedule the timer until it hits an idle. This change checks if the CPU\nhas been continuously busy for last 100ms on hitting an idle start. If yes,\nthen floor_validate_time is reset so that the CPU stays at max frequency\nfor at least another 100 ms before stepping down.\nThis is an important feature for detecting CPU intensive workloads which\nrequire high frequencies for achieving better performance.\n\nChange-Id: I7d48ffbc3d50a80af9be3bf94667ee3d0120b763\nSigned-off-by: Rohit Gupta \u003crohgup@codeaurora.org\u003e\n"
    },
    {
      "commit": "38b17156cd7847f3b1e378f6f8ef4227ffbe6d44",
      "tree": "b5ae275ac41b7076b932320cc9ac25783917db03",
      "parents": [
        "70d01bbd5d9dd6d6cbf0ad9a49e82ed615d4f957"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Sat Mar 02 11:10:11 2013 +0100"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:28 2014 -0800"
      },
      "message": "tick: Dynamically set broadcast irq affinity\n\nWhen a cpu goes to a deep idle state where its local timer is\nshutdown, it notifies the time frame work to use the broadcast timer\ninstead.  Unfortunately, the broadcast device could wake up any CPU,\nincluding an idle one which is not concerned by the wake up at all. So\nin the worst case an idle CPU will wake up to send an IPI to the CPU\nwhose timer expired.\n\nProvide an opt-in feature CLOCK_EVT_FEAT_DYNIRQ which tells the core\nthat is should set the interrupt affinity of the broadcast interrupt\nto the cpu which has the earliest expiry time. This avoids unnecessary\nspurious wakeups and IPIs.\n\n[ tglx: Adopted to cpumask rework, silenced an uninitialized warning,\n  massaged changelog ]\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nCc: viresh.kumar@linaro.org\nCc: jacob.jun.pan@linux.intel.com\nCc: linux-arm-kernel@lists.infradead.org\nCc: santosh.shilimkar@ti.com\nCc: linaro-kernel@lists.linaro.org\nCc: patches@linaro.org\nCc: rickard.andersson@stericsson.com\nCc: vincent.guittot@linaro.org\nCc: linus.walleij@stericsson.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1362219013-18173-3-git-send-email-daniel.lezcano@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nChange-Id: I6a880a39dd595526b80a6d72b88be74163513da9\nSigned-off-by: Karthik Parsha \u003ckparsha@codeaurora.org\u003e\nSigned-off-by: Mahesh Sivasubramanian \u003cmsivasub@codeaurora.org\u003e\n"
    },
    {
      "commit": "eaf001971e9feaecfb88c7905666d74800e25b78",
      "tree": "580b0ae4877d5012e29a3536fdbda8490afcbe94",
      "parents": [
        "2dcea87b2a1ba331711661e34c3ce0a4c54c6ca8"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Tue Nov 19 14:16:53 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:27 2014 -0800"
      },
      "message": "tracing/sched: add load balancer tracepoint\n\nWhen doing performance analysis it can be useful to see exactly\nwhat is going on with the load balancer - when it runs and why\nexactly it may not be redistributing load.\n\nThis additional tracepoint will show the idle context of the\nload balance operation (idle, not idle, newly idle), various\nvalues from the load balancing operation, the final result,\nand the new balance interval.\n\nChange-Id: I9e5c97ae3878bea44e60d189ff3cec2275f2c75e\nCRs-Fixed: 583754\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "83cb3f77d572b10661f62b1dec85b83ece402519",
      "tree": "80e5e95da27285d9c8040c622aeb4fb11743fb76",
      "parents": [
        "1cbddb5a1f3cc18cddae478b1c4414213c15ebea"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:47 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:27 2014 -0800"
      },
      "message": "mm: methods for teaching filesystems about PG_swapcache pages\n\nIn order to teach filesystems to handle swap cache pages, three new page\nfunctions are introduced:\n\n  pgoff_t page_file_index(struct page *);\n  loff_t page_file_offset(struct page *);\n  struct address_space *page_file_mapping(struct page *);\n\npage_file_index() - gives the offset of this page in the file in\nPAGE_CACHE_SIZE blocks.  Like page-\u003eindex is for mapped pages, this\nfunction also gives the correct index for PG_swapcache pages.\n\npage_file_offset() - uses page_file_index(), so that it will give the\nexpected result, even for PG_swapcache pages.\n\npage_file_mapping() - gives the mapping backing the actual page; that is\nfor swap cache pages it will give swap_file-\u003ef_mapping.\n\nChange-Id: I13d18bb25be606760eac26cc842eb7c9fc9e4766\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: f981c5950fa85916ba49bea5d9a7a5078f47e569\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[ohaugan@codeaurora.org: Resolved merge issues]\nSigned-off-by: Olav Haugan \u003cohaugan@codeaurora.org\u003e\n"
    },
    {
      "commit": "8ad62c20c16409cf90fd7c6774f71ce81378d6a0",
      "tree": "01fef82fc29ba7a77e541cb0bfec5cbff88bc681",
      "parents": [
        "857f6d1788f02744eb18044c980e17cb6904ddb9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 26 17:26:01 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:26 2014 -0800"
      },
      "message": "mm: add a field to store names for private anonymous memory\n\nUserspace processes often have multiple allocators that each do\nanonymous mmaps to get memory.  When examining memory usage of\nindividual processes or systems as a whole, it is useful to be\nable to break down the various heaps that were allocated by\neach layer and examine their size, RSS, and physical memory\nusage.\n\nThis patch adds a user pointer to the shared union in\nvm_area_struct that points to a null terminated string inside\nthe user process containing a name for the vma.  vmas that\npoint to the same address will be merged, but vmas that\npoint to equivalent strings at different addresses will\nnot be merged.\n\nUserspace can set the name for a region of memory by calling\nprctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, start, len, (unsigned long)name);\nSetting the name to NULL clears it.\n\nThe names of named anonymous vmas are shown in /proc/pid/maps\nas [anon:\u003cname\u003e] and in /proc/pid/smaps in a new \"Name\" field\nthat is only present for named vmas.  If the userspace pointer\nis no longer valid all or part of the name will be replaced\nwith \"\u003cfault\u003e\".\n\nThe idea to store a userspace pointer to reduce the complexity\nwithin mm (at the expense of the complexity of reading\n/proc/pid/mem) came from Dave Hansen.  This results in no\nruntime overhead in the mm subsystem other than comparing\nthe anon_name pointers when considering vma merging.  The pointer\nis stored in a union with fieds that are only used on file-backed\nmappings, so it does not increase memory usage.\n\nChange-Id: Ie2ffc0967d4ffe7ee4c70781313c7b00cf7e3092\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "0df1808fb0102b1af626bc7399d2a74caf0174e5",
      "tree": "8bef62676e809e1f07931aa13065e7322fb01051",
      "parents": [
        "c30b82e496aa8d3afeecfcb4a3bef04241c10d9a"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Jan 18 19:11:43 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:22 2014 -0800"
      },
      "message": "ARM: Drop VCM framework\n\nThis framework wasn\u0027t accepted upstream and is not used. Drop it.\n\nChange-Id: Ieb381a679873cbfb4baf245a5bcb8df1c730d964\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\n"
    },
    {
      "commit": "c30b82e496aa8d3afeecfcb4a3bef04241c10d9a",
      "tree": "f35a6bdb5033b08db07955f372e1d7c599327315",
      "parents": [
        "530f136b3e83972803dd6c992a36c39216cf6360"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Fri Apr 13 12:32:09 2012 +0200"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:22 2014 -0800"
      },
      "message": "mm: vmalloc: use const void * for caller argument\n\n\u0027const void *\u0027 is a safer type for caller function type. This patch\nupdates all references to caller function type.\n\nChange-Id: If950cfcfc63911756ac3709c8bf6da10c8b98f1b\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nReviewed-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nGit-commit: 5e6cafc83e30f0f70c79a2b7aef237dc57e29f02\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "96e7ce4605d084fe6fb120ac41d0b543951922ac",
      "tree": "6f94be50f145c4949c400fcae73deb489c624c54",
      "parents": [
        "7036109e59e992112a3cd04c7978e212e38193c8"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Mon Jul 30 09:11:33 2012 +0200"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:22 2014 -0800"
      },
      "message": "ARM: dma-mapping: remove custom consistent dma region\n\nThis patch changes dma-mapping subsystem to use generic vmalloc areas\nfor all consistent dma allocations. This increases the total size limit\nof the consistent allocations and removes platform hacks and a lot of\nduplicated code.\n\nAtomic allocations are served from special pool preallocated on boot,\nbecause vmalloc areas cannot be reliably created in atomic context.\n\nChange-Id: Ibb2230e80249598a81122083bf3fa2f050a0a71e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nReviewed-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nGit-commit: e9da6e9905e639b0f842a244bc770b48ad0523e9\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Context fixups and tweaking of some prototypes]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "069398a80c823aa99fa8861bb64289fa268f73fc",
      "tree": "3e7d7c1edce6ecd0d68220b1fb3e907e053b922d",
      "parents": [
        "9992089db7d070adf6950517cbbf21e7e75e954e"
      ],
      "author": {
        "name": "Liam Mark",
        "email": "lmark@codeaurora.org",
        "time": "Wed Jan 16 10:14:40 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:21 2014 -0800"
      },
      "message": "ion: tracing: add ftrace events for ion allocations\n\nAdd ftrace events for ion allocations to make it easier to profile\ntheir performance.\n\nChange-Id: I9f32e076cd50d7d3a145353dfcef74f0f6cdf8a0\nSigned-off-by: Liam Mark \u003clmark@codeaurora.org\u003e\n"
    },
    {
      "commit": "60392bf640798e5227ef58ef17d2abcc534f6eb0",
      "tree": "501d0bf3bbea2ed258770b8a72b83ceb54818a8c",
      "parents": [
        "734f1f8f6ff7f0e007b8f73b14f7129cf28e23d1"
      ],
      "author": {
        "name": "Rohit Gupta",
        "email": "rohgup@codeaurora.org",
        "time": "Wed Aug 14 14:27:41 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:21 2014 -0800"
      },
      "message": "trace: power: Adding trace events for cpufreq\n\nAdded two events to help debugging cpufreq:\n1) cpufreq_sampling_event: To capture governor sampling instants\n   when cpu load is evaluated and an appropriate frequency is\n   selected.\n2) cpufreq_freq_synced: to capture frequency synchronization of\n   destination cpu with the source cpu triggered by foreground\n   thread migrations.\n\nChange-Id: I75bc7c3104b6e0750d9ede95602098d335f4f533\nSigned-off-by: Rohit Gupta \u003crohgup@codeaurora.org\u003e\n"
    },
    {
      "commit": "734f1f8f6ff7f0e007b8f73b14f7129cf28e23d1",
      "tree": "b5314bab0c1fce6015c2c1742dcb1ead53dbd966",
      "parents": [
        "4c1b023ece04f8fb9e707c87713b6f87e46116cc"
      ],
      "author": {
        "name": "Lee Susman",
        "email": "lsusman@codeaurora.org",
        "time": "Sun May 05 17:31:17 2013 +0300"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:21 2014 -0800"
      },
      "message": "mm: pass readahead info down to the i/o scheduler\n\nSome i/o schedulers (i.e. row-iosched, cfq-iosched) deploy an idling\nalgorithm in order to be better synced with the readahead algorithm.\nIdling is a prediction algorithm for incoming read requests.\n\nIn this patch we mark pages which are part of a readahead window, by\nsetting a newly introduced flag. With this flag, the i/o scheduler can\nidentify a request which is associated with a readahead page. This\nenables the i/o scheduler\u0027s idling mechanism to be en-sync with the\nreadahead mechanism and, in turn, can increase read throughput.\n\nChange-Id: I0654f23315b6d19d71bcc9cc029c6b281a44b196\nSigned-off-by: Lee Susman \u003clsusman@codeaurora.org\u003e\n"
    },
    {
      "commit": "c69159bcfe634d6cb905b525c0701b19be2b210f",
      "tree": "7ba8e14960e94d77c216e5c35fb0d30eea871c27",
      "parents": [
        "124ae1068fe81507b0f473d52772a5ac46e657e0"
      ],
      "author": {
        "name": "Ben Jones",
        "email": "ben.jones@imgtec.com",
        "time": "Wed Nov 21 13:32:02 2012 +0000"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:20 2014 -0800"
      },
      "message": "freezer: define try_to_freeze_nowarn if CONFIG_FREEZER\u003dn\n\nFixes build since:\n  0e432e6 HACK: ARM: disable sleeping while atomic warning in do_signal\n\nChange-Id: I451217171c6beb55ab4d190e1248ddbc9a2d9516\nSigned-off-by: Ben Jones \u003cben.jones@imgtec.com\u003e\n"
    },
    {
      "commit": "e7c3c141240caa84f03ba2100ad552d9e31e8c68",
      "tree": "3e72deca51bbc2826f6e0161905df5c54e385a78",
      "parents": [
        "f156a7ecbbe30c2f9929cbf1c9cf9b7f89827892"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Jan 11 14:32:16 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:20 2014 -0800"
      },
      "message": "mm: compaction: partially revert capture of suitable high-order page\n\nEric Wong reported on 3.7 and 3.8-rc2 that ppoll() got stuck when\nwaiting for POLLIN on a local TCP socket.  It was easier to trigger if\nthere was disk IO and dirty pages at the same time and he bisected it to\ncommit 1fb3f8ca0e92 (\"mm: compaction: capture a suitable high-order page\nimmediately when it is made available\").\n\nThe intention of that patch was to improve high-order allocations under\nmemory pressure after changes made to reclaim in 3.6 drastically hurt\nTHP allocations but the approach was flawed.  For Eric, the problem was\nthat page-\u003epfmemalloc was not being cleared for captured pages leading\nto a poor interaction with swap-over-NFS support causing the packets to\nbe dropped.  However, I identified a few more problems with the patch\nincluding the fact that it can increase contention on zone-\u003elock in some\ncases which could result in async direct compaction being aborted early.\n\nIn retrospect the capture patch took the wrong approach.  What it should\nhave done is mark the pageblock being migrated as MIGRATE_ISOLATE if it\nwas allocating for THP and avoided races that way.  While the patch was\nshowing to improve allocation success rates at the time, the benefit is\nmarginal given the relative complexity and it should be revisited from\nscratch in the context of the other reclaim-related changes that have\ntaken place since the patch was first written and tested.  This patch\npartially reverts commit 1fb3f8ca0e92 (\"mm: compaction: capture a\nsuitable high-order page immediately when it is made available\").\n\nChange-Id: I985725a72aac0fdecbf4310c04d176f39e0386dd\nReported-and-tested-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 8fb74b9fb2b182d54beee592350d9ea1f325917a\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "70e5192f0cbcdcfdfd0857e4f1cb2ba906411a49",
      "tree": "8a180b51dd3b2d5d983cbe9f1042713b0a4d6f72",
      "parents": [
        "7bfd6e467816ebd0d8db8e9633b63709ef7c3620"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Oct 19 12:00:10 2012 +0100"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:19 2014 -0800"
      },
      "message": "mm: compaction: Add scanned and isolated counters for compaction\n\nCompaction already has tracepoints to count scanned and isolated pages\nbut it requires that ftrace be enabled and if that information has to be\nwritten to disk then it can be disruptive. This patch adds vmstat counters\nfor compaction called compact_migrate_scanned, compact_free_scanned and\ncompact_isolated.\n\nWith these counters, it is possible to define a basic cost model for\ncompaction. This approximates of how much work compaction is doing and can\nbe compared that with an oprofile showing TLB misses and see if the cost of\ncompaction is being offset by THP for example. Minimally a compaction patch\ncan be evaluated in terms of whether it increases or decreases cost. The\nbasic cost model looks like this\n\nFundamental unit u:\ta word\tsizeof(void *)\n\nCa  \u003d cost of struct page access \u003d sizeof(struct page) / u\n\nCmc \u003d Cost migrate page copy \u003d (Ca + PAGE_SIZE/u) * 2\nCmf \u003d Cost migrate failure   \u003d Ca * 2\nCi  \u003d Cost page isolation    \u003d (Ca + Wi)\n\twhere Wi is a constant that should reflect the approximate\n\tcost of the locking operation.\n\nCsm \u003d Cost migrate scanning \u003d Ca\nCsf \u003d Cost free    scanning \u003d Ca\n\nOverall cost \u003d\t(Csm * compact_migrate_scanned) +\n\t      \t(Csf * compact_free_scanned)    +\n\t      \t(Ci  * compact_isolated)\t+\n\t\t(Cmc * pgmigrate_success)\t+\n\t\t(Cmf * pgmigrate_failed)\n\nWhere the values are read from /proc/vmstat.\n\nThis is very basic and ignores certain costs such as the allocation cost\nto do a migrate page copy but any improvement to the model would still\nuse the same vmstat counters.\n\nChange-Id: I9db1a609fc86a95e3fd8d3774de994197ecb9adf\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nGit-commit: 397487db696cae0b026a474a5cd66f4e372995e6\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "7bfd6e467816ebd0d8db8e9633b63709ef7c3620",
      "tree": "591d8ffb23d069ab5ced23740696baffca0bfcd5",
      "parents": [
        "76e36c398d793ba59f03ee25fcd564dfa80f3dbc"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Fri Oct 19 10:46:20 2012 +0100"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:19 2014 -0800"
      },
      "message": "mm: compaction: Move migration fail/success stats to migrate.c\n\nThe compact_pages_moved and compact_pagemigrate_failed events are\nconvenient for determining if compaction is active and to what\ndegree migration is succeeding but it\u0027s at the wrong level. Other\nusers of migration may also want to know if migration is working\nproperly and this will be particularly true for any automated\nNUMA migration. This patch moves the counters down to migration\nwith the new events called pgmigrate_success and pgmigrate_fail.\nThe compact_blocks_moved counter is removed because while it was\nuseful for debugging initially, it\u0027s worthless now as no meaningful\nconclusions can be drawn from its value.\n\nChange-Id: I43d66b61a2a6be571ed025213d7f1b9defb1a18f\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nGit-commit: 5647bc293ab15f66a7b1cda850c5e9d162a6c7c2\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "f8194dc22b6913d18a7e4056feec97eb38a05174",
      "tree": "6b55d6f02887f23610ebd0afba6ee290d2ec911a",
      "parents": [
        "b71127a5bec6cb251bde1594cc293ad5d397ee31"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Mon Oct 08 16:33:48 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:19 2014 -0800"
      },
      "message": "CMA: migrate mlocked pages\n\nPresently CMA cannot migrate mlocked pages so it ends up failing to allocate\ncontiguous memory space.\n\nThis patch makes mlocked pages be migrated out.  Of course, it can affect\nrealtime processes but in CMA usecase, contiguous memory allocation failing\nis far worse than access latency to an mlocked page being variable while\nCMA is running.  If someone wants to make the system realtime, he shouldn\u0027t\nenable CMA because stalls can still happen at random times.\n\nChange-Id: I560f43fdeb94f8fd2a4cc9e2ac12a1593ca38ecb\n[akpm@linux-foundation.org: tweak comment text, per Mel]\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: e46a28790e594c0876d1a84270926abf75460f61\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Minor context fixups]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "b71127a5bec6cb251bde1594cc293ad5d397ee31",
      "tree": "d9759d210c8df9a2b3fef66a6c5af5b904ddbd16",
      "parents": [
        "f57bc46f5f4a3eae803c41615edd4b366f814c45"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Oct 08 16:32:47 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:19 2014 -0800"
      },
      "message": "mm: compaction: clear PG_migrate_skip based on compaction and reclaim activity\n\nCompaction caches if a pageblock was scanned and no pages were isolated so\nthat the pageblocks can be skipped in the future to reduce scanning.  This\ninformation is not cleared by the page allocator based on activity due to\nthe impact it would have to the page allocator fast paths.  Hence there is\na requirement that something clear the cache or pageblocks will be skipped\nforever.  Currently the cache is cleared if there were a number of recent\nallocation failures and it has not been cleared within the last 5 seconds.\nTime-based decisions like this are terrible as they have no relationship\nto VM activity and is basically a big hammer.\n\nUnfortunately, accurate heuristics would add cost to some hot paths so\nthis patch implements a rough heuristic.  There are two cases where the\ncache is cleared.\n\n1. If a !kswapd process completes a compaction cycle (migrate and free\n   scanner meet), the zone is marked compact_blockskip_flush. When kswapd\n   goes to sleep, it will clear the cache. This is expected to be the\n   common case where the cache is cleared. It does not really matter if\n   kswapd happens to be asleep or going to sleep when the flag is set as\n   it will be woken on the next allocation request.\n\n2. If there have been multiple failures recently and compaction just\n   finished being deferred then a process will clear the cache and start a\n   full scan.  This situation happens if there are multiple high-order\n   allocation requests under heavy memory pressure.\n\nThe clearing of the PG_migrate_skip bits and other scans is inherently\nracy but the race is harmless.  For allocations that can fail such as THP,\nthey will simply fail.  For requests that cannot fail, they will retry the\nallocation.  Tests indicated that scanning rates were roughly similar to\nwhen the time-based heuristic was used and the allocation success rates\nwere similar.\n\nChange-Id: If690ae126badb9f9cc5632e9ffb9d376bf210fb0\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Richard Davies \u003crichard@arachsys.com\u003e\nCc: Shaohua Li \u003cshli@kernel.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Rafael Aquini \u003caquini@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 62997027ca5b3d4618198ed8b1aba40b61b1137b\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "cc5a88ab9e86f9dc022020b2d90b8d51bc80c932",
      "tree": "953b699613758962008aa7e7fba4945005d22fea",
      "parents": [
        "d6ed972cf5323c04dd622330da80eb255a4b6aad"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Oct 08 16:32:41 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:18 2014 -0800"
      },
      "message": "mm: compaction: cache if a pageblock was scanned and no pages were isolated\n\nWhen compaction was implemented it was known that scanning could\npotentially be excessive.  The ideal was that a counter be maintained for\neach pageblock but maintaining this information would incur a severe\npenalty due to a shared writable cache line.  It has reached the point\nwhere the scanning costs are a serious problem, particularly on\nlong-lived systems where a large process starts and allocates a large\nnumber of THPs at the same time.\n\nInstead of using a shared counter, this patch adds another bit to the\npageblock flags called PG_migrate_skip.  If a pageblock is scanned by\neither migrate or free scanner and 0 pages were isolated, the pageblock is\nmarked to be skipped in the future.  When scanning, this bit is checked\nbefore any scanning takes place and the block skipped if set.\n\nThe main difficulty with a patch like this is \"when to ignore the cached\ninformation?\" If it\u0027s ignored too often, the scanning rates will still be\nexcessive.  If the information is too stale then allocations will fail\nthat might have otherwise succeeded.  In this patch\n\no CMA always ignores the information\no If the migrate and free scanner meet then the cached information will\n  be discarded if it\u0027s at least 5 seconds since the last time the cache\n  was discarded\no If there are a large number of allocation failures, discard the cache.\n\nThe time-based heuristic is very clumsy but there are few choices for a\nbetter event.  Depending solely on multiple allocation failures still\nallows excessive scanning when THP allocations are failing in quick\nsuccession due to memory pressure.  Waiting until memory pressure is\nrelieved would cause compaction to continually fail instead of using\nreclaim/compaction to try allocate the page.  The time-based mechanism is\nclumsy but a better option is not obvious.\n\nChange-Id: I17a4887aca9bb3d2d9d3756089ad7c9b89922727\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Richard Davies \u003crichard@arachsys.com\u003e\nCc: Shaohua Li \u003cshli@kernel.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Rafael Aquini \u003caquini@redhat.com\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cb.zolnierkie@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: bb13ffeb9f6bfeb301443994dfbf29f91117dfb3\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Context fixup due to merging patches out of order]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "c74068b68d00e36755ce5927bce33d62f1e4edd3",
      "tree": "a11cd4f023568a2506ab5b26cc0a1014ff88f54b",
      "parents": [
        "bc337a9d96c709c7f4602368eb77401c914ac948"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Oct 08 16:29:12 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:17 2014 -0800"
      },
      "message": "mm: compaction: capture a suitable high-order page immediately when it is made available\n\nWhile compaction is migrating pages to free up large contiguous blocks\nfor allocation it races with other allocation requests that may steal\nthese blocks or break them up.  This patch alters direct compaction to\ncapture a suitable free page as soon as it becomes available to reduce\nthis race.  It uses similar logic to split_free_page() to ensure that\nwatermarks are still obeyed.\n\nChange-Id: I46fc38ca67bc50aa7a77a59255caf563f50343a9\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 1fb3f8ca0e9222535a39b884cb67a34628411b9f\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "0ba338893ca023bbad30546004a776d84a0485d5",
      "tree": "d6fbd8b2a8ba8a55c8c7c30688463d7b9c6e55a5",
      "parents": [
        "57bb21cbda2ab3f8159059bd8f034ecd48b78a1e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Aug 21 16:16:17 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:16 2014 -0800"
      },
      "message": "mm: compaction: Abort async compaction if locks are contended or taking too long\n\nJim Schutt reported a problem that pointed at compaction contending\nheavily on locks.  The workload is straight-forward and in his own words;\n\n\tThe systems in question have 24 SAS drives spread across 3 HBAs,\n\trunning 24 Ceph OSD instances, one per drive.  FWIW these servers\n\tare dual-socket Intel 5675 Xeons w/48 GB memory.  I\u0027ve got ~160\n\tCeph Linux clients doing dd simultaneously to a Ceph file system\n\tbacked by 12 of these servers.\n\nEarly in the test everything looks fine\n\n  procs -------------------memory------------------ ---swap-- -----io---- --system-- -----cpu-------\n   r  b       swpd       free       buff      cache   si   so    bi    bo   in   cs  us sy  id wa st\n  31 15          0     287216        576   38606628    0    0     2  1158    2   14   1  3  95  0  0\n  27 15          0     225288        576   38583384    0    0    18 2222016 203357 134876  11 56  17 15  0\n  28 17          0     219256        576   38544736    0    0    11 2305932 203141 146296  11 49  23 17  0\n   6 18          0     215596        576   38552872    0    0     7 2363207 215264 166502  12 45  22 20  0\n  22 18          0     226984        576   38596404    0    0     3 2445741 223114 179527  12 43  23 22  0\n\nand then it goes to pot\n\n  procs -------------------memory------------------ ---swap-- -----io---- --system-- -----cpu-------\n   r  b       swpd       free       buff      cache   si   so    bi    bo   in   cs  us sy  id wa st\n  163  8          0     464308        576   36791368    0    0    11 22210  866  536   3 13  79  4  0\n  207 14          0     917752        576   36181928    0    0   712 1345376 134598 47367   7 90   1  2  0\n  123 12          0     685516        576   36296148    0    0   429 1386615 158494 60077   8 84   5  3  0\n  123 12          0     598572        576   36333728    0    0  1107 1233281 147542 62351   7 84   5  4  0\n  622  7          0     660768        576   36118264    0    0   557 1345548 151394 59353   7 85   4  3  0\n  223 11          0     283960        576   36463868    0    0    46 1107160 121846 33006   6 93   1  1  0\n\nNote that system CPU usage is very high blocks being written out has\ndropped by 42%. He analysed this with perf and found\n\n  perf record -g -a sleep 10\n  perf report --sort symbol --call-graph fractal,5\n    34.63%  [k] _raw_spin_lock_irqsave\n            |\n            |--97.30%-- isolate_freepages\n            |          compaction_alloc\n            |          unmap_and_move\n            |          migrate_pages\n            |          compact_zone\n            |          compact_zone_order\n            |          try_to_compact_pages\n            |          __alloc_pages_direct_compact\n            |          __alloc_pages_slowpath\n            |          __alloc_pages_nodemask\n            |          alloc_pages_vma\n            |          do_huge_pmd_anonymous_page\n            |          handle_mm_fault\n            |          do_page_fault\n            |          page_fault\n            |          |\n            |          |--87.39%-- skb_copy_datagram_iovec\n            |          |          tcp_recvmsg\n            |          |          inet_recvmsg\n            |          |          sock_recvmsg\n            |          |          sys_recvfrom\n            |          |          system_call\n            |          |          __recv\n            |          |          |\n            |          |           --100.00%-- (nil)\n            |          |\n            |           --12.61%-- memcpy\n             --2.70%-- [...]\n\nThere was other data but primarily it is all showing that compaction is\ncontended heavily on the zone-\u003elock and zone-\u003elru_lock.\n\ncommit [b2eef8c0: mm: compaction: minimise the time IRQs are disabled\nwhile isolating pages for migration] noted that it was possible for\nmigration to hold the lru_lock for an excessive amount of time. Very\nbroadly speaking this patch expands the concept.\n\nThis patch introduces compact_checklock_irqsave() to check if a lock\nis contended or the process needs to be scheduled. If either condition\nis true then async compaction is aborted and the caller is informed.\nThe page allocator will fail a THP allocation if compaction failed due\nto contention. This patch also introduces compact_trylock_irqsave()\nwhich will acquire the lock only if it is not contended and the process\ndoes not need to schedule.\n\nChange-Id: Ia5318c923b903948072ff279dc9aed698bb6d02d\nReported-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nTested-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: c67fe3752abe6ab47639e2f9b836900c3dc3da84\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Minor context fixup in isolate_migratepages_range]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "31b02abbe6b9282417efc10de785f8d884d113fd",
      "tree": "21a2d84d4f9979c9a715ec167f2f6c525d659c5b",
      "parents": [
        "88fb5cb09f9cc92d306a5a08cedae5bc317c003b"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Mon Oct 08 16:31:55 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:16 2014 -0800"
      },
      "message": "mm: cma: discard clean pages during contiguous allocation instead of migration\n\nDrop clean cache pages instead of migration during alloc_contig_range() to\nminimise allocation latency by reducing the amount of migration that is\nnecessary.  It\u0027s useful for CMA because latency of migration is more\nimportant than evicting the background process\u0027s working set.  In\naddition, as pages are reclaimed then fewer free pages for migration\ntargets are required so it avoids memory reclaiming to get free pages,\nwhich is a contributory factor to increased latency.\n\nI measured elapsed time of __alloc_contig_migrate_range() which migrates\n10M in 40M movable zone in QEMU machine.\n\nBefore - 146ms, After - 7ms\n\nChange-Id: Ia527b7253bc5fa63b555ac445b676588b6def119\n[akpm@linux-foundation.org: fix nommu build]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nReviewed-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 02c6de8d757cb32c0829a45d81c3dfcbcafd998b\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Fixups in mm/internal.h due to contexts]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "8d54f4b4bf1a4877eca6daefa43b1631e0732343",
      "tree": "77cec86e840a6fc3b7f1a037a91876b72b0e0cdd",
      "parents": [
        "4872df835391131ba2bd1593272ed7b429e77ceb"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue May 29 15:06:25 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:15 2014 -0800"
      },
      "message": "mm: memcg: count pte references from every member of the reclaimed hierarchy\n\nThe rmap walker checking page table references has historically ignored\nreferences from VMAs that were not part of the memcg that was being\nreclaimed during memcg hard limit reclaim.\n\nWhen transitioning global reclaim to memcg hierarchy reclaim, I missed\nthat bit and now references from outside a memcg are ignored even during\nglobal reclaim.\n\nReverting back to traditional behaviour - count all references during\nglobal reclaim and only mind references of the memcg being reclaimed\nduring limit reclaim would be one option.\n\nHowever, the more generic idea is to ignore references exactly then when\nthey are outside the hierarchy that is currently under reclaim; because\nonly then will their reclamation be of any use to help the pressure\nsituation.  It makes no sense to ignore references from a sibling memcg\nand then evict a page that will be immediately refaulted by that sibling\nwhich contributes to the same usage of the common ancestor under\nreclaim.\n\nThe solution: make the rmap walker ignore references from VMAs that are\nnot part of the hierarchy that is being reclaimed.\n\nFlat limit reclaim will stay the same, hierarchical limit reclaim will\nmind the references only to pages that the hierarchy owns.  Global\nreclaim, since it reclaims from all memcgs, will be fixed to regard all\nreferences.\n\nChange-Id: I3a3f39693cf5644870213df28238acf00d7417dd\n[akpm@linux-foundation.org: name the args in the declaration]\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReported-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Konstantin Khlebnikov\u003ckhlebnikov@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: c3ac9a8ade65ccbfd145fbff895ae8d8d62d09b0\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "0fad1d27a9c0ca97d4ceff8ccf3db2f2d8b52699",
      "tree": "f2cb4e1f5cfacdba000d991adbbe5b40c669e516",
      "parents": [
        "c60245b334fed7c7a4c5b09fa88a5f8d7c0a2c9a"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue May 29 15:06:18 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:15 2014 -0800"
      },
      "message": "mm: remove swap token code\n\nThe swap token code no longer fits in with the current VM model.  It\ndoes not play well with cgroups or the better NUMA placement code in\ndevelopment, since we have only one swap token globally.\n\nIt also has the potential to mess with scalability of the system, by\nincreasing the number of non-reclaimable pages on the active and\ninactive anon LRU lists.\n\nLast but not least, the swap token code has been broken for a year\nwithout complaints, as reported by Konstantin Khlebnikov.  This suggests\nwe no longer have much use for it.\n\nThe days of sub-1G memory systems with heavy use of swap are over.  If\nwe ever need thrashing reducing code in the future, we will have to\nimplement something that does scale.\n\nChange-Id: I6d287cfc3c3206ca24da2de0c1392e5fdfcfabe8\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Bob Picco \u003cbpicco@meloft.net\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: e709ffd6169ccd259eb5874e853303e91e94e829\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "d4c9b4298f72e8778fb3ae1013e9e421f7cc64a6",
      "tree": "0ab047c985d50174b841eae8c27c59131a07b6b7",
      "parents": [
        "fa16809ac46e0229da33ce6e5863288c9c3f700e"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue May 29 15:06:54 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm/memcg: kill mem_cgroup_lru_del()\n\nThis patch kills mem_cgroup_lru_del(), we can use\nmem_cgroup_lru_del_list() instead.  On 0-order isolation we already have\nright lru list id.\n\nChange-Id: I403d40074299fb5f125603435c057071714d5b92\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: bbf808ed7de68fdf626fd4f9718d88cf03ce13a9\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "fa16809ac46e0229da33ce6e5863288c9c3f700e",
      "tree": "740309595f94e88267dc709df33755631f12e016",
      "parents": [
        "52878acb96a36fd11d45cc0ab6735e1b6a4e8e24"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue May 29 15:06:54 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm: remove lru type checks from __isolate_lru_page()\n\nAfter patch \"mm: forbid lumpy-reclaim in shrink_active_list()\" we can\ncompletely remove anon/file and active/inactive lru type filters from\n__isolate_lru_page(), because isolation for 0-order reclaim always\nisolates pages from right lru list.  And pages-isolation for lumpy\nshrink_inactive_list() or memory-compaction anyway allowed to isolate\npages from all evictable lru lists.\n\nChange-Id: I2a1a0325b1d193f4ca5e3ea7d5eda9b8bf7c6698\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: f3fd4a61928a5edf5b033a417e761b488b43e203\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "52878acb96a36fd11d45cc0ab6735e1b6a4e8e24",
      "tree": "966be1da1453b6d439d5b492aee5ad69424b85e1",
      "parents": [
        "753d7e77b2467193b5dbf926abe80cdd90d4961a"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:20 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm: vmscan: remove reclaim_mode_t\n\nThere is little motiviation for reclaim_mode_t once RECLAIM_MODE_[A]SYNC\nand lumpy reclaim have been removed.  This patch gets rid of\nreclaim_mode_t as well and improves the documentation about what\nreclaim/compaction is and when it is triggered.\n\nChange-Id: If95bc163647b1cfb93d7f3b8435060fed1e2aabf\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 23b9da55c5b0feb484bd5e8615f4eb1ce4169453\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "753d7e77b2467193b5dbf926abe80cdd90d4961a",
      "tree": "59b7bd098f51e8c514800c49c4c0da70072c5743",
      "parents": [
        "2c27524035cc79a31e941ddc8c24d93aae57e1ff"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:19 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm: vmscan: do not stall on writeback during memory compaction\n\nThis patch stops reclaim/compaction entering sync reclaim as this was\nonly intended for lumpy reclaim and an oversight.  Page migration has\nits own logic for stalling on writeback pages if necessary and memory\ncompaction is already using it.\n\nWaiting on page writeback is bad for a number of reasons but the primary\none is that waiting on writeback to a slow device like USB can take a\nconsiderable length of time.  Page reclaim instead uses\nwait_iff_congested() to throttle if too many dirty pages are being\nscanned.\n\nChange-Id: I14f312b1a51ee093d9d4adda5c87e57f1b83e03d\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: 41ac1999c3e3563e1810b14878a869c79c9368bb\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "2c27524035cc79a31e941ddc8c24d93aae57e1ff",
      "tree": "ba9dd877223ffb018a47d857ee19c1fa9f7751b6",
      "parents": [
        "09f85957b233256ae7f7e407c7e86a0ae55ffb7e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue May 29 15:06:19 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:14 2014 -0800"
      },
      "message": "mm: vmscan: remove lumpy reclaim\n\nThis series removes lumpy reclaim and some stalling logic that was\nunintentionally being used by memory compaction.  The end result is that\nstalling on dirty pages during page reclaim now depends on\nwait_iff_congested().\n\nFour kernels were compared\n\n  3.3.0     vanilla\n  3.4.0-rc2 vanilla\n  3.4.0-rc2 lumpyremove-v2 is patch one from this series\n  3.4.0-rc2 nosync-v2r3 is the full series\n\nRemoving lumpy reclaim saves almost 900 bytes of text whereas the full\nseries removes 1200 bytes.\n\n     text     data      bss       dec     hex  filename\n  6740375  1927944  2260992  10929311  a6c49f  vmlinux-3.4.0-rc2-vanilla\n  6739479  1927944  2260992  10928415  a6c11f  vmlinux-3.4.0-rc2-lumpyremove-v2\n  6739159  1927944  2260992  10928095  a6bfdf  vmlinux-3.4.0-rc2-nosync-v2\n\nThere are behaviour changes in the series and so tests were run with\nmonitoring of ftrace events.  This disrupts results so the performance\nresults are distorted but the new behaviour should be clearer.\n\nfs-mark running in a threaded configuration showed little of interest as\nit did not push reclaim aggressively\n\n  FS-Mark Multi Threaded\n                          3.3.0-vanilla       rc2-vanilla       lumpyremove-v2r3       nosync-v2r3\n  Files/s  min           3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Files/s  mean          3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Files/s  stddev        0.00 ( 0.00%)        0.00 ( 0.00%)        0.00 ( 0.00%)        0.00 ( 0.00%)\n  Files/s  max           3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)        3.20 ( 0.00%)\n  Overhead min      508667.00 ( 0.00%)   521350.00 (-2.49%)   544292.00 (-7.00%)   547168.00 (-7.57%)\n  Overhead mean     551185.00 ( 0.00%)   652690.73 (-18.42%)   991208.40 (-79.83%)   570130.53 (-3.44%)\n  Overhead stddev    18200.69 ( 0.00%)   331958.29 (-1723.88%)  1579579.43 (-8578.68%)     9576.81 (47.38%)\n  Overhead max      576775.00 ( 0.00%)  1846634.00 (-220.17%)  6901055.00 (-1096.49%)   585675.00 (-1.54%)\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             309.90    300.95    307.33    298.95\n  User+Sys Time Running Test (seconds)        319.32    309.67    315.69    307.51\n  Total Elapsed Time (seconds)               1187.85   1193.09   1191.98   1193.73\n\n  MMTests Statistics: vmstat\n  Page Ins                                       80532       82212       81420       79480\n  Page Outs                                  111434984   111456240   111437376   111582628\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                           44881       27889       27453       34843\n  Kswapd pages scanned                        25841428    25860774    25861233    25843212\n  Kswapd pages reclaimed                      25841393    25860741    25861199    25843179\n  Direct pages reclaimed                         44881       27889       27453       34843\n  Kswapd efficiency                                99%         99%         99%         99%\n  Kswapd velocity                            21754.791   21675.460   21696.029   21649.127\n  Direct efficiency                               100%        100%        100%        100%\n  Direct velocity                               37.783      23.375      23.031      29.188\n  Percentage direct scans                           0%          0%          0%          0%\n\nftrace showed that there was no stalling on writeback or pages submitted\nfor IO from reclaim context.\n\npostmark was similar and while it was more interesting, it also did not\npush reclaim heavily.\n\n  POSTMARK\n                                       3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  Transactions per second:               16.00 ( 0.00%)    20.00 (25.00%)    18.00 (12.50%)    17.00 ( 6.25%)\n  Data megabytes read per second:        18.80 ( 0.00%)    24.27 (29.10%)    22.26 (18.40%)    20.54 ( 9.26%)\n  Data megabytes written per second:     35.83 ( 0.00%)    46.25 (29.08%)    42.42 (18.39%)    39.14 ( 9.24%)\n  Files created alone per second:        28.00 ( 0.00%)    38.00 (35.71%)    34.00 (21.43%)    30.00 ( 7.14%)\n  Files create/transact per second:       8.00 ( 0.00%)    10.00 (25.00%)     9.00 (12.50%)     8.00 ( 0.00%)\n  Files deleted alone per second:       556.00 ( 0.00%)  1224.00 (120.14%)  3062.00 (450.72%)  6124.00 (1001.44%)\n  Files delete/transact per second:       8.00 ( 0.00%)    10.00 (25.00%)     9.00 (12.50%)     8.00 ( 0.00%)\n\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             113.34    107.99    109.73    108.72\n  User+Sys Time Running Test (seconds)        145.51    139.81    143.32    143.55\n  Total Elapsed Time (seconds)               1159.16    899.23    980.17   1062.27\n\n  MMTests Statistics: vmstat\n  Page Ins                                    13710192    13729032    13727944    13760136\n  Page Outs                                   43071140    42987228    42733684    42931624\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                               0           0           0           0\n  Kswapd pages scanned                         9941613     9937443     9939085     9929154\n  Kswapd pages reclaimed                       9940926     9936751     9938397     9928465\n  Direct pages reclaimed                             0           0           0           0\n  Kswapd efficiency                                99%         99%         99%         99%\n  Kswapd velocity                             8576.567   11051.058   10140.164    9347.109\n  Direct efficiency                               100%        100%        100%        100%\n  Direct velocity                                0.000       0.000       0.000       0.000\n\nIt looks like here that the full series regresses performance but as\nftrace showed no usage of wait_iff_congested() or sync reclaim I am\nassuming it\u0027s a disruption due to monitoring.  Other data such as memory\nusage, page IO, swap IO all looked similar.\n\nRunning a benchmark with a plain DD showed nothing very interesting.\nThe full series stalled in wait_iff_congested() slightly less but stall\ntimes on vanilla kernels were marginal.\n\nRunning a benchmark that hammered on file-backed mappings showed stalls\ndue to congestion but not in sync writebacks\n\n  MICRO\n                                       3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             308.13    294.50    298.75    299.53\n  User+Sys Time Running Test (seconds)        330.45    316.28    318.93    320.79\n  Total Elapsed Time (seconds)               1814.90   1833.88   1821.14   1832.91\n\n  MMTests Statistics: vmstat\n  Page Ins                                      108712      120708       97224      110344\n  Page Outs                                  155514576   156017404   155813676   156193256\n  Swap Ins                                           0           0           0           0\n  Swap Outs                                          0           0           0           0\n  Direct pages scanned                         2599253     1550480     2512822     2414760\n  Kswapd pages scanned                        69742364    71150694    68839041    69692533\n  Kswapd pages reclaimed                      34824488    34773341    34796602    34799396\n  Direct pages reclaimed                         53693       94750       61792       75205\n  Kswapd efficiency                                49%         48%         50%         49%\n  Kswapd velocity                            38427.662   38797.901   37799.972   38022.889\n  Direct efficiency                                 2%          6%          2%          3%\n  Direct velocity                             1432.174     845.464    1379.807    1317.446\n  Percentage direct scans                           3%          2%          3%          3%\n  Page writes by reclaim                             0           0           0           0\n  Page writes file                                   0           0           0           0\n  Page writes anon                                   0           0           0           0\n  Page reclaim immediate                             0           0           0        1218\n  Page rescued immediate                             0           0           0           0\n  Slabs scanned                                  15360       16384       13312       16384\n  Direct inode steals                                0           0           0           0\n  Kswapd inode steals                             4340        4327        1630        4323\n\n  FTrace Reclaim Statistics: congestion_wait\n  Direct number congest     waited                 0          0          0          0\n  Direct time   congest     waited               0ms        0ms        0ms        0ms\n  Direct full   congest     waited                 0          0          0          0\n  Direct number conditional waited               900        870        754        789\n  Direct time   conditional waited               0ms        0ms        0ms       20ms\n  Direct full   conditional waited                 0          0          0          0\n  KSwapd number congest     waited              2106       2308       2116       1915\n  KSwapd time   congest     waited          139924ms   157832ms   125652ms   132516ms\n  KSwapd full   congest     waited              1346       1530       1202       1278\n  KSwapd number conditional waited             12922      16320      10943      14670\n  KSwapd time   conditional waited               0ms        0ms        0ms        0ms\n  KSwapd full   conditional waited                 0          0          0          0\n\nReclaim statistics are not radically changed.  The stall times in kswapd\nare massive but it is clear that it is due to calls to congestion_wait()\nand that is almost certainly the call in balance_pgdat().  Otherwise\nstalls due to dirty pages are non-existant.\n\nI ran a benchmark that stressed high-order allocation.  This is very\nartifical load but was used in the past to evaluate lumpy reclaim and\ncompaction.  Generally I look at allocation success rates and latency\nfigures.\n\n  STRESS-HIGHALLOC\n                   3.3.0-vanilla       rc2-vanilla  lumpyremove-v2r3       nosync-v2r3\n  Pass 1          81.00 ( 0.00%)    28.00 (-53.00%)    24.00 (-57.00%)    28.00 (-53.00%)\n  Pass 2          82.00 ( 0.00%)    39.00 (-43.00%)    38.00 (-44.00%)    43.00 (-39.00%)\n  while Rested    88.00 ( 0.00%)    87.00 (-1.00%)    88.00 ( 0.00%)    88.00 ( 0.00%)\n\n  MMTests Statistics: duration\n  Sys Time Running Test (seconds)             740.93    681.42    685.14    684.87\n  User+Sys Time Running Test (seconds)       2922.65   3269.52   3281.35   3279.44\n  Total Elapsed Time (seconds)               1161.73   1152.49   1159.55   1161.44\n\n  MMTests Statistics: vmstat\n  Page Ins                                     4486020     2807256     2855944     2876244\n  Page Outs                                    7261600     7973688     7975320     7986120\n  Swap Ins                                       31694           0           0           0\n  Swap Outs                                      98179           0           0           0\n  Direct pages scanned                           53494       57731       34406      113015\n  Kswapd pages scanned                         6271173     1287481     1278174     1219095\n  Kswapd pages reclaimed                       2029240     1281025     1260708     1201583\n  Direct pages reclaimed                          1468       14564       16649       92456\n  Kswapd efficiency                                32%         99%         98%         98%\n  Kswapd velocity                             5398.133    1117.130    1102.302    1049.641\n  Direct efficiency                                 2%         25%         48%         81%\n  Direct velocity                               46.047      50.092      29.672      97.306\n  Percentage direct scans                           0%          4%          2%          8%\n  Page writes by reclaim                       1616049           0           0           0\n  Page writes file                             1517870           0           0           0\n  Page writes anon                               98179           0           0           0\n  Page reclaim immediate                        103778       27339        9796       17831\n  Page rescued immediate                             0           0           0           0\n  Slabs scanned                                1096704      986112      980992      998400\n  Direct inode steals                              223      215040      216736      247881\n  Kswapd inode steals                           175331       61548       68444       63066\n  Kswapd skipped wait                            21991           0           1           0\n  THP fault alloc                                    1         135         125         134\n  THP collapse alloc                               393         311         228         236\n  THP splits                                        25          13           7           8\n  THP fault fallback                                 0           0           0           0\n  THP collapse fail                                  3           5           7           7\n  Compaction stalls                                865        1270        1422        1518\n  Compaction success                               370         401         353         383\n  Compaction failures                              495         869        1069        1135\n  Compaction pages moved                        870155     3828868     4036106     4423626\n  Compaction move failure                        26429       23865       29742       27514\n\nSuccess rates are completely hosed for 3.4-rc2 which is almost certainly\ndue to commit fe2c2a106663 (\"vmscan: reclaim at order 0 when compaction\nis enabled\").  I expected this would happen for kswapd and impair\nallocation success rates (https://lkml.org/lkml/2012/1/25/166) but I did\nnot anticipate this much a difference: 80% less scanning, 37% less\nreclaim by kswapd\n\nIn comparison, reclaim/compaction is not aggressive and gives up easily\nwhich is the intended behaviour.  hugetlbfs uses __GFP_REPEAT and would\nbe much more aggressive about reclaim/compaction than THP allocations\nare.  The stress test above is allocating like neither THP or hugetlbfs\nbut is much closer to THP.\n\nMainline is now impaired in terms of high order allocation under heavy\nload although I do not know to what degree as I did not test with\n__GFP_REPEAT.  Keep this in mind for bugs related to hugepage pool\nresizing, THP allocation and high order atomic allocation failures from\nnetwork devices.\n\nIn terms of congestion throttling, I see the following for this test\n\n  FTrace Reclaim Statistics: congestion_wait\n  Direct number congest     waited                 3          0          0          0\n  Direct time   congest     waited               0ms        0ms        0ms        0ms\n  Direct full   congest     waited                 0          0          0          0\n  Direct number conditional waited               957        512       1081       1075\n  Direct time   conditional waited               0ms        0ms        0ms        0ms\n  Direct full   conditional waited                 0          0          0          0\n  KSwapd number congest     waited                36          4          3          5\n  KSwapd time   congest     waited            3148ms      400ms      300ms      500ms\n  KSwapd full   congest     waited                30          4          3          5\n  KSwapd number conditional waited             88514        197        332        542\n  KSwapd time   conditional waited            4980ms        0ms        0ms        0ms\n  KSwapd full   conditional waited                49          0          0          0\n\nThe \"conditional waited\" times are the most interesting as this is\ndirectly impacted by the number of dirty pages encountered during scan.\nAs lumpy reclaim is no longer scanning contiguous ranges, it is finding\nfewer dirty pages.  This brings wait times from about 5 seconds to 0.\nkswapd itself is still calling congestion_wait() so it\u0027ll still stall but\nit\u0027s a lot less.\n\nIn terms of the type of IO we were doing, I see this\n\n  FTrace Reclaim Statistics: mm_vmscan_writepage\n  Direct writes anon  sync                         0          0          0          0\n  Direct writes anon  async                        0          0          0          0\n  Direct writes file  sync                         0          0          0          0\n  Direct writes file  async                        0          0          0          0\n  Direct writes mixed sync                         0          0          0          0\n  Direct writes mixed async                        0          0          0          0\n  KSwapd writes anon  sync                         0          0          0          0\n  KSwapd writes anon  async                    91682          0          0          0\n  KSwapd writes file  sync                         0          0          0          0\n  KSwapd writes file  async                   822629          0          0          0\n  KSwapd writes mixed sync                         0          0          0          0\n  KSwapd writes mixed async                        0          0          0          0\n\nIn 3.2, kswapd was doing a bunch of async writes of pages but\nreclaim/compaction was never reaching a point where it was doing sync\nIO.  This does not guarantee that reclaim/compaction was not calling\nwait_on_page_writeback() but I would consider it unlikely.  It indicates\nthat merging patches 2 and 3 to stop reclaim/compaction calling\nwait_on_page_writeback() should be safe.\n\nThis patch:\n\nLumpy reclaim had a purpose but in the mind of some, it was to kick the\nsystem so hard it trashed.  For others the purpose was to complicate\nvmscan.c.  Over time it was giving softer shoes and a nicer attitude but\nmemory compaction needs to step up and replace it so this patch sends\nlumpy reclaim to the farm.\n\nThe tracepoint format changes for isolating LRU pages with this patch\napplied.  Furthermore reclaim/compaction can no longer queue dirty pages\nin pageout() if the underlying BDI is congested.  Lumpy reclaim used\nthis logic and reclaim/compaction was using it in error.\n\nChange-Id: Ib2992962c9e99cf250a7f859bb2a67034051e4d4\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-commit: c53919adc045bf803252e912f23028a68525753d\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\n"
    },
    {
      "commit": "67bed6808090539cefdc0ecd2738e12ba8bc037e",
      "tree": "554f4cf1f7d9ec8997ffbbf74d0a5284f98cd17c",
      "parents": [
        "1bee7b9b43a3b5530c62523d582aef7c3f7028ca"
      ],
      "author": {
        "name": "Arun Bharadwaj",
        "email": "abharadw@codeaurora.org",
        "time": "Wed Jul 03 10:35:02 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:13 2014 -0800"
      },
      "message": "tracing/sched: Add trace events to track cpu hotplug.\n\nAdd ftrace event trace_sched_cpu_hotplug to track cpu\nhot-add and hot-remove events.\n\nThis is useful in a variety of power, performance and\ndebug analysis scenarios.\n\nChange-Id: I5d202c7a229ffacc3aafb7cf9afee0b0ee7b0931\nSigned-off-by: Arun Bharadwaj \u003cabharadw@codeaurora.org\u003e\n"
    },
    {
      "commit": "1bee7b9b43a3b5530c62523d582aef7c3f7028ca",
      "tree": "65467bc85c4f505afd64c09d4044c1645c1ecc56",
      "parents": [
        "3bb998ff6cbde07fdd25d039487195c29b17def1"
      ],
      "author": {
        "name": "Syed Rameez Mustafa",
        "email": "rameezmustafa@codeaurora.org",
        "time": "Mon Jul 15 11:52:09 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:13 2014 -0800"
      },
      "message": "kernel/lib: add additional debug capabilites for data corruption\n\nData corruptions in the kernel often end up in system crashes that\nare easier to debug closer to the time of detection. Specifically,\nif we do not panic immediately after lock or list corruptions have been\ndetected, the problem context is lost in the ensuing system mayhem.\nAdd support for allowing system crash immediately after such corruptions\nare detected. The CONFIG option controls the enabling/disabling of the\nfeature.\n\nChange-Id: I9b2eb62da506a13007acff63e85e9515145909ff\nSigned-off-by: Syed Rameez Mustafa \u003crameezmustafa@codeaurora.org\u003e\n"
    },
    {
      "commit": "5865888f1a4adc6a5937a5a2c4de57b353825c9f",
      "tree": "06f9f0a7fd7edd04e6b7c47495740815645a203d",
      "parents": [
        "b7b5c68565878a95eb08514f8140df16cf82882e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 12 14:46:37 2012 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Jan 17 22:12:10 2014 -0800"
      },
      "message": "workqueue: factor out worker_pool from global_cwq\n\nMove worklist and all worker management fields from global_cwq into\nthe new struct worker_pool.  worker_pool points back to the containing\ngcwq.  worker and cpu_workqueue_struct are updated to point to\nworker_pool instead of gcwq too.\n\nThis change is mechanical and doesn\u0027t introduce any functional\ndifference other than rearranging of fields and an added level of\nindirection in some places.  This is to prepare for multiple pools per\ngcwq.\n\nv2: Comment typo fixes as suggested by Namhyung.\n\nChange-Id: Iefae84798c2af580f425b92ed79117935d99f21f\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nGit-commit: bd7bdd43dcb81bb08240b9401b36a104f77dc135\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n"
    },
    {
      "commit": "5a7d8af396195029b36431bdd6fea82bce52ec4a",
      "tree": "8fcd8cfed5eac12b43b56209340f00eecae6c7d7",
      "parents": [
        "58634ac42e736eea0e8b93cec610174879d36d58"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:57:10 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:57:10 2014 -0800"
      },
      "message": "Revert \"radio: iris: Bound check user space values\"\n\nThis reverts commit 040731d991e1a74af47853a62da4af348e943403.\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": "fda73056f62d84376a3d29926708b4a08155da31",
      "tree": "0080c4eec02c23179f59a50d269f48f7662b61ce",
      "parents": [
        "cf8f2e58d0893f9785b8056b29d9bbcb4758765f",
        "94f578e6aba14bb2aeb00db2e7f6e5f704fee937"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:50:44 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:50:44 2014 -0800"
      },
      "message": "Merge tag \u0027v3.4.76\u0027 into cm-11.0\n\nThis is the 3.4.76 stable release\n\nConflicts:\n\tdrivers/gpio/gpio-msm-v2.c\n\nChange-Id: Ic80b29098bdf656b5e5c9b95d98d2ec64bba1f28\n"
    },
    {
      "commit": "be541ecb66d285c4135c3820113af22ff57d4a0c",
      "tree": "ddef6ed02dc046771156e87aa03e841c8ed63729",
      "parents": [
        "93fb68c0c53ce4660686cf276320e64fe68578a1"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Mon Dec 23 09:31:58 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jan 08 09:42:11 2014 -0800"
      },
      "message": "drm/radeon: 0x9649 is SUMO2 not SUMO\n\ncommit d00adcc8ae9e22eca9d8af5f66c59ad9a74c90ec upstream.\n\nFixes rendering corruption due to incorrect\ngfx configuration.\n\nbug:\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d63599\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "a0d58ba2cc064b61e2993398588f5a7f76702d1a",
      "tree": "49bddf2c51097962a426ff266b2c533906973bee",
      "parents": [
        "bd55444ae9c88e882a3c4eab35cd19fe2c7d6d96",
        "f0c7091c82594bc42bb5af99dae4f18e1dae6d46"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Mon Jan 06 03:12:45 2014 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Jan 06 03:12:45 2014 -0800"
      },
      "message": "Merge \"cfg80211: export regulatory_hint_user() API\""
    },
    {
      "commit": "528e7a264e45c5bd5a704922cc37d784cbce4243",
      "tree": "bef00806be320bfadd0eeaaa19e671cb03eb7e12",
      "parents": [
        "f1df40d292326f7efe66dd4b4ddfba40d7e2489c",
        "040731d991e1a74af47853a62da4af348e943403"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Tue Dec 31 23:09:54 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Dec 31 23:09:54 2013 -0800"
      },
      "message": "Merge \"radio: iris: Bound check user space values\""
    },
    {
      "commit": "3737c2c6b90bcb99146f63c9254d758e7b036a98",
      "tree": "7223afec2e5536954da082dc4b65c2c88caff058",
      "parents": [
        "f52c635baa05f9a0b9ce551ded6d0870eb1e48b7",
        "0d26b1eeaf885d0c279477058e9d5a4d3115dd08"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Tue Dec 31 23:09:51 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Dec 31 23:09:50 2013 -0800"
      },
      "message": "Merge \"radio: iris: Maintain different FM states\""
    },
    {
      "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": "50a715f272de5c786e76607a3cd21489388c5a03",
      "tree": "93e45e611c9bde29ef1b6caf7ff7b706782cbb6f",
      "parents": [
        "a6079a371fbd4e9cb4489b8a484b559427b97fe1"
      ],
      "author": {
        "name": "Stefano Panella",
        "email": "stefano.panella@citrix.com",
        "time": "Tue Dec 10 14:20:28 2013 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 20 07:34:19 2013 -0800"
      },
      "message": "ALSA: memalloc.h - fix wrong truncation of dma_addr_t\n\ncommit 932e9dec380c67ec15ac3eb073bb55797d8b4801 upstream.\n\nWhen running a 32bit kernel the hda_intel driver is still reporting\na 64bit dma_mask if the HW supports it.\n\nFrom sound/pci/hda/hda_intel.c:\n\n        /* allow 64bit DMA address if supported by H/W */\n        if ((gcap \u0026 ICH6_GCAP_64OK) \u0026\u0026 !pci_set_dma_mask(pci, DMA_BIT_MASK(64)))\n                pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(64));\n        else {\n                pci_set_dma_mask(pci, DMA_BIT_MASK(32));\n                pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(32));\n        }\n\nwhich means when there is a call to dma_alloc_coherent from\nsnd_malloc_dev_pages a machine address bigger than 32bit can be returned.\nThis can be true in particular if running  the 32bit kernel as a pv dom0\nunder the Xen Hypervisor or PAE on bare metal.\n\nThe problem is that when calling setup_bdle to program the BLE the\ndma_addr_t returned from the dma_alloc_coherent is wrongly truncated\nfrom snd_sgbuf_get_addr if running a 32bit kernel:\n\nstatic inline dma_addr_t snd_sgbuf_get_addr(struct snd_dma_buffer *dmab,\n                                           size_t offset)\n{\n        struct snd_sg_buf *sgbuf \u003d dmab-\u003eprivate_data;\n        dma_addr_t addr \u003d sgbuf-\u003etable[offset \u003e\u003e PAGE_SHIFT].addr;\n        addr \u0026\u003d PAGE_MASK;\n        return addr + offset % PAGE_SIZE;\n}\n\nwhere PAGE_MASK in a 32bit kernel is zeroing the upper 32bit af addr.\n\nWithout this patch the HW will fetch the 32bit truncated address,\nwhich is not the one obtained from dma_alloc_coherent and will result\nto a non working audio but can corrupt host memory at a random location.\n\nThe current patch apply to v3.13-rc3-74-g6c843f5\n\nSigned-off-by: Stefano Panella \u003cstefano.panella@citrix.com\u003e\nReviewed-by: Frediano Ziglio \u003cfrediano.ziglio@citrix.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "040731d991e1a74af47853a62da4af348e943403",
      "tree": "5f5b849395868c32d40e0d4aa12b3ef5a4ca8727",
      "parents": [
        "494d49ed3e55c2b96206c48c5b4200a2ecf0f287"
      ],
      "author": {
        "name": "Ayaz Ahmad",
        "email": "aahmad@codeaurora.org",
        "time": "Fri Dec 20 15:28:56 2013 +0530"
      },
      "committer": {
        "name": "Ayaz Ahmad",
        "email": "aahmad@codeaurora.org",
        "time": "Fri Dec 20 15:28:56 2013 +0530"
      },
      "message": "radio: iris: Bound check user space values\n\nThere is no bound check for arguments passed\nfrom user space to kernel space. This may cause\nfatal exceptions.\n\nChange-Id: I9fe9376cc953bb57cf15f3a28d4ba2dbd940f4a1\nCRs-Fixed: 546081\nSigned-off-by: Ayaz Ahmad \u003caahmad@codeaurora.org\u003e\n"
    },
    {
      "commit": "0d26b1eeaf885d0c279477058e9d5a4d3115dd08",
      "tree": "bc9a97d9872774bf772e849505291f0d6b7e2b52",
      "parents": [
        "2fa0cff99d0e6ec0946a9e616860fc86a9258e68"
      ],
      "author": {
        "name": "Ayaz Ahmad",
        "email": "aahmad@codeaurora.org",
        "time": "Tue Jun 04 15:19:56 2013 +0530"
      },
      "committer": {
        "name": "Ayaz Ahmad",
        "email": "aahmad@codeaurora.org",
        "time": "Fri Dec 20 14:34:29 2013 +0530"
      },
      "message": "radio: iris: Maintain different FM states\n\nUnexpected disabled event gets queued when FM is turned\non after turning off FM, sending SSR command. Therefore\nFM fails to turn on.Maintain different states FM OFF,\nFM RECV TURNING ON, FM TRANS TURNING ON, FM_OFF,\nFM CALIBRATION and only queue unexpected disabled event\nwhen either Receiver or Transmitter is enabled.\n\nCRs-Fixed: 518378\n\nChange-Id: Iffa55bef3dc5ce605cf270ad41f4c9a8b8d70392\nSigned-off-by: Ayaz Ahmad \u003caahmad@codeaurora.org\u003e\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": "f0c7091c82594bc42bb5af99dae4f18e1dae6d46",
      "tree": "6e20dde649190f77969c15aedf8eb4bc4e40cae2",
      "parents": [
        "09b3d7972025ff9e654b8cce3453b5d9f205cbf8"
      ],
      "author": {
        "name": "Mihir Shete",
        "email": "smihir@codeaurora.org",
        "time": "Mon Oct 14 00:54:40 2013 +0530"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Fri Dec 13 03:57:02 2013 -0800"
      },
      "message": "cfg80211: export regulatory_hint_user() API\n\nThis is to help the hardware configured in world\nroaming mode to save power when not connected to\nany AP.\n\nCRs-Fixed: 542802\nChange-Id: Ia643d0e9848dcd486832973bd6dd186edd7bd4ea\nSigned-off-by: Mihir Shete \u003csmihir@codeaurora.org\u003e\n"
    },
    {
      "commit": "4062191e84141d4549a38a25de09f886e2e344d8",
      "tree": "ab7cd954e5545aa4585e454c253077248b4cdb77",
      "parents": [
        "3fc9589a42dab00a4c2dd9922dde4d15497bc3f0"
      ],
      "author": {
        "name": "Tom Lendacky",
        "email": "thomas.lendacky@amd.com",
        "time": "Thu Dec 05 13:09:53 2013 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 11 22:34:12 2013 -0800"
      },
      "message": "crypto: scatterwalk - Use sg_chain_ptr on chain entries\n\ncommit 389a5390583a18e45bc4abd4439291abec5e7a63 upstream.\n\nNow that scatterwalk_sg_chain sets the chain pointer bit the sg_page\ncall in scatterwalk_sg_next hits a BUG_ON when CONFIG_DEBUG_SG is\nenabled. Use sg_chain_ptr instead of sg_page on a chain entry.\n\nSigned-off-by: Tom Lendacky \u003cthomas.lendacky@amd.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "941f77dc3c2b264051fba4726461fec919822041",
      "tree": "1b0a0f5e794dc8d0bec5f600124bba18c3593976",
      "parents": [
        "50b673d2fefba609f4a84e889277c5e12ce6a93d"
      ],
      "author": {
        "name": "Tom Lendacky",
        "email": "thomas.lendacky@amd.com",
        "time": "Tue Nov 12 11:46:10 2013 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 11 22:34:10 2013 -0800"
      },
      "message": "crypto: scatterwalk - Set the chain pointer indication bit\n\ncommit 41da8b5adba77e22584f8b45f9641504fa885308 upstream.\n\nThe scatterwalk_crypto_chain function invokes the scatterwalk_sg_chain\nfunction to chain two scatterlists, but the chain pointer indication\nbit is not set.  When the resulting scatterlist is used, for example,\nby sg_nents to count the number of scatterlist entries, a segfault occurs\nbecause sg_nents does not follow the chain pointer to the chained scatterlist.\n\nUpdate scatterwalk_sg_chain to set the chain pointer indication bit as is\ndone by the sg_chain function.\n\nSigned-off-by: Tom Lendacky \u003cthomas.lendacky@amd.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\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": "ad25b5df02bacf27efb56fe12bb8da8dd9273546",
      "tree": "46b4c357415225acf77d155d659a729c307fdee0",
      "parents": [
        "ea9d7dc958579b07bf5cc419c4db932689a1224d"
      ],
      "author": {
        "name": "Hannes Frederic Sowa",
        "email": "hannes@stressinduktion.org",
        "time": "Sat Nov 23 00:46:12 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Dec 08 07:29:42 2013 -0800"
      },
      "message": "inet: fix addr_len/msg-\u003emsg_namelen assignment in recv_error and rxpmtu functions\n\n[ Upstream commit 85fbaa75037d0b6b786ff18658ddf0b4014ce2a4 ]\n\nCommit bceaa90240b6019ed73b49965eac7d167610be69 (\"inet: prevent leakage\nof uninitialized memory to user in recv syscalls\") conditionally updated\naddr_len if the msg_name is written to. The recv_error and rxpmtu\nfunctions relied on the recvmsg functions to set up addr_len before.\n\nAs this does not happen any more we have to pass addr_len to those\nfunctions as well and set it to the size of the corresponding sockaddr\nlength.\n\nThis broke traceroute and such.\n\nFixes: bceaa90240b6 (\"inet: prevent leakage of uninitialized memory to user in recv syscalls\")\nReported-by: Brad Spengler \u003cspender@grsecurity.net\u003e\nReported-by: Tom Labanowski\nCc: mpb \u003cmpb.mail@gmail.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: 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"
    },
    {
      "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"
    },
    {
      "commit": "4dd7a52b53ab79e8990bb295a2907d47345d2fa2",
      "tree": "68e671edcbc17a2b0a5df560bd05c1f28b81c1e2",
      "parents": [
        "4bb2cc8ea8b76426dcb60b95d27d599cb426bcf9"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "dborkman@redhat.com",
        "time": "Mon Nov 11 12:20:32 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Dec 08 07:29:41 2013 -0800"
      },
      "message": "random32: fix off-by-one in seeding requirement\n\n[ Upstream commit 51c37a70aaa3f95773af560e6db3073520513912 ]\n\nFor properly initialising the Tausworthe generator [1], we have\na strict seeding requirement, that is, s1 \u003e 1, s2 \u003e 7, s3 \u003e 15.\n\nCommit 697f8d0348 (\"random32: seeding improvement\") introduced\na __seed() function that imposes boundary checks proposed by the\nerrata paper [2] to properly ensure above conditions.\n\nHowever, we\u0027re off by one, as the function is implemented as:\n\"return (x \u003c m) ? x + m : x;\", and called with __seed(X, 1),\n__seed(X, 7), __seed(X, 15). Thus, an unwanted seed of 1, 7, 15\nwould be possible, whereas the lower boundary should actually\nbe of at least 2, 8, 16, just as GSL does. Fix this, as otherwise\nan initialization with an unwanted seed could have the effect\nthat Tausworthe\u0027s PRNG properties cannot not be ensured.\n\nNote that this PRNG is *not* used for cryptography in the kernel.\n\n [1] http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme.ps\n [2] http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme2.ps\n\nJoint work with Hannes Frederic Sowa.\n\nFixes: 697f8d0348a6 (\"random32: seeding improvement\")\nCc: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\nCc: Florian Weimer \u003cfweimer@redhat.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Daniel Borkmann \u003cdborkman@redhat.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"
    },
    {
      "commit": "8bfabdd83683743dea60ad3beaad869fbb777baf",
      "tree": "bff0eba04c76d3637762ad1505c347e8c917e16f",
      "parents": [
        "a2c24e623fd6f54c9e825fb29eec0194b2c74ba0",
        "991de6bc312c55bef9edb406452097b3e5975b61"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Dec 06 22:18:19 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Fri Dec 06 22:18:19 2013 -0800"
      },
      "message": "Merge remote-tracking branch \u0027codeaurora/kk_2.7.1\u0027 into cm-11.0\n"
    },
    {
      "commit": "c5b6ec8601fd8fcb4cedcb36b970b5502e9cf335",
      "tree": "142d319e48d5e5cd0bc50a4817e91d70cd393ca7",
      "parents": [
        "19bc0a836d4f79140dcebdf5b3f585f5dec51761",
        "6dc2101835053bc59dcf8f39745dc5ebabcae855"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Fri Dec 06 07:01:42 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Fri Dec 06 07:01:41 2013 -0800"
      },
      "message": "Merge \"kref: Implement kref_get_unless_zero v3\""
    },
    {
      "commit": "0a78e978eb03a7f6d5bd6f5ad8a88429ecea55be",
      "tree": "0c471a78da92dd36106af69ca44320254748e188",
      "parents": [
        "c3598ea743d229de6ed1fdd153843aadd66d047c"
      ],
      "author": {
        "name": "ChandanaKishori Chiluveru",
        "email": "cchilu@codeaurora.org",
        "time": "Fri Dec 06 12:35:46 2013 +0530"
      },
      "committer": {
        "name": "ChandanaKishori Chiluveru",
        "email": "cchilu@codeaurora.org",
        "time": "Fri Dec 06 13:14:12 2013 +0530"
      },
      "message": "msm: ehci-hsic: Add support to disable internal clock gating\n\nEHCI cores on latest MSMs have internal clock gating enabled\nby default. Stability issues (random enumeration failures)\nhave been observed with some CORES where clock gating feature\ndoesn\u0027t work as expected. Hence add support to disable clock\ngating in hardware.\n\nChange-Id: I5209a68409ad04cba53c14c0e813aa0b925cf98e\nCRs-Fixed: 538509\nSigned-off-by: ChandanaKishori Chiluveru \u003ccchilu@codeaurora.org\u003e\n"
    },
    {
      "commit": "6dc2101835053bc59dcf8f39745dc5ebabcae855",
      "tree": "311c4efc6c92143ab90969538dc3f088d005ab42",
      "parents": [
        "8725bf6329b3d5a617603c3badb844443b96edcb"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Tue Aug 06 16:42:15 2013 -0600"
      },
      "committer": {
        "name": "Anshuman Dani",
        "email": "adani@codeaurora.org",
        "time": "Thu Dec 05 16:09:37 2013 +0530"
      },
      "message": "kref: Implement kref_get_unless_zero v3\n\nThis function is intended to simplify locking around refcounting for\nobjects that can be looked up from a lookup structure, and which are\nremoved from that lookup structure in the object destructor.\nOperations on such objects require at least a read lock around\nlookup + kref_get, and a write lock around kref_put + remove from lookup\nstructure. Furthermore, RCU implementations become extremely tricky.\nWith a lookup followed by a kref_get_unless_zero *with return value check*\nlocking in the kref_put path can be deferred to the actual removal from\nthe lookup structure and RCU lookups become trivial.\n\nv2: Formatting fixes.\nv3: Invert the return value.\n\nChange-Id: I391623ee7458428eab6d7f361630f8646d6790b0\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nGit-commit: 4b20db3de8dab005b07c74161cb041db8c5ff3a7\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[shrenujb@codeaurora.org: resolve trivial merge conflicts]\nSigned-off-by: Shrenuj Bansal \u003cshrenujb@codeaurora.org\u003e\n"
    },
    {
      "commit": "488c5aaf729db586edbaf49a1767e68df2f77f8c",
      "tree": "b6baada79f7dc29b0a7653b33ef3a67f946b697b",
      "parents": [
        "20f10fe18d73d8786b3091dce217806d62435ce9",
        "8bbba2ab868fa65e24bfb41d026267d56392af23"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Thu Dec 05 01:48:45 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Thu Dec 05 01:48:44 2013 -0800"
      },
      "message": "Merge \"ASoC: msm: qdsp6v2: Propagate device HW delay to AFE.\""
    },
    {
      "commit": "4d815b62becdae153d9541b49ba323cd58459a97",
      "tree": "8c24b8043089de504e8c6d6af9c0f6271d112920",
      "parents": [
        "1d78aecdc9eb045e8c6b90050911324d3d0fc51f"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 26 09:22:54 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:34 2013 -0800"
      },
      "message": "tracing: Allow events to have NULL strings\n\ncommit 4e58e54754dc1fec21c3a9e824bc108b05fdf46e upstream.\n\nIf an TRACE_EVENT() uses __assign_str() or __get_str on a NULL pointer\nthen the following oops will happen:\n\nBUG: unable to handle kernel NULL pointer dereference at   (null)\nIP: [\u003cc127a17b\u003e] strlen+0x10/0x1a\n*pde \u003d 00000000 ^M\nOops: 0000 [#1] PREEMPT SMP\nModules linked in:\nCPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.13.0-rc1-test+ #2\nHardware name:                  /DG965MQ, BIOS MQ96510J.86A.0372.2006.0605.1717 06/05/2006^M\ntask: f5cde9f0 ti: f5e5e000 task.ti: f5e5e000\nEIP: 0060:[\u003cc127a17b\u003e] EFLAGS: 00210046 CPU: 1\nEIP is at strlen+0x10/0x1a\nEAX: 00000000 EBX: c2472da8 ECX: ffffffff EDX: c2472da8\nESI: c1c5e5fc EDI: 00000000 EBP: f5e5fe84 ESP: f5e5fe80\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nCR0: 8005003b CR2: 00000000 CR3: 01f32000 CR4: 000007d0\nStack:\n f5f18b90 f5e5feb8 c10687a8 0759004f 00000005 00000005 00000005 00200046\n 00000002 00000000 c1082a93 f56c7e28 c2472da8 c1082a93 f5e5fee4 c106bc61^M\n 00000000 c1082a93 00000000 00000000 00000001 00200046 00200082 00000000\nCall Trace:\n [\u003cc10687a8\u003e] ftrace_raw_event_lock+0x39/0xc0\n [\u003cc1082a93\u003e] ? ktime_get+0x29/0x69\n [\u003cc1082a93\u003e] ? ktime_get+0x29/0x69\n [\u003cc106bc61\u003e] lock_release+0x57/0x1a5\n [\u003cc1082a93\u003e] ? ktime_get+0x29/0x69\n [\u003cc10824dd\u003e] read_seqcount_begin.constprop.7+0x4d/0x75\n [\u003cc1082a93\u003e] ? ktime_get+0x29/0x69^M\n [\u003cc1082a93\u003e] ktime_get+0x29/0x69\n [\u003cc108a46a\u003e] __tick_nohz_idle_enter+0x1e/0x426\n [\u003cc10690e8\u003e] ? lock_release_holdtime.part.19+0x48/0x4d\n [\u003cc10bc184\u003e] ? time_hardirqs_off+0xe/0x28\n [\u003cc1068c82\u003e] ? trace_hardirqs_off_caller+0x3f/0xaf\n [\u003cc108a8cb\u003e] tick_nohz_idle_enter+0x59/0x62\n [\u003cc1079242\u003e] cpu_startup_entry+0x64/0x192\n [\u003cc102299c\u003e] start_secondary+0x277/0x27c\nCode: 90 89 c6 89 d0 88 c4 ac 38 e0 74 09 84 c0 75 f7 be 01 00 00 00 89 f0 48 5e 5d c3 55 89 e5 57 66 66 66 66 90 83 c9 ff 89 c7 31 c0 \u003cf2\u003e ae f7 d1 8d 41 ff 5f 5d c3 55 89 e5 57 66 66 66 66 90 31 ff\nEIP: [\u003cc127a17b\u003e] strlen+0x10/0x1a SS:ESP 0068:f5e5fe80\nCR2: 0000000000000000\n---[ end trace 01bc47bf519ec1b2 ]---\n\nNew tracepoints have been added that have allowed for NULL pointers\nbeing assigned to strings. To fix this, change the TRACE_EVENT() code\nto check for NULL and if it is, it will assign \"(null)\" to it instead\n(similar to what glibc printf does).\n\nReported-by: Shuah Khan \u003cshuah.kh@samsung.com\u003e\nReported-by: Jovi Zhangwei \u003cjovi.zhangwei@gmail.com\u003e\nLink: http://lkml.kernel.org/r/CAGdX0WFeEuy+DtpsJzyzn0343qEEjLX97+o1VREFkUEhndC+5Q@mail.gmail.com\nLink: http://lkml.kernel.org/r/528D6972.9010702@samsung.com\nFixes: 9cbf117662e2 (\"tracing/events: provide string with undefined size support\")\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "09f665049d7ecde55c5fbe4bb419b992288c4608",
      "tree": "a2dcc09fe7f79b93406573082baa79fa8d797744",
      "parents": [
        "b22831e6611bec1fdf84e71d80f7917199212ee8"
      ],
      "author": {
        "name": "Wang Haitao",
        "email": "wang.haitao1@zte.com.cn",
        "time": "Thu Aug 22 19:32:38 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:29 2013 -0800"
      },
      "message": "mtd: map: fixed bug in 64-bit systems\n\ncommit a4d62babf988fe5dfde24437fa135ef147bc7aa0 upstream.\n\nHardware:\n\tCPU: XLP832,the 64-bit OS\n\tNOR Flash:S29GL128S 128M\nSoftware:\n\tKernel:2.6.32.41\n\tFilesystem:JFFS2\nWhen writing files, errors appear:\n\tWrite len 182  but return retlen 180\n\tWrite of 182 bytes at 0x072c815c failed. returned -5, retlen 180\n\tWrite len 186  but return retlen 184\n\tWrite of 186 bytes at 0x072caff4 failed. returned -5, retlen 184\nThese errors exist only in 64-bit systems,not in 32-bit systems. After analysis, we\nfound that the left shift operation is wrong in map_word_load_partial. For instance:\n\tunsigned char buf[3] \u003d{0x9e,0x3a,0xea};\n\tmap_bankwidth(map) is 4;\n\tfor (i\u003d0; i \u003c 3; i++) {\n\t\tint bitpos;\n\t\tbitpos \u003d (map_bankwidth(map)-1-i)*8;\n\t\torig.x[0] \u0026\u003d ~(0xff \u003c\u003c bitpos);\n\t\torig.x[0] |\u003d buf[i] \u003c\u003c bitpos;\n\t}\n\nThe value of orig.x[0] is expected to be 0x9e3aeaff, but in this situation(64-bit\nSystem) we\u0027ll get the wrong value of 0xffffffff9e3aeaff due to the 64-bit sign\nextension:\nbuf[i] is defined as \"unsigned char\" and the left-shift operation will convert it\nto the type of \"signed int\", so when left-shift buf[i] by 24 bits, the final result\nwill get the wrong value: 0xffffffff9e3aeaff.\n\nIf the left-shift bits are less than 24, then sign extension will not occur. Whereas\nthe bankwidth of the nor flash we used is 4, therefore this BUG emerges.\n\nSigned-off-by: Pang Xunlei \u003cpang.xunlei@zte.com.cn\u003e\nSigned-off-by: Zhang Yi \u003czhang.yi20@zte.com.cn\u003e\nSigned-off-by: Lu Zhongjun \u003clu.zhongjun@zte.com.cn\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "8f77c2895be7f4cb22c918c1aab1270fd8885ecd",
      "tree": "c0598ef38714b949d4ffa81ce5bad361c922d64e",
      "parents": [
        "a4710c60a66743df6277ce37ae2f9ed19fcdec09"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Mon Mar 11 16:33:42 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Dec 03 22:08:22 2013 -0800"
      },
      "message": "sched: provide per cpu-cgroup option to notify on migrations\n\nOn systems where CPUs may run asynchronously, task migrations\nbetween CPUs running at grossly different speeds can cause\nproblems.\n\nThis change provides a mechanism to notify a subsystem\nin the kernel if a task in a particular cgroup migrates to a\ndifferent CPU. Other subsystems (such as cpufreq) may then\nregister for this notifier to take appropriate action when\nsuch a task is migrated.\n\nThe cgroup attribute to set for this behavior is\n\"notify_on_migrate\" .\n\nChange-Id: Ie1868249e53ef901b89c837fdc33b0ad0c0a4590\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "ec574f8bb7b68e9b2128228f33964a9ce32d1f4f",
      "tree": "9fb316634b00eb45922401703e6fa73174e94f7a",
      "parents": [
        "86eb0dddb559286c69f6c3fefbfdbbc508e81ef1"
      ],
      "author": {
        "name": "Greg Reid",
        "email": "greid@codeaurora.org",
        "time": "Fri Oct 12 12:07:37 2012 -0400"
      },
      "committer": {
        "name": "Joonwoo Park",
        "email": "joonwoop@codeaurora.org",
        "time": "Tue Dec 03 14:38:54 2013 -0800"
      },
      "message": "kernel: Add hooks for user-accessible timers in the kernel.\n\nHooks for user-accessible timers allow implementation of a\nmore efficient gettimeofday in user-space.\n\nChange-Id: If2f63d010c1cf142eb84f3745617e756913e46f7\nSigned-off-by: Brent DeGraaf \u003cbdegraaf@codeaurora.org\u003e\nSigned-off-by: Joonwoo Park \u003cjoonwoop@codeaurora.org\u003e\n"
    },
    {
      "commit": "2bb6292ecd5c207554c272dcdc26112adccc560b",
      "tree": "967a868ebacf0446d4c98422461646b84111d7b6",
      "parents": [
        "c39dc51f6a2dcbcc8b7ddfc5c5a87f52a6a2e283",
        "b9cabe412e9b0c56b7e7705461c1f715d1a5e8d0"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Tue Dec 03 07:09:05 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Dec 03 07:09:05 2013 -0800"
      },
      "message": "Merge \"net: rmnet_usb: Add support for aligned QOS header\""
    },
    {
      "commit": "c39dc51f6a2dcbcc8b7ddfc5c5a87f52a6a2e283",
      "tree": "0d55f1ecf1270e25772b681a7033729a9b174919",
      "parents": [
        "762e178c011be473787afa7f98541ea4986e18d3",
        "36abcfd971000b6e589ff65c3456d45b98757f89"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Tue Dec 03 07:09:02 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Dec 03 07:09:01 2013 -0800"
      },
      "message": "Merge \"mm: vmscan: fix do_try_to_free_pages() livelock\""
    },
    {
      "commit": "762e178c011be473787afa7f98541ea4986e18d3",
      "tree": "674db8d9514a0a70dfed1b981f46f1b12ef32810",
      "parents": [
        "f7d3c2789925ee190dce864d6ea1f7354db01423",
        "d1c2fbe849e5669959be5a1db1b6d65ca43a19e7"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Tue Dec 03 07:09:01 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Tue Dec 03 07:09:00 2013 -0800"
      },
      "message": "Merge \"swap: add per-partition lock for swapfile\""
    },
    {
      "commit": "8bbba2ab868fa65e24bfb41d026267d56392af23",
      "tree": "bd6dcce153f1c5d638736794a7e0cd8991bc9637",
      "parents": [
        "26fd5cf5e80ea40dc030e50d71123b06b6f2da5c"
      ],
      "author": {
        "name": "Pavan Chikkala",
        "email": "pavanc@codeaurora.org",
        "time": "Mon Dec 02 22:55:37 2013 -0800"
      },
      "committer": {
        "name": "Pavan Chikkala",
        "email": "pavanc@codeaurora.org",
        "time": "Tue Dec 03 12:27:33 2013 +0530"
      },
      "message": "ASoC: msm: qdsp6v2: Propagate device HW delay to AFE.\n\n - HW delay for each supported device is maintained in\n   ACDB. This needs to be propagated to AFE for timestamp\n   calculation in voice path. AFE provides device HW and\n   SW delays to CVD; based on which timestamps are calculated\n   for voice packets.\n\nCherrypick from: I959676c1ee4e0568e661e7666a61c98152344047\n\nChange-Id: I8f9d3438aebb4a9e66100d062453f2ac066748c9\nSigned-off-by: Pavan Chikkala \u003cpavanc@codeaurora.org\u003e\n"
    },
    {
      "commit": "3e2def0481102accbbbc0ae8d0ac22d4f22bb6b3",
      "tree": "627ccc60f300a28ecd6a11d3e66fd9833a30d21d",
      "parents": [
        "f02e02e0a60b58db8263b7e7e7af8af6fa3d6a95"
      ],
      "author": {
        "name": "Sivasri Kumar Vanka",
        "email": "sivasri@codeaurora.org",
        "time": "Mon Dec 02 05:56:12 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Mon Dec 02 05:56:20 2013 -0800"
      },
      "message": "Revert \"ASoC: msm: qdsp6v2: Propagate device HW delay to AFE.\"\n\nThis reverts commit 88928532db06d3f595b79256616941233fefaaef\n\nChange-Id: I9217571fe42b2834e4b5f2d6e27c7fe2dc8d6c3b\n"
    },
    {
      "commit": "36abcfd971000b6e589ff65c3456d45b98757f89",
      "tree": "2306000f20fd9f8bbedc8b8339a4585e0f57ae24",
      "parents": [
        "d1c2fbe849e5669959be5a1db1b6d65ca43a19e7"
      ],
      "author": {
        "name": "Lisa Du",
        "email": "cldu@marvell.com",
        "time": "Wed Sep 11 14:22:36 2013 -0700"
      },
      "committer": {
        "name": "Swetha Chikkaboraiah",
        "email": "schikk@codeaurora.org",
        "time": "Mon Dec 02 18:32:37 2013 +0530"
      },
      "message": "mm: vmscan: fix do_try_to_free_pages() livelock\n\nThis patch is based on KOSAKI\u0027s work and I add a little more description,\nplease refer https://lkml.org/lkml/2012/6/14/74.\n\nCurrently, I found system can enter a state that there are lots of free\npages in a zone but only order-0 and order-1 pages which means the zone is\nheavily fragmented, then high order allocation could make direct reclaim\npath\u0027s long stall(ex, 60 seconds) especially in no swap and no compaciton\nenviroment.  This problem happened on v3.4, but it seems issue still lives\nin current tree, the reason is do_try_to_free_pages enter live lock:\n\nkswapd will go to sleep if the zones have been fully scanned and are still\nnot balanced.  As kswapd thinks there\u0027s little point trying all over again\nto avoid infinite loop.  Instead it changes order from high-order to\n0-order because kswapd think order-0 is the most important.  Look at\n73ce02e9 in detail.  If watermarks are ok, kswapd will go back to sleep\nand may leave zone-\u003eall_unreclaimable \u003d3D 0.  It assume high-order users\ncan still perform direct reclaim if they wish.\n\nDirect reclaim continue to reclaim for a high order which is not a\nCOSTLY_ORDER without oom-killer until kswapd turn on\nzone-\u003eall_unreclaimble\u003d .  This is because to avoid too early oom-kill.\nSo it means direct_reclaim depends on kswapd to break this loop.\n\nIn worst case, direct-reclaim may continue to page reclaim forever when\nkswapd sleeps forever until someone like watchdog detect and finally kill\nthe process.  As described in:\nhttp://thread.gmane.org/gmane.linux.kernel.mm/103737\n\nWe can\u0027t turn on zone-\u003eall_unreclaimable from direct reclaim path because\ndirect reclaim path don\u0027t take any lock and this way is racy.  Thus this\npatch removes zone-\u003eall_unreclaimable field completely and recalculates\nzone reclaimable state every time.\n\nNote: we can\u0027t take the idea that direct-reclaim see zone-\u003epages_scanned\ndirectly and kswapd continue to use zone-\u003eall_unreclaimable.  Because, it\nis racy.  commit 929bea7c71 (vmscan: all_unreclaimable() use\nzone-\u003eall_unreclaimable as a name) describes the detail.\n\nCRs-fixed: 573027\nChange-Id: I49970a0fa751cf33af293fd1ee784e36422785b1\n[akpm@linux-foundation.org: uninline zone_reclaimable_pages() and zone_reclaimable()]\nCc: Aaditya Kumar \u003caaditya.kumar.30@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: Neil Zhang \u003czhangwm@marvell.com\u003e\nCc: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Minchan Kim \u003cminchan@kernel.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Lisa Du \u003ccldu@marvell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nGit-commit: 6e543d5780e36ff5ee56c44d7e2e30db3457a7ed\n[lauraa@codeaurora.org: Some context fixups and variable name changes due\nto backporting. Dropped parts that don\u0027t apply to older kernels]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Swetha Chikkaboraiah \u003cschikk@codeaurora.org\u003e\n"
    },
    {
      "commit": "d1c2fbe849e5669959be5a1db1b6d65ca43a19e7",
      "tree": "8fb7b4e0a552efbfaa21a8de5c41f707734f78e7",
      "parents": [
        "e38e32468d062236395576053b98a088a776c63c"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shli@kernel.org",
        "time": "Fri Feb 22 16:34:38 2013 -0800"
      },
      "committer": {
        "name": "Swetha Chikkaboraiah",
        "email": "schikk@codeaurora.org",
        "time": "Mon Dec 02 18:32:00 2013 +0530"
      },
      "message": "swap: add per-partition lock for swapfile\n\nswap_lock is heavily contended when I test swap to 3 fast SSD (even\nslightly slower than swap to 2 such SSD).  The main contention comes\nfrom swap_info_get().  This patch tries to fix the gap with adding a new\nper-partition lock.\n\nGlobal data like nr_swapfiles, total_swap_pages, least_priority and\nswap_list are still protected by swap_lock.\n\nnr_swap_pages is an atomic now, it can be changed without swap_lock.  In\ntheory, it\u0027s possible get_swap_page() finds no swap pages but actually\nthere are free swap pages.  But sounds not a big problem.\n\nAccessing partition specific data (like scan_swap_map and so on) is only\nprotected by swap_info_struct.lock.\n\nChanging swap_info_struct.flags need hold swap_lock and\nswap_info_struct.lock, because scan_scan_map() will check it.  read the\nflags is ok with either the locks hold.\n\nIf both swap_lock and swap_info_struct.lock must be hold, we always hold\nthe former first to avoid deadlock.\n\nswap_entry_free() can change swap_list.  To delete that code, we add a\nnew highest_priority_index.  Whenever get_swap_page() is called, we\ncheck it.  If it\u0027s valid, we use it.\n\nIt\u0027s a pity get_swap_page() still holds swap_lock().  But in practice,\nswap_lock() isn\u0027t heavily contended in my test with this patch (or I can\nsay there are other much more heavier bottlenecks like TLB flush).  And\nBTW, looks get_swap_page() doesn\u0027t really need the lock.  We never free\nswap_info[] and we check SWAP_WRITEOK flag.  The only risk without the\nlock is we could swapout to some low priority swap, but we can quickly\nrecover after several rounds of swap, so sounds not a big deal to me.\nBut I\u0027d prefer to fix this if it\u0027s a real problem.\n\n\"swap: make each swap partition have one address_space\" improved the\nswapout speed from 1.7G/s to 2G/s.  This patch further improves the\nspeed to 2.3G/s, so around 15% improvement.  It\u0027s a multi-process test,\nso TLB flush isn\u0027t the biggest bottleneck before the patches.\n\nCRs-Fixed: 573027\nChange-Id: Ic8d600653479c0e6767f04462c3f057b0fe94332\n[arnd@arndb.de: fix it for nommu]\n[hughd@google.com: add missing unlock]\n[minchan@kernel.org: get rid of lockdep whinge on sys_swapon]\nSigned-off-by: Shaohua Li \u003cshli@fusionio.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Seth Jennings \u003csjenning@linux.vnet.ibm.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-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: ec8acf20afb8534ed511f6613dd2226b9e301010\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[lauraa@codeaurora.org: Various context fixups due to backport]\nSigned-off-by: Laura Abbott \u003clauraa@codeaurora.org\u003e\nSigned-off-by: Swetha Chikkaboraiah \u003cschikk@codeaurora.org\u003e\n"
    },
    {
      "commit": "b9cabe412e9b0c56b7e7705461c1f715d1a5e8d0",
      "tree": "e3479748f43519e475a8aea70fa550bda89f836e",
      "parents": [
        "c3598ea743d229de6ed1fdd153843aadd66d047c"
      ],
      "author": {
        "name": "ChandanaKishori Chiluveru",
        "email": "cchilu@codeaurora.org",
        "time": "Thu Nov 21 11:15:21 2013 +0530"
      },
      "committer": {
        "name": "ChandanaKishori Chiluveru",
        "email": "cchilu@codeaurora.org",
        "time": "Mon Dec 02 09:53:15 2013 +0530"
      },
      "message": "net: rmnet_usb: Add support for aligned QOS header\n\nWhen QOS is enabled, QOS header of 6 bytes appended to\nthe network packet.This is making the network packet buffer unaligned.\nUSB hardware has some penalty with dealing the unaligned buffers Due to\nthis Bi-Direction throughput is dropped.\n\nIntroduce a new QOS header of size 8 bytes. Add a new ioctl to know\nwhich QOS header need to be used.\n\nCRs-Fixed: 583165\nChange-Id: I11bb56d2dbbc1262345e091241dcf6f681643e84\nSigned-off-by: ChandanaKishori Chiluveru \u003ccchilu@codeaurora.org\u003e\n"
    },
    {
      "commit": "c0d30628ff1b424f041d83fee37daea5f84eb0a2",
      "tree": "d7bc2b3b5824eeddeb687c3547c21984e1d6c422",
      "parents": [
        "7288f91dd5b55d82e1dee9f0d24e9f4730d57392"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Tue Nov 12 15:11:17 2013 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Nov 29 10:50:34 2013 -0800"
      },
      "message": "exec/ptrace: fix get_dumpable() incorrect tests\n\ncommit d049f74f2dbe71354d43d393ac3a188947811348 upstream.\n\nThe get_dumpable() return value is not boolean.  Most users of the\nfunction actually want to be testing for non-SUID_DUMP_USER(1) rather than\nSUID_DUMP_DISABLE(0).  The SUID_DUMP_ROOT(2) is also considered a\nprotected state.  Almost all places did this correctly, excepting the two\nplaces fixed in this patch.\n\nWrong logic:\n    if (dumpable \u003d\u003d SUID_DUMP_DISABLE) { /* be protective */ }\n        or\n    if (dumpable \u003d\u003d 0) { /* be protective */ }\n        or\n    if (!dumpable) { /* be protective */ }\n\nCorrect logic:\n    if (dumpable !\u003d SUID_DUMP_USER) { /* be protective */ }\n        or\n    if (dumpable !\u003d 1) { /* be protective */ }\n\nWithout this patch, if the system had set the sysctl fs/suid_dumpable\u003d2, a\nuser was able to ptrace attach to processes that had dropped privileges to\nthat user.  (This may have been partially mitigated if Yama was enabled.)\n\nThe macros have been moved into the file that declares get/set_dumpable(),\nwhich means things like the ia64 code can see them too.\n\nCVE-2013-2929\n\nReported-by: Vasily Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f22ff9d05def87a049c5c8c7b86539bd4f8e3172",
      "tree": "ed805b8838b5cf2d7686345c8859eeb1f8d48901",
      "parents": [
        "df4011e050b4e80165a317424e6b3367dfa7697c"
      ],
      "author": {
        "name": "Fan Du",
        "email": "fan.du@windriver.com",
        "time": "Tue Apr 30 15:27:27 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Nov 29 10:50:33 2013 -0800"
      },
      "message": "include/linux/fs.h: disable preempt when acquire i_size_seqcount write lock\n\ncommit 74e3d1e17b2e11d175970b85acd44f5927000ba2 upstream.\n\nTwo rt tasks bind to one CPU core.\n\nThe higher priority rt task A preempts a lower priority rt task B which\nhas already taken the write seq lock, and then the higher priority rt\ntask A try to acquire read seq lock, it\u0027s doomed to lockup.\n\nrt task A with lower priority: call write\ni_size_write                                        rt task B with higher priority: call sync, and preempt task A\n  write_seqcount_begin(\u0026inode-\u003ei_size_seqcount);    i_size_read\n  inode-\u003ei_size \u003d i_size;                             read_seqcount_begin \u003c-- lockup here...\n\nSo disable preempt when acquiring every i_size_seqcount *write* lock will\ncure the problem.\n\nSigned-off-by: Fan Du \u003cfan.du@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Zhao Hongjiang \u003czhaohongjiang@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "df4011e050b4e80165a317424e6b3367dfa7697c",
      "tree": "2aef78ae8ee675b60ec7798beda0b49e73545f51",
      "parents": [
        "1a9a8c2c61437bc8ab745c96af936196f4684495"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 30 15:28:20 2013 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Nov 29 10:50:33 2013 -0800"
      },
      "message": "exec: do not abuse -\u003ecred_guard_mutex in threadgroup_lock()\n\ncommit e56fb2874015370e3b7f8d85051f6dce26051df9 upstream.\n\nthreadgroup_lock() takes signal-\u003ecred_guard_mutex to ensure that\nthread_group_leader() is stable.  This doesn\u0027t look nice, the scope of\nthis lock in do_execve() is huge.\n\nAnd as Dave pointed out this can lead to deadlock, we have the\nfollowing dependencies:\n\n\tdo_execve:\t\tcred_guard_mutex -\u003e i_mutex\n\tcgroup_mount:\t\ti_mutex -\u003e cgroup_mutex\n\tattach_task_by_pid:\tcgroup_mutex -\u003e cred_guard_mutex\n\nChange de_thread() to take threadgroup_change_begin() around the\nswitch-the-leader code and change threadgroup_lock() to avoid\n-\u003ecred_guard_mutex.\n\nNote that de_thread() can\u0027t sleep with -\u003egroup_rwsem held, this can\nobviously deadlock with the exiting leader if the writer is active, so it\ndoes threadgroup_change_end() before schedule().\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n[ zhj: adjust context ]\nSigned-off-by: Zhao Hongjiang \u003czhaohongjiang@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "72d72ed0e398e1af1523f32305e298064146be79",
      "tree": "5093e85b70db74186c3e0c6cbac9000d841da0da",
      "parents": [
        "4b6c93869d9724a9c291637c00d8b09cc9620421",
        "51eec7b2abf2c3496756657bef6157bb56c85ad1"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Wed Nov 27 04:47:13 2013 -0800"
      },
      "committer": {
        "name": "Gerrit - the friendly Code Review server",
        "email": "code-review@localhost",
        "time": "Wed Nov 27 04:47:12 2013 -0800"
      },
      "message": "Merge \"msm: vidc: Initialize kernel space stack variables\""
    }
  ],
  "next": "38c75cb8b1f470cd938cb4065b50e890d04aea85"
}
