)]}'
{
  "log": [
    {
      "commit": "30dc78e1a2bcbe2a0fca7aa44dfded4bb0db6148",
      "tree": "e84a8d690192e75d14212d690e772575eebf68e8",
      "parents": [
        "ff9ef5787046c3fd20cf9f7ca1cd70260c1eedb9"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 15:44:20 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Add name resolving support for mgmt based discovery\n\nThis patch adds the necessary logic to perform name lookups after\ninquiry completes. This is done by checking for entries in the resolve\nlist after each inquiry complete and remote name complete HCI event.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ff9ef5787046c3fd20cf9f7ca1cd70260c1eedb9",
      "tree": "ba9d936fd1aa8b3a8f4fe0685b71007f9116f30c",
      "parents": [
        "30883512be0839349d29c7b0bc31016e0498cf8c"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 14:23:45 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Add discovery state tracking\n\nThis patch adds proper state tracking to the device discovery process.\nThis makes it possible to return appropriate errors when trying to stop\na non-active discovery or start discovery when it is already ongoing.\nOnce name resolving is implemented this also makes it possible to know\nwhat the right action to do is when a remote name lookup is cancelled.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "30883512be0839349d29c7b0bc31016e0498cf8c",
      "tree": "e8d34819c884ed81f0bba1ad4f337c47fd15efae",
      "parents": [
        "4663262c294c71aa1139616ae7f24dd345a69c15"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 14:16:21 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Rename hdev-\u003einq_cache to hdev-\u003ediscovery\n\nThis struct is used for not just inquiry caching but also for general\ndevice discovery state tracking so it\u0027s better to rename it to something\nmore appropriate.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3175405b906a85ed2bad21e09c444266e4a05a8e",
      "tree": "cf75dda123120a5a48ee322c3248ea73d37cbdcc",
      "parents": [
        "561aafbcb2e3f8fee11d3781f866c7b4c4f93a28"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 13:39:52 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:20 2012 +0200"
      },
      "message": "Bluetooth: Return updated name state with hci_inquiry_cache_update\n\nIf user-space has already confirmed the name for a remote device we\nshouldn\u0027t request confirmation again. The simplest way to do this is to\nreturn the name state from hci_inquiry_cache_update (if it is anything\nelse than unknown then we do not need confirmation from user-space).\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "561aafbcb2e3f8fee11d3781f866c7b4c4f93a28",
      "tree": "98fc5da4793bd16810a47450afe28e7304bdea8c",
      "parents": [
        "32748db00228b67a5315a91e1a6dd2c54864d87b"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Wed Jan 04 13:31:59 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:19 2012 +0200"
      },
      "message": "Bluetooth: Add initial mgmt_confirm_name support\n\nThis patch adds initial support for mgmt_confirm_name. It adds the\nnecessary tracking of the name state by extending the inquiry cache. The\nactual name resolving operation (to be done once inquiry is finished) is\nnot yet part of this patch.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "32748db00228b67a5315a91e1a6dd2c54864d87b",
      "tree": "d939731869285f36e4a60684351315dab3b7e2e8",
      "parents": [
        "b57c1a5646739bfc273245dc738f2f12a2d4d3ec"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Fri Dec 30 14:57:23 2011 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:19 2012 +0200"
      },
      "message": "Bluetooth: Move Extended Inquiry Response defines to hci.h\n\nThe EIR defines are needed also outside of mgmt.c (e.g. in hci_event.c\nto check if EIR data has the complete name) so it\u0027s better to have them\nin a single public place, i.e. hci.h.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b57c1a5646739bfc273245dc738f2f12a2d4d3ec",
      "tree": "1311c1e412bceb3dc53487c3a71365a976c2ce39",
      "parents": [
        "12325280dfeba18164f9c47e226a40ab34e23ee7"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jan 03 16:03:00 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Feb 13 17:01:19 2012 +0200"
      },
      "message": "Bluetooth: Convert inquiry cache to use standard list types\n\nThis makes it possible to use the convenience functions provided for\nstandard kernel list types and it also makes it easier to extend the use\nof the cache for the management interface where e.g. name resolving\ncontrol will be needed.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "885bd8eca6ac172e299750d99bd5c9fddbed89b9",
      "tree": "7ce2265d4738f6ea1f40f13d86d96c150bef73cf",
      "parents": [
        "3dc5e1751803e812806d7aa46150af92f91ef489"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Thu Feb 02 17:44:55 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:55:51 2012 -0500"
      },
      "message": "mac80211: support hw scan while idle\n\nCurrently, mac80211 goes to idle-off before starting a scan.\nHowever, some devices that implement hw scan might not\nneed going idle-off in order to perform a hw scan, and\nthus saving some energy and simplifying their state machine.\n\n(Note that this is also the case for sched scan - it\ncurrently doesn\u0027t make mac80211 go idle-off)\n\nAdd a new flag to indicate support for hw scan while idle.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "267335d63b808dc861f3a4dc81a605489a8a13ac",
      "tree": "2f114b6f45147d17ea4cbd57cf33289a57248a1b",
      "parents": [
        "3eda95de19e1781612091869e866a5014257f462"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Tue Jan 31 20:25:47 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:53:10 2012 -0500"
      },
      "message": "cfg80211/mac80211: userspace peer authorization in IBSS\n\nIf the IBSS network is RSN-protected, let userspace authorize the stations\ninstead of adding them as AUTHORIZED by default.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d6865dcc58f252480515101fd13532f0fc420b53",
      "tree": "4e8ee3ef60d44b81d31337925c018f19929ea7f5",
      "parents": [
        "8f9ada4fa1926e540b1562cb9bacb3e51a698c35"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Tue Jan 31 00:03:37 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:53:06 2012 -0500"
      },
      "message": "bcma: add extra sprom check\n\nThis check is needed on the BCM43224 device as it says in the\ncapabilities it has an sprom but is extra check says it has not.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f9ada4fa1926e540b1562cb9bacb3e51a698c35",
      "tree": "def07cbceee8d55da9288ab1157835d784360805",
      "parents": [
        "49dc9577155576b10ff79f0c1486c816b01f58bf"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Tue Jan 31 00:03:36 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:53:05 2012 -0500"
      },
      "message": "bcma: add bus num counter\n\nIf we have two bcma buses on one computer the second will not work\nwithout this patch. Now each bus gets an own number.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "49dc9577155576b10ff79f0c1486c816b01f58bf",
      "tree": "c193e6110c54234ab5ed3d816cc2dc15df165f37",
      "parents": [
        "d1a7a8e1d367e34e5adce91f48cae07dc08d9e6c"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Tue Jan 31 00:03:35 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:53:04 2012 -0500"
      },
      "message": "bcma: add PCIe host controller\n\nSome SoCs have a PCIe host controller to make it possible to attach\nsome other devices to it, like an other Wifi card.\nThis code was tested with an Netgear WNDR3400 (bcm4716 based), but\nshould work with all bcma based SoCs.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d1a7a8e1d367e34e5adce91f48cae07dc08d9e6c",
      "tree": "b4e279942e10a4bfc51e6bfeef052c3cca088964",
      "parents": [
        "4b259a5cc5ea967fa243dfc1f95a59ae74106f5b"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Tue Jan 31 00:03:34 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:53:03 2012 -0500"
      },
      "message": "bcma: make some functions __devinit\n\nbcma_core_pci_hostmode_init() has to be in __devinit as it will call a\nfunction in that section and so all functions calling it also have to\nbe in __devinit.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2be25cac8402fab56bb51166f464d1b420bcf744",
      "tree": "ec50aa8592b81476adff3bc77779a4a08e1eb9e1",
      "parents": [
        "5f2d6171e1e70584b9819771443485750453fd16"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Tue Jan 31 00:03:32 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:52:56 2012 -0500"
      },
      "message": "bcma: add constants for PCI and use them\n\nThere are many magic numbers used in the PCIe code. Replace them with\nsome constants from the Broadcom SDK and also use them in the pcie host\ncontroller.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f2d6171e1e70584b9819771443485750453fd16",
      "tree": "29a8f4dfc08d8cef4c5f3b13e0a78c52b61abe1e",
      "parents": [
        "268bd858df5052f97722b123e990119c89171fd7"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Tue Jan 31 00:03:31 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:50:39 2012 -0500"
      },
      "message": "bcma: add the core unit number\n\nSome SoCs have two pcie or gmac cores and we need to know the number of\nthe specific core on the bus. This is the case for the BCM4706.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4c0c0b75e0c35ddb8f61c06bcbffede63ab4f4a2",
      "tree": "5d3ee488424ac02ef06330ebff3e5de6e5058941",
      "parents": [
        "95de817b9034d50860319f6033ec85d25024694c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:26 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:50:37 2012 -0500"
      },
      "message": "cfg80211: export cfg80211_ref_bss\n\nThis is needed by mac80211 to keep a reference\nto a BSS alive for the auth process. Remove the\nold version of cfg80211_ref_bss() since it\u0027s\nnot actually used.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "95de817b9034d50860319f6033ec85d25024694c",
      "tree": "8dc100ec6a5ee527a6e86b33e904f5f9d14181ab",
      "parents": [
        "7852e36186d2a1983c215836d7e3d7b8927c930d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:25 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:50:37 2012 -0500"
      },
      "message": "cfg80211: stop tracking authenticated state\n\nTo track authenticated state seems to have been\na design mistake in cfg80211. It is possible to\nhave out of band authentication (FT), tracking\nmultiple authentications caused more problems\nthan it ever helped, and the implementation in\nmac80211 is too complex.\n\nRemove all this complexity, and let userspace\ndo whatever it wants to, mac80211 can deal with\nthat just fine. Association is still tracked of\ncourse, but authentication no longer is. Local\nauth state changes are thus no longer of value,\nso ignore them completely.\n\nThis will also help implement SAE -- asking the\ndriver to do an authentication is now almost\nequivalent to sending an authentication frame,\nwith the exception of shared key authentication\nwhich is still handled completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f09603a259ffef69ad4516a04eb06cd65ac522fe",
      "tree": "3f826769c697eb15a76771e25291bbb54f9f58ab",
      "parents": [
        "71ec375c75095002f36f083ceb32bbb8725734ae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:21 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:48:24 2012 -0500"
      },
      "message": "mac80211: add sta_state callback\n\n(based on Eliad\u0027s patch)\n\nAdd a callback to notify the low-level driver whenever\nthe state of a station changes. The driver is only\nnotified when the station is actually in the mac80211\nhash table, not for pre-insert state transitions.\n\nTo allow the driver to replace sta_add/remove calls\nwith this, call extra transitions with the NOTEXIST\nstate.\n\nThis callback can fail, so we need to be careful in\nhandling it when a station is inserted, particularly\nin the IBSS case where we still keep the station entry\naround for mac80211 purposes.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "19468413e8d98d44be8daf0acaf8d576dfc53fa2",
      "tree": "99d7df720566824c4588ccff03c65e60c381e60d",
      "parents": [
        "24db78c05b1e3ccb5a78aedd17aa1008c91dab5a"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Sat Jan 28 17:25:33 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 30 15:48:26 2012 -0500"
      },
      "message": "mac80211: add support for mcs masks\n\n* Handle MCS masks set by the user.\n* Match rates provided by the rate control algorithm to the mask set,\n  also in HT mode, and switch back to legacy mode if necessary.\n* add debugfs files to observate the rate selection\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Mathias Kretschmer \u003cmathias.kretschmer@fokus.fraunhofer.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "24db78c05b1e3ccb5a78aedd17aa1008c91dab5a",
      "tree": "f41babc8ada871a26619be23f983121ad557da91",
      "parents": [
        "d273bb20c00340748e3ca9730f87524ec5abbd64"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Sat Jan 28 17:25:32 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 30 15:48:25 2012 -0500"
      },
      "message": "nl80211: add support for mcs masks\n\nAllow to set mcs masks through nl80211. We also allow to set MCS\nrates but no legacy rates (and vice versa).\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Mathias Kretschmer \u003cmathias.kretschmer@fokus.fraunhofer.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15f0ebc23b7c68176ee3f9729d4a7f566cc6c311",
      "tree": "7462bd7c17432906f0fd49bd7484c7d61624c3fc",
      "parents": [
        "67e43de6dbc9caf52fa7bcf4c813fd088ba6fbfc"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jan 21 11:03:00 2012 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 27 14:56:58 2012 -0500"
      },
      "message": "kernel-doc: fix new warnings in cfg80211.h\n\nFix new kernel-doc warnings:\n\nWarning(include/net/cfg80211.h:1165): No description found for parameter \u0027channel_type\u0027\nWarning(include/net/cfg80211.h:2090): No description found for parameter \u0027probe_resp_offload\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc:\tJohannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc:\tlinux-wireless@vger.kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "94f9065648a2645b28187b44ec7778c30cf58758",
      "tree": "734ee883e3fbd99de04240da97716d773d64bb6d",
      "parents": [
        "2da8f419e78a0ebccc91c095328278fe668a7932"
      ],
      "author": {
        "name": "Chun-Yeow Yeoh",
        "email": "yeohchunyeow@gmail.com",
        "time": "Sat Jan 21 01:02:16 2012 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 27 14:56:56 2012 -0500"
      },
      "message": "{nl,cfg,mac}80211: Add support of setting non-forwarding entity in Mesh\n\nA mesh node that joins the mesh network is by default a forwarding entity. This patch allows\nthe mesh node to set as non-forwarding entity. Whenever dot11MeshForwarding is set to 0, the\nmesh node can prevent itself from forwarding the traffic which is not destined to him.\n\nSigned-off-by: Chun-Yeow Yeoh \u003cyeohchunyeow@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea086359a63bd0dd85c1d784d0425340649613fa",
      "tree": "e00130d16f0907bfdde4bc679e862159c058361b",
      "parents": [
        "c1288b1278d00169e12495eb53ad128e09560b69"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 19 09:29:58 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 27 14:56:54 2012 -0500"
      },
      "message": "mac80211: make CQM RSSI support per virtual interface\n\nSimilar to the previous beacon filtering patch,\nmake CQM RSSI support depend on the flags that\nthe driver set for virtual interfaces.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c1288b1278d00169e12495eb53ad128e09560b69",
      "tree": "8edc1a74f040763f406abe830cea98eac4b6124d",
      "parents": [
        "47d505ccc7535c825f6b28aaaf105d4b75f25196"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 19 09:29:57 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 27 14:56:53 2012 -0500"
      },
      "message": "mac80211: make beacon filtering per virtual interface\n\nDue to firmware limitations, we may not be able to\nsupport beacon filtering on all virtual interfaces.\nTo allow this in mac80211, introduce per-interface\ndriver capability flags that the driver sets when\nan interface is added.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5",
      "tree": "593fc051bc96a40e48406f6cba883b1f95822422",
      "parents": [
        "25a1d9dc850b1bdcc4760eb625f0a67057f54d26"
      ],
      "author": {
        "name": "Ilan Elias",
        "email": "ilane@ti.com",
        "time": "Wed Jan 18 13:16:14 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:32:29 2012 -0500"
      },
      "message": "NFC: Add NCI multiple targets support\n\nAdd the ability to select between multiple targets in NCI.\nIf only one target is found, it will be auto-activated.\nIf more than one target is found, then DISCOVER_NTF will be\ngenerated for each target, and the host should select one by\ncalling DISCOVER_SELECT_CMD. Then, the target will be activated.\nIf the activation fails, GENERIC_ERROR_NTF is generated.\n\nSigned-off-by: Ilan Elias \u003cilane@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "25a1d9dc850b1bdcc4760eb625f0a67057f54d26",
      "tree": "d717fdf49f8183899f8c98ce8860c5b1c4dceb2d",
      "parents": [
        "8939e47fc953cce6ef53e79e9ff9b53319d1a72d"
      ],
      "author": {
        "name": "Ilan Elias",
        "email": "ilane@ti.com",
        "time": "Wed Jan 18 13:16:13 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:32:28 2012 -0500"
      },
      "message": "NFC: NFC core layer should not set the target_idx\n\nThe NFC core layer should not set the target_idx.\nInstead, the driver layer (e.g. NCI, PN533) should set the\ntarget_idx, so that it will be able to identify the target\nwhen its I/F (e.g. activate_target) is called.\nThis is required in order to support multiple targets.\nNote that currently supported drivers (PN533 and NCI) don\u0027t\nuse the target_idx in their implementation.\n\nSigned-off-by: Ilan Elias \u003cilane@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8939e47fc953cce6ef53e79e9ff9b53319d1a72d",
      "tree": "fba0ffe539b4d6937bfb2bd9986fe989917b8039",
      "parents": [
        "6d810f10325522cfcf498dc6d64b9f96e1f5153f"
      ],
      "author": {
        "name": "Ilan Elias",
        "email": "ilane@ti.com",
        "time": "Wed Jan 18 13:16:12 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:32:28 2012 -0500"
      },
      "message": "NFC: Clearly separate NCI states from flags\n\nMake a clear separation between NCI states and flags.\nThis is required in order to support more NCI states (e.g.\nfor multiple targets support).\n\nSigned-off-by: Ilan Elias \u003cilane@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c4bf98b220cba7a8618405261d69ee53a265110e",
      "tree": "2710efffaefc519f0d08f116ba669b1648aaab4a",
      "parents": [
        "889cbb911a195b832745f77240f547cb2a2885bc"
      ],
      "author": {
        "name": "Ilan Elias",
        "email": "ilane@ti.com",
        "time": "Tue Jan 17 12:03:50 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:21:55 2012 -0500"
      },
      "message": "NFC: Add NCI data exchange timer\n\nAdd NCI data exchange timer to catch timeouts,\nand call the data exchange callback with an error.\n\nSigned-off-by: Ilan Elias \u003cilane@ti.com\u003e\nAcked-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d5a2ca60e41fec4ede7b82d3608278523cffe77b",
      "tree": "64faf8e66edaf03fe35b9bd61e8263817a17cca9",
      "parents": [
        "bfeb4dbc5cb36ae774fabe7b0e0d559e621a2ccd"
      ],
      "author": {
        "name": "Ilan Elias",
        "email": "ilane@ti.com",
        "time": "Tue Jan 17 11:06:43 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:21:15 2012 -0500"
      },
      "message": "NFC: Export new attributes sensb_res and sensf_res\n\nExport new attributes sensb_res for tech B and sensf_res\nfor tech F in the target info (returned as a response to\nNFC_CMD_GET_TARGET).\nThe max size of the attributes nfcid1, sensb_res and sensf_res\nis exported to user space though include/linux/nfc.\n\nSigned-off-by: Ilan Elias \u003cilane@ti.com\u003e\nAcked-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eccc068e8e84c8fe997115629925e0422a98e4de",
      "tree": "399c387868028130d6d9ca530cb23557103de4dc",
      "parents": [
        "e2d75c136f8df4a4e28ece75c475a65b9292729a"
      ],
      "author": {
        "name": "Hong Wu",
        "email": "Hong.Wu@dspg.com",
        "time": "Wed Jan 11 20:33:39 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:16:54 2012 -0500"
      },
      "message": "wireless: Save original maximum regulatory transmission power for the calucation of the local maximum transmit power\n\nThe local maximum transmit power is the maximum power a wireless device\nallowed to transmit. If Power Constraint is presented, the local maximum\npower equals to the maximum allowed power defined in regulatory domain\nminus power constraint.\n\nThe maximum transmit power is maximum power a wireless device capable of\ntransmitting, and should be used in Power Capability element (7.3.2.16\nIEEE802.11 2007).\n\nThe transmit power from a wireless device should not greater than the\nlocal maximum transmit power.\n\nThe maximum transmit power was not calculated correctly in the current\nLinux wireless/mac80211 when Power Constraint is presented.\n\nSigned-off-by: Hong Wu \u003chong.wu@dspg.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "11ee51589a61fa836b1540293ad6c7dfd7de544a",
      "tree": "0c7a00d54e61d86b4f2ea1ceecdd019985d07ee8",
      "parents": [
        "bd7e01bc7e7a90b33470173618f6f6805143cd42"
      ],
      "author": {
        "name": "Ilan Elias",
        "email": "ilane@ti.com",
        "time": "Sun Jan 08 13:43:02 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:08:39 2012 -0500"
      },
      "message": "NFC: Increase NCI deactivate timeout\n\nIncrease NCI deactivate timeout from 5 sec to 30 sec.\nNCI deactivate procedure might take a long time,\ndepending on the local and remote parameters.\n\nSigned-off-by: Ilan Elias \u003cilane@ti.com\u003e\nAcked-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b0f70292053a0f68f406564a721a7a3f2d66b44f",
      "tree": "48e68f1c2ae6d6b7df11326fc31d9e749acedd62",
      "parents": [
        "35b88623692f7ffbfdf16e4c2358784a060c20ed"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Mon Jan 02 08:41:23 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:06:04 2012 -0500"
      },
      "message": "ssb: SPROM: extract each core power info\n\nWe already extract some basic info but it\u0027s incomplete, reads info\nabout the first core only. Used data structure doesn\u0027t allow easy\nadding of more cores.\nThis patch adds new struct and array for storing power info. The plan\nis to: switch all extractors (including the ones using NVRAM) to new\nstruct, switch drivers, then deprecate and finally drop old SSB fields.\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4144cb2ade46d97b9c41682fd2e9064a59f23a98",
      "tree": "4b5ef937b4d0dcede6b1669f03c3b6dccf57d5bc",
      "parents": [
        "59f608d84f937cb5e2fd3a0b9f848f200d47ba85",
        "604c4ef1c453a1b2ea2cdf04d2b49afec421ebfa"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 17 12:11:52 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 17 12:11:52 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n"
    },
    {
      "commit": "747465ef7a082033e086dedc8189febfda43b015",
      "tree": "efbdc7a1f25f7bced035077769b4005ea1419abc",
      "parents": [
        "2b2d465631db59c144f537a9bef47a883c55d670"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 16 19:27:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 17 10:31:12 2012 -0500"
      },
      "message": "net: fix some sparse errors\n\nmake C\u003d2 CF\u003d\"-D__CHECK_ENDIAN__\" M\u003dnet\n\nAnd fix flowi4_init_output() prototype for sport\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d5869e78f4c9d32f834dadefbb7dcb3c9d4d85f",
      "tree": "136560d132409e801be0c0e0ba00da7ea9695d05",
      "parents": [
        "685a4ef0df23b97eea1842c2698da9a2e35fc976"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 13 23:58:41 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 17 09:54:08 2012 -0500"
      },
      "message": "bcma: connect the bcma bus suspend/resume to the bcma driver suspend/resume\n\nNow the low-level driver actually gets informed that it is getting suspended and resumed.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9bf04646b0b41c5438ed8a27c5f8dbe0ff40d756",
      "tree": "d06b83275667828112fc8e3d8ec9a6696a9f523c",
      "parents": [
        "412662d204eca981458156fd64d9d5f3b533d7b6"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sun Jan 15 16:57:12 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Mon Jan 16 14:01:23 2012 +0100"
      },
      "message": "netfilter: revert user-space expectation helper support\n\nThis patch partially reverts:\n3d058d7 netfilter: rework user-space expectation helper support\nthat was applied during the 3.2 development cycle.\n\nAfter this patch, the tree remains just like before patch bc01bef,\nthat initially added the preliminary infrastructure.\n\nI decided to partially revert this patch because the approach\nthat I proposed to resolve this problem is broken in NAT setups.\nMoreover, a new infrastructure will be submitted for the 3.3.x\ndevelopment cycle that resolve the existing issues while\nproviding a neat solution.\n\nSince nobody has been seriously using this infrastructure in\nuser-space, the removal of this feature should affect any know\nFOSS project (to my knowledge).\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "7c7c7f01cc5e3e423120a4848a73dd5e4586f2f9",
      "tree": "bdd15c5e435b1a380adbf5c4a7d05e7ef44d7403",
      "parents": [
        "252c3d84ed398b090ac2dace46fc6faa6cfaea99"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 11 19:30:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 13 10:12:23 2012 -0800"
      },
      "message": "vhost-net: add module alias (v2.1)\n\nBy adding some module aliases, programs (or users) won\u0027t have to explicitly\ncall modprobe. Vhost-net will always be available if built into the kernel.\nIt does require assigning a permanent minor number for depmod to work.\n\nAlso:\n  - use C99 style initialization.\n  - add missing entry in documentation for loop-control\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "099469502f62fbe0d7e4f0b83a2f22538367f734",
      "tree": "5229c3818b2e6e09d35026d49314047121130536",
      "parents": [
        "7c17d86a8502c2e30c2eea777ed1b830aa3b447b",
        "35f1526845a9d804206883e19bd257d3dcef758f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:42:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:42:54 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (aka \"Andrew\u0027s patch-bomb, take two\")\n\nAndrew explains:\n\n - various misc stuff\n\n - Most of the rest of MM: memcg, threaded hugepages, others.\n\n - cpumask\n\n - kexec\n\n - kdump\n\n - some direct-io performance tweaking\n\n - radix-tree optimisations\n\n - new selftests code\n\n   A note on this: often people will develop a new userspace-visible\n   feature and will develop userspace code to exercise/test that\n   feature.  Then they merge the patch and the selftest code dies.\n   Sometimes we paste it into the changelog.  Sometimes the code gets\n   thrown into Documentation/(!).\n\n   This saddens me.  So this patch creates a bare-bones framework which\n   will henceforth allow me to ask people to include their test apps in\n   the kernel tree so we can keep them alive.  Then when people enhance\n   or fix the feature, I can ask them to update the test app too.\n\n   The infrastruture is terribly trivial at present - let\u0027s see how it\n   evolves.\n\n - checkpoint/restart feature work.\n\n   A note on this: this is a project by various mad Russians to perform\n   c/r mainly from userspace, with various oddball helper code added\n   into the kernel where the need is demonstrated.\n\n   So rather than some large central lump of code, what we have is\n   little bits and pieces popping up in various places which either\n   expose something new or which permit something which is normally\n   kernel-private to be modified.\n\n   The overall project is an ongoing thing.  I\u0027ve judged that the size\n   and scope of the thing means that we\u0027re more likely to be successful\n   with it if we integrate the support into mainline piecemeal rather\n   than allowing it all to develop out-of-tree.\n\n   However I\u0027m less confident than the developers that it will all\n   eventually work! So what I\u0027m asking them to do is to wrap each piece\n   of new code inside CONFIG_CHECKPOINT_RESTORE.  So if it all\n   eventually comes to tears and the project as a whole fails, it should\n   be a simple matter to go through and delete all trace of it.\n\nThis lot pretty much wraps up the -rc1 merge for me.\n\n* akpm: (96 commits)\n  unlzo: fix input buffer free\n  ramoops: update parameters only after successful init\n  ramoops: fix use of rounddown_pow_of_two()\n  c/r: prctl: add PR_SET_MM codes to set up mm_struct entries\n  c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4\n  c/r: introduce CHECKPOINT_RESTORE symbol\n  selftests: new x86 breakpoints selftest\n  selftests: new very basic kernel selftests directory\n  radix_tree: take radix_tree_path off stack\n  radix_tree: remove radix_tree_indirect_to_ptr()\n  dio: optimize cache misses in the submission path\n  vfs: cache request_queue in struct block_device\n  fs/direct-io.c: calculate fs_count correctly in get_more_blocks()\n  drivers/parport/parport_pc.c: fix warnings\n  panic: don\u0027t print redundant backtraces on oops\n  sysctl: add the kernel.ns_last_pid control\n  kdump: add udev events for memory online/offline\n  include/linux/crash_dump.h needs elf.h\n  kdump: fix crash_kexec()/smp_send_stop() race in panic()\n  kdump: crashk_res init check for /sys/kernel/kexec_crash_size\n  ...\n"
    },
    {
      "commit": "7c17d86a8502c2e30c2eea777ed1b830aa3b447b",
      "tree": "353f739a33f46f9861b479e64d2a59f9b5c85868",
      "parents": [
        "2485a4b610171f4e1c4ab0d053569747795c1bbe",
        "91dce7ddab99a29b600e3d792b847dc2cdbf0848"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:30:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:30:02 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (69 commits)\n  pptp: Accept packet with seq zero\n  RDS: Remove some unused iWARP code\n  net: fsl: fec: handle 10Mbps speed in RMII mode\n  drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c: add missing iounmap\n  drivers/net/ethernet/tundra/tsi108_eth.c: add missing iounmap\n  ksz884x: fix mtu for VLAN\n  net_sched: sfq: add optional RED on top of SFQ\n  dp83640: Fix NOHZ local_softirq_pending 08 warning\n  gianfar: Fix invalid TX frames returned on error queue when time stamping\n  gianfar: Fix missing sock reference when processing TX time stamps\n  phylib: introduce mdiobus_alloc_size()\n  net: decrement memcg jump label when limit, not usage, is changed\n  net: reintroduce missing rcu_assign_pointer() calls\n  inet_diag: Rename inet_diag_req_compat into inet_diag_req\n  inet_diag: Rename inet_diag_req into inet_diag_req_v2\n  bond_alb: don\u0027t disable softirq under bond_alb_xmit\n  mac80211: fix rx-\u003ekey NULL pointer dereference in promiscuous mode\n  nl80211: fix old station flags compatibility\n  mdio-octeon: use an unique MDIO bus name.\n  mdio-gpio: use an unique MDIO bus name.\n  ...\n"
    },
    {
      "commit": "028ee4be34a09a6d48bdf30ab991ae933a7bc036",
      "tree": "455783226ceb65aee100f86afed529d4bbde1c8b",
      "parents": [
        "b3f7f573a20081910e34e99cbc91831f4f02f1ff"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu Jan 12 17:20:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:13 2012 -0800"
      },
      "message": "c/r: prctl: add PR_SET_MM codes to set up mm_struct entries\n\nWhen we restore a task we need to set up text, data and data heap sizes\nfrom userspace to the values a task had at checkpoint time.  This patch\nadds auxilary prctl codes for that.\n\nWhile most of them have a statistical nature (their values are involved\ninto calculation of /proc/\u003cpid\u003e/statm output) the start_brk and brk values\nare used to compute an allowed size of program data segment expansion.\nWhich means an arbitrary changes of this values might be dangerous\noperation.  So to restrict access the following requirements applied to\nprctl calls:\n\n - The process has to have CAP_SYS_ADMIN capability granted.\n - For all opcodes except start_brk/brk members an appropriate\n   VMA area must exist and should fit certain VMA flags,\n   such as:\n   - code segment must be executable but not writable;\n   - data segment must not be executable.\n\nstart_brk/brk values must not intersect with data segment and must not\nexceed RLIMIT_DATA resource limit.\n\nStill the main guard is CAP_SYS_ADMIN capability check.\n\nNote the kernel should be compiled with CONFIG_CHECKPOINT_RESTORE support\notherwise these prctl calls will return -EINVAL.\n\n[akpm@linux-foundation.org: cache current-\u003emm in a local, saving 200 bytes text]\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "928da837aca77a9d3cb5076bf07b3224b1ba293b",
      "tree": "741c003b608d50101fa91746d36a7c5e847a8fa5",
      "parents": [
        "65dd2aa90aa17a26703c28652408192856aa0396"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Jan 12 17:20:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:12 2012 -0800"
      },
      "message": "radix_tree: remove radix_tree_indirect_to_ptr()\n\nIt is not used anymore, remove it\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87192a2a49c475cf322cb143e0fa63b0102d8567",
      "tree": "70acf2fb1e4a9a3a62559ad9218278d2fb114599",
      "parents": [
        "ae55e1aaa7e2e57e538cb98cf617f511c5dc4f73"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Thu Jan 12 17:20:34 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:12 2012 -0800"
      },
      "message": "vfs: cache request_queue in struct block_device\n\nThis makes it possible to get from the inode to the request_queue with one\nless cache miss.  Used in followon optimization.\n\nThe livetime of the pointer is the same as the gendisk.\n\nThis assumes that the queue will always stay the same in the gendisk while\nit\u0027s visible to block_devices.  I think that\u0027s safe correct?\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f536b9e9f85456df93614b3c2f6a1a2b7d7cb9b",
      "tree": "01ad4e6b777c7583a413a2b45cd9b3fd3f2b4d35",
      "parents": [
        "93e13a360ba331915220f82f6e9543df961ffa1f"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "festevam@gmail.com",
        "time": "Thu Jan 12 17:20:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:11 2012 -0800"
      },
      "message": "include/linux/crash_dump.h needs elf.h\n\nBuilding an ARM target we get the following warnings:\n\n  CC      arch/arm/kernel/setup.o\n  In file included from arch/arm/kernel/setup.c:39:\n  arch/arm/include/asm/elf.h:102:1: warning: \"vmcore_elf64_check_arch\" redefined\n  In file included from arch/arm/kernel/setup.c:24:\n  include/linux/crash_dump.h:30:1: warning: this is the location of the previous definition\n\nQuoting Russell King:\n\n\"linux/crash_dump.h makes no attempt to include asm/elf.h, but it depends\non stuff in asm/elf.h to determine how stuff inside this file is defined\nat parse time.\n\nSo, if asm/elf.h is included after linux/crash_dump.h or not at all, you\nget a different result from the situation where asm/elf.h is included\nbefore.\"\n\nSo add elf.h header to crash_dump.h to avoid this problem.\n\nThe original discussion about this can be found at:\nhttp://www.spinics.net/lists/arm-kernel/msg154113.html\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.2.1]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3dd3323058d281abd584b15ad4c5b65064d7a61",
      "tree": "98c65337f9960db2d0ca55687314bb821f3e7c1f",
      "parents": [
        "9512938b885304f72c847379611d6018064af840"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Thu Jan 12 17:20:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:11 2012 -0800"
      },
      "message": "kexec: remove KMSG_DUMP_KEXEC\n\nKMSG_DUMP_KEXEC is useless because we already save kernel messages inside\n/proc/vmcore, and it is unsafe to allow modules to do other stuffs in a\ncrash dump scenario.\n\n[akpm@linux-foundation.org: fix powerpc build]\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nReported-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Jarod Wilson \u003cjarod@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: 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\n"
    },
    {
      "commit": "1c1c53d43b387d02174911ecb42ce846577b0ea0",
      "tree": "bb1294b23d23f2403ab95068af6080b375cc3166",
      "parents": [
        "4111304dab198c687bc60f2e235a9f7ee92c47c8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Thu Jan 12 17:20:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:10 2012 -0800"
      },
      "message": "mm: remove del_page_from_lru, add page_off_lru\n\ndel_page_from_lru() repeats del_page_from_lru_list(), also working out\nwhich LRU the page was on, clearing the relevant bits.  Decouple those\nfunctions: remove del_page_from_lru() and add page_off_lru().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-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\n"
    },
    {
      "commit": "4111304dab198c687bc60f2e235a9f7ee92c47c8",
      "tree": "c98fbae214f73f8475bcdc54c8116dea82cd7d14",
      "parents": [
        "4d06f382c733f99ec67df006255e87525ac1efd3"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Thu Jan 12 17:20:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:10 2012 -0800"
      },
      "message": "mm: enum lru_list lru\n\nMostly we use \"enum lru_list lru\": change those few \"l\"s to \"lru\"s.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-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\n"
    },
    {
      "commit": "5095ae83759f035c823fb375c6ed2de99c81d5ec",
      "tree": "478eb973da4fe6461cd749136a5f62bd96a0ac21",
      "parents": [
        "2bcf887963812c075f80a14e1fad8ec7e1c67acf"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Thu Jan 12 17:19:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:10 2012 -0800"
      },
      "message": "mm: fewer underscores in ____pagevec_lru_add\n\nWhat\u0027s so special about ____pagevec_lru_add() that it needs four leading\nunderscores?  Nothing, it just helped to distinguish from\n__pagevec_lru_add() in 2.6.28 development.  Cut two leading underscores.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-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\n"
    },
    {
      "commit": "2bcf887963812c075f80a14e1fad8ec7e1c67acf",
      "tree": "132f11eefe904653307a05b77d16f4c41866e486",
      "parents": [
        "90b3feaec8ffb167abd8903bf111605c2f035aa8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Thu Jan 12 17:19:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:10 2012 -0800"
      },
      "message": "mm: take pagevecs off reclaim stack\n\nReplace pagevecs in putback_lru_pages() and move_active_pages_to_lru()\nby lists of pages_to_free: then apply Konstantin Khlebnikov\u0027s\nfree_hot_cold_page_list() to them instead of pagevec_release().\n\nWhich simplifies the flow (no need to drop and retake lock whenever\npagevec fills up) and reduces stale addresses in stack backtraces\n(which often showed through the pagevecs); but more importantly,\nremoves another 120 bytes from the deepest stacks in page reclaim.\nAlthough I\u0027ve not recently seen an actual stack overflow here with\na vanilla kernel, move_active_pages_to_lru() has often featured in\ndeep backtraces.\n\nHowever, free_hot_cold_page_list() does not handle compound pages\n(nor need it: a Transparent HugePage would have been split by the\ntime it reaches the call in shrink_page_list()), but it is possible\nfor putback_lru_pages() or move_active_pages_to_lru() to be left\nholding the last reference on a THP, so must exclude the unlikely\ncompound case before putting on pages_to_free.\n\nRemove pagevec_strip(), its work now done in move_active_pages_to_lru().\nThe pagevec in scan_mapping_unevictable_pages() remains in mm/vmscan.c,\nbut that is never on the reclaim path, and cannot be replaced by a list.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6bc32b899223a877f595ef9ddc1e89ead5072b8",
      "tree": "a9529f7af2cf8e77bb6670acea32169c891a2b76",
      "parents": [
        "66199712e9eef5aede09dbcd9dfff87798a66917"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Jan 12 17:19:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:09 2012 -0800"
      },
      "message": "mm: compaction: introduce sync-light migration for use by compaction\n\nThis patch adds a lightweight sync migrate operation MIGRATE_SYNC_LIGHT\nmode that avoids writing back pages to backing storage.  Async compaction\nmaps to MIGRATE_ASYNC while sync compaction maps to MIGRATE_SYNC_LIGHT.\nFor other migrate_pages users such as memory hotplug, MIGRATE_SYNC is\nused.\n\nThis avoids sync compaction stalling for an excessive length of time,\nparticularly when copying files to a USB stick where there might be a\nlarge number of dirty pages backed by a filesystem that does not support\n-\u003ewritepages.\n\n[aarcange@redhat.com: This patch is heavily based on Andrea\u0027s work]\n[akpm@linux-foundation.org: fix fs/nfs/write.c build]\n[akpm@linux-foundation.org: fix fs/btrfs/disk-io.c build]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andy Isaacson \u003cadi@hexapodia.org\u003e\nCc: Nai Xia \u003cnai.xia@gmail.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c82449352854ff09e43062246af86bdeb628f0c3",
      "tree": "9cb8052e425c8cdab24ac41e83bbb672832ce54e",
      "parents": [
        "b969c4ab9f182a6e1b2a0848be349f99714947b0"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Jan 12 17:19:38 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:09 2012 -0800"
      },
      "message": "mm: compaction: make isolate_lru_page() filter-aware again\n\nCommit 39deaf85 (\"mm: compaction: make isolate_lru_page() filter-aware\")\nnoted that compaction does not migrate dirty or writeback pages and that\nis was meaningless to pick the page and re-add it to the LRU list.  This\nhad to be partially reverted because some dirty pages can be migrated by\ncompaction without blocking.\n\nThis patch updates \"mm: compaction: make isolate_lru_page\" by skipping\nover pages that migration has no possibility of migrating to minimise LRU\ndisruption.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel\u003criel@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andy Isaacson \u003cadi@hexapodia.org\u003e\nCc: Nai Xia \u003cnai.xia@gmail.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b969c4ab9f182a6e1b2a0848be349f99714947b0",
      "tree": "dc1c6e4375cfec7b15f13a37307eba8a9e07f40f",
      "parents": [
        "7335084d446b83cbcb15da80497d03f0c1dc9e21"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Jan 12 17:19:34 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:09 2012 -0800"
      },
      "message": "mm: compaction: determine if dirty pages can be migrated without blocking within -\u003emigratepage\n\nAsynchronous compaction is used when allocating transparent hugepages to\navoid blocking for long periods of time.  Due to reports of stalling,\nthere was a debate on disabling synchronous compaction but this severely\nimpacted allocation success rates.  Part of the reason was that many dirty\npages are skipped in asynchronous compaction by the following check;\n\n\tif (PageDirty(page) \u0026\u0026 !sync \u0026\u0026\n\t\tmapping-\u003ea_ops-\u003emigratepage !\u003d migrate_page)\n\t\t\trc \u003d -EBUSY;\n\nThis skips over all mapping aops using buffer_migrate_page() even though\nit is possible to migrate some of these pages without blocking.  This\npatch updates the -\u003emigratepage callback with a \"sync\" parameter.  It is\nthe responsibility of the callback to fail gracefully if migration would\nblock.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andy Isaacson \u003cadi@hexapodia.org\u003e\nCc: Nai Xia \u003cnai.xia@gmail.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea4d349ffa8028c655236497c2ba17c17aaa0d65",
      "tree": "b983961282dea73db03a1257fa4aaec109aee5cc",
      "parents": [
        "45676885b76237a4c236d26fe20a9b0cfdb2eb22"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Jan 12 17:19:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:08 2012 -0800"
      },
      "message": "vmscan/trace: Add \u0027file\u0027 info to trace_mm_vmscan_lru_isolate()\n\nIn trace_mm_vmscan_lru_isolate(), we don\u0027t output \u0027file\u0027 information to\nthe trace event and it is a bit inconvenient for the user to get the\nreal information(like pasted below).  mm_vmscan_lru_isolate:\nisolate_mode\u003d2 order\u003d0 nr_requested\u003d32 nr_scanned\u003d32 nr_taken\u003d32\ncontig_taken\u003d0 contig_dirty\u003d0 contig_failed\u003d0\n\n\u0027active\u0027 can be obtained by analyzing mode(Thanks go to Minchan and\nMel), So this patch adds \u0027file\u0027 to the trace event and it now looks\nlike: mm_vmscan_lru_isolate: isolate_mode\u003d2 order\u003d0 nr_requested\u003d32\nnr_scanned\u003d32 nr_taken\u003d32 contig_taken\u003d0 contig_dirty\u003d0 contig_failed\u003d0\nfile\u003d0\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f21760b15dcd091e5afd38d0b97197b45f7ef2ea",
      "tree": "84dd0f9016b46630d6b67e48ff0382b78a1bc519",
      "parents": [
        "e5591307f0c1eb733d280a0b72473e01d7f88530"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Jan 12 17:19:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:08 2012 -0800"
      },
      "message": "thp: add tlb_remove_pmd_tlb_entry\n\nWe have tlb_remove_tlb_entry to indicate a pte tlb flush entry should be\nflushed, but not a corresponding API for pmd entry.  This isn\u0027t a\nproblem so far because THP is only for x86 currently and tlb_flush()\nunder x86 will flush entire TLB.  But this is confusion and could be\nmissed if thp is ported to other arch.\n\nAlso convert tlb-\u003eneed_flush \u003d 1 to a VM_BUG_ON(!tlb-\u003eneed_flush) in\n__tlb_remove_page() as suggested by Andrea Arcangeli.  The\n__tlb_remove_page() function is supposed to be called after\ntlb_remove_xxx_tlb_entry() and we can catch any misuse.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nReviewed-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38c5d72f3ebe5ddd57d2f08dc035070fc6c9a287",
      "tree": "6461c0dfec95dccc92191f059fbe99b5660a8860",
      "parents": [
        "4e5f01c2b9b94321992acb09c35d34f5ee5bb274"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:19:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "memcg: simplify LRU handling by new rule\n\nNow, at LRU handling, memory cgroup needs to do complicated works to see\nvalid pc-\u003emem_cgroup, which may be overwritten.\n\nThis patch is for relaxing the protocol. This patch guarantees\n   - when pc-\u003emem_cgroup is overwritten, page must not be on LRU.\n\nBy this, LRU routine can believe pc-\u003emem_cgroup and don\u0027t need to check\nbits on pc-\u003eflags.  This new rule may adds small overheads to swapin.  But\nin most case, lru handling gets faster.\n\nAfter this patch, PCG_ACCT_LRU bit is obsolete and removed.\n\n[akpm@linux-foundation.org: remove unneeded VM_BUG_ON(), restore hannes\u0027s christmas tree]\n[akpm@linux-foundation.org: clean up code comment]\n[hughd@google.com: fix NULL mem_cgroup_try_charge]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e5f01c2b9b94321992acb09c35d34f5ee5bb274",
      "tree": "4e6ac9d29539dc26468fe2630d0e64cd022b1155",
      "parents": [
        "36b62ad539498d00c2d280a151abad5f7630fa73"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:18:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "memcg: clear pc-\u003emem_cgroup if necessary.\n\nThis is a preparation before removing a flag PCG_ACCT_LRU in page_cgroup\nand reducing atomic ops/complexity in memcg LRU handling.\n\nIn some cases, pages are added to lru before charge to memcg and pages\nare not classfied to memory cgroup at lru addtion.  Now, the lru where\nthe page should be added is determined a bit in page_cgroup-\u003eflags and\npc-\u003emem_cgroup.  I\u0027d like to remove the check of flag.\n\nTo handle the case pc-\u003emem_cgroup may contain stale pointers if pages\nare added to LRU before classification.  This patch resets\npc-\u003emem_cgroup to root_mem_cgroup before lru additions.\n\n[akpm@linux-foundation.org: fix CONFIG_CGROUP_MEM_CONT\u003dn build]\n[hughd@google.com: fix CONFIG_CGROUP_MEM_RES_CTLR\u003dy CONFIG_CGROUP_MEM_RES_CTLR_SWAP\u003dn build]\n[akpm@linux-foundation.org: ksm.c needs memcontrol.h, per Michal]\n[hughd@google.com: stop oops in mem_cgroup_reset_owner()]\n[hughd@google.com: fix page migration to reset_owner]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9fb4b7cc0724f178d4b24a2a566ea1e7cb120b82",
      "tree": "0f2db9102d46f5e5c8492864fb1bd21f2e7cd768",
      "parents": [
        "40f23a21a8501c1b2c65c50c19b516488ac31313"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Thu Jan 12 17:18:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:07 2012 -0800"
      },
      "message": "page_cgroup: add helper function to get swap_cgroup\n\nThere are multiple places which need to get the swap_cgroup address, so\nadd a helper function:\n\n  static struct swap_cgroup *swap_cgroup_getsc(swp_entry_t ent,\n                                struct swap_cgroup_ctrl **ctrl);\n\nto simplify the code.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72835c86ca15d0126354b73d5f29ce9194931c9b",
      "tree": "369f31168b405e4d597b3cd067a1fd0ac2025dbc",
      "parents": [
        "ec0fffd84b162e0563a28a81aa049f946b31a8e2"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:32 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:06 2012 -0800"
      },
      "message": "mm: unify remaining mem_cont, mem, etc. variable names to memcg\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e94c8a9cbce1aee4af9e1285802785481b7f93c5",
      "tree": "14d496e62c2e8d59a8954ff10368d59d8dfaea03",
      "parents": [
        "6b208e3f6e35aa76d254c395bdcd984b17c6b626"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:18:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "memcg: make mem_cgroup_split_huge_fixup() more efficient\n\nIn split_huge_page(), mem_cgroup_split_huge_fixup() is called to handle\npage_cgroup modifcations.  It takes move_lock_page_cgroup() and modifies\npage_cgroup and LRU accounting jobs and called HPAGE_PMD_SIZE - 1 times.\n\nBut thinking again,\n  - compound_lock() is held at move_accout...then, it\u0027s not necessary\n    to take move_lock_page_cgroup().\n  - LRU is locked and all tail pages will go into the same LRU as\n    head is now on.\n  - page_cgroup is contiguous in huge page range.\n\nThis patch fixes mem_cgroup_split_huge_fixup() as to be called once per\nhugepage and reduce costs for spliting.\n\n[akpm@linux-foundation.org: fix typo, per Michal]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b208e3f6e35aa76d254c395bdcd984b17c6b626",
      "tree": "f7e65f9e1fa41907bf48f05007a10c83be668b3f",
      "parents": [
        "925b7673cce39116ce61e7a06683a4a0dad1e72a"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: memcg: remove unused node/section info from pc-\u003eflags\n\nTo find the page corresponding to a certain page_cgroup, the pc-\u003eflags\nencoded the node or section ID with the base array to compare the pc\npointer to.\n\nNow that the per-memory cgroup LRU lists link page descriptors directly,\nthere is no longer any code that knows the struct page_cgroup of a PFN\nbut not the struct page.\n\n[hughd@google.com: remove unused node/section info from pc-\u003eflags fix]\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "925b7673cce39116ce61e7a06683a4a0dad1e72a",
      "tree": "66c134db836e531e196ee3dfc23c124ff74ac827",
      "parents": [
        "6290df545814990ca2663baf6e894669132d5f73"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: make per-memcg LRU lists exclusive\n\nNow that all code that operated on global per-zone LRU lists is\nconverted to operate on per-memory cgroup LRU lists instead, there is no\nreason to keep the double-LRU scheme around any longer.\n\nThe pc-\u003elru member is removed and page-\u003elru is linked directly to the\nper-memory cgroup LRU lists, which removes two pointers from a\ndescriptor that exists for every page frame in the system.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6290df545814990ca2663baf6e894669132d5f73",
      "tree": "c62472270ba81a7146bed0854be74e2e2338c629",
      "parents": [
        "b95a2f2d486d0d768a92879c023a03757b9c7e58"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:18:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: collect LRU list heads into struct lruvec\n\nHaving a unified structure with a LRU list set for both global zones and\nper-memcg zones allows to keep that code simple which deals with LRU\nlists and does not care about the container itself.\n\nOnce the per-memcg LRU lists directly link struct pages, the isolation\nfunction and all other list manipulations are shared between the memcg\ncase and the global LRU case.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5660048ccac8735d9bc0a46325a02e6a6518b5b2",
      "tree": "4b2269ddd6ca001843187a89fb91278192028d87",
      "parents": [
        "527a5ec9a53471d855291ba9f1fdf1dd4e12a184"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Thu Jan 12 17:17:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:05 2012 -0800"
      },
      "message": "mm: move memcg hierarchy reclaim to generic reclaim code\n\nMemory cgroup limit reclaim and traditional global pressure reclaim will\nsoon share the same code to reclaim from a hierarchical tree of memory\ncgroups.\n\nIn preparation of this, move the two right next to each other in\nshrink_zone().\n\nThe mem_cgroup_hierarchical_reclaim() polymath is split into a soft\nlimit reclaim function, which still does hierarchy walking on its own,\nand a limit (shrinking) reclaim function, which relies on generic\nreclaim code to walk the hierarchy.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab936cbcd02072a34b60d268f94440fd5cf1970b",
      "tree": "d37e3e3c54cc4cc691a428b6ceb71b4b40e4f42b",
      "parents": [
        "28d82dc1c4edbc352129f97f4ca22624d1fe61de"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 12 17:17:44 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "memcg: add mem_cgroup_replace_page_cache() to fix LRU issue\n\nCommit ef6a3c6311 (\"mm: add replace_page_cache_page() function\") added a\nfunction replace_page_cache_page().  This function replaces a page in the\nradix-tree with a new page.  WHen doing this, memory cgroup needs to fix\nup the accounting information.  memcg need to check PCG_USED bit etc.\n\nIn some(many?) cases, \u0027newpage\u0027 is on LRU before calling\nreplace_page_cache().  So, memcg\u0027s LRU accounting information should be\nfixed, too.\n\nThis patch adds mem_cgroup_replace_page_cache() and removes the old hooks.\n In that function, old pages will be unaccounted without touching\nres_counter and new page will be accounted to the memcg (of old page).\nWHen overwriting pc-\u003emem_cgroup of newpage, take zone-\u003elru_lock and avoid\nraces with LRU handling.\n\nBackground:\n  replace_page_cache_page() is called by FUSE code in its splice() handling.\n  Here, \u0027newpage\u0027 is replacing oldpage but this newpage is not a newly allocated\n  page and may be on LRU. LRU mis-accounting will be critical for memory cgroup\n  because rmdir() checks the whole LRU is empty and there is no account leak.\n  If a page is on the other LRU than it should be, rmdir() will fail.\n\nThis bug was added in March 2011, but no bug report yet.  I guess there\nare not many people who use memcg and FUSE at the same time with upstream\nkernels.\n\nThe result of this bug is that admin cannot destroy a memcg because of\naccount leak.  So, no panic, no deadlock.  And, even if an active cgroup\nexist, umount can succseed.  So no problem at shutdown.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28d82dc1c4edbc352129f97f4ca22624d1fe61de",
      "tree": "a6fbd269d17134ff42597b4e02eba4345bf6d901",
      "parents": [
        "2ccd4f4d4737b37e21dd92c8c584c23cd87740a2"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Jan 12 17:17:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:04 2012 -0800"
      },
      "message": "epoll: limit paths\n\nThe current epoll code can be tickled to run basically indefinitely in\nboth loop detection path check (on ep_insert()), and in the wakeup paths.\nThe programs that tickle this behavior set up deeply linked networks of\nepoll file descriptors that cause the epoll algorithms to traverse them\nindefinitely.  A couple of these sample programs have been previously\nposted in this thread: https://lkml.org/lkml/2011/2/25/297.\n\nTo fix the loop detection path check algorithms, I simply keep track of\nthe epoll nodes that have been already visited.  Thus, the loop detection\nbecomes proportional to the number of epoll file descriptor and links.\nThis dramatically decreases the run-time of the loop check algorithm.  In\none diabolical case I tried it reduced the run-time from 15 mintues (all\nin kernel time) to .3 seconds.\n\nFixing the wakeup paths could be done at wakeup time in a similar manner\nby keeping track of nodes that have already been visited, but the\ncomplexity is harder, since there can be multiple wakeups on different\ncpus...Thus, I\u0027ve opted to limit the number of possible wakeup paths when\nthe paths are created.\n\nThis is accomplished, by noting that the end file descriptor points that\nare found during the loop detection pass (from the newly added link), are\nactually the sources for wakeup events.  I keep a list of these file\ndescriptors and limit the number and length of these paths that emanate\nfrom these \u0027source file descriptors\u0027.  In the current implemetation I\nallow 1000 paths of length 1, 500 of length 2, 100 of length 3, 50 of\nlength 4 and 10 of length 5.  Note that it is sufficient to check the\n\u0027source file descriptors\u0027 reachable from the newly added link, since no\nother \u0027source file descriptors\u0027 will have newly added links.  This allows\nus to check only the wakeup paths that may have gotten too long, and not\nre-check all possible wakeup paths on the system.\n\nIn terms of the path limit selection, I think its first worth noting that\nthe most common case for epoll, is probably the model where you have 1\nepoll file descriptor that is monitoring n number of \u0027source file\ndescriptors\u0027.  In this case, each \u0027source file descriptor\u0027 has a 1 path of\nlength 1.  Thus, I believe that the limits I\u0027m proposing are quite\nreasonable and in fact may be too generous.  Thus, I\u0027m hoping that the\nproposed limits will not prevent any workloads that currently work to\nfail.\n\nIn terms of locking, I have extended the use of the \u0027epmutex\u0027 to all\nepoll_ctl add and remove operations.  Currently its only used in a subset\nof the add paths.  I need to hold the epmutex, so that we can correctly\ntraverse a coherent graph, to check the number of paths.  I believe that\nthis additional locking is probably ok, since its in the setup/teardown\npaths, and doesn\u0027t affect the running paths, but it certainly is going to\nadd some extra overhead.  Also, worth noting is that the epmuex was\nrecently added to the ep_ctl add operations in the initial path loop\ndetection code using the argument that it was not on a critical path.\n\nAnother thing to note here, is the length of epoll chains that is allowed.\nCurrently, eventpoll.c defines:\n\n/* Maximum number of nesting allowed inside epoll sets */\n#define EP_MAX_NESTS 4\n\nThis basically means that I am limited to a graph depth of 5 (EP_MAX_NESTS\n+ 1).  However, this limit is currently only enforced during the loop\ncheck detection code, and only when the epoll file descriptors are added\nin a certain order.  Thus, this limit is currently easily bypassed.  The\nnewly added check for wakeup paths, stricly limits the wakeup paths to a\nlength of 5, regardless of the order in which ep\u0027s are linked together.\nThus, a side-effect of the new code is a more consistent enforcement of\nthe graph depth.\n\nThus far, I\u0027ve tested this, using the sample programs previously\nmentioned, which now either return quickly or return -EINVAL.  I\u0027ve also\ntesting using the piptest.c epoll tester, which showed no difference in\nperformance.  I\u0027ve also created a number of different epoll networks and\ntested that they behave as expectded.\n\nI believe this solves the original diabolical test cases, while still\npreserving the sane epoll nesting.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43570fd2f47ba518145e9289f54cde3dba4c8b25",
      "tree": "67aa61c8b972f4b3af66cd89082222e77e06a4cb",
      "parents": [
        "0d259cf8190b9c446eefd5225ffcc3941e76a432"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jan 12 17:17:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "mm,slub,x86: decouple size of struct page from CONFIG_CMPXCHG_LOCAL\n\nWhile implementing cmpxchg_double() on s390 I realized that we don\u0027t set\nCONFIG_CMPXCHG_LOCAL despite the fact that we have support for it.\n\nHowever setting that option will increase the size of struct page by\neight bytes on 64 bit, which we certainly do not want.  Also, it doesn\u0027t\nmake sense that a present cpu feature should increase the size of struct\npage.\n\nBesides that it looks like the dependency to CMPXCHG_LOCAL is wrong and\nthat it should depend on CMPXCHG_DOUBLE instead.\n\nThis patch:\n\nIf an architecture supports CMPXCHG_LOCAL this shouldn\u0027t result\nautomatically in larger struct pages if the SLUB allocator is used.\nInstead introduce a new config option \"HAVE_ALIGNED_STRUCT_PAGE\" which\ncan be selected if a double word aligned struct page is required.  Also\nupdate x86 Kconfig so that it should work as before.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d259cf8190b9c446eefd5225ffcc3941e76a432",
      "tree": "6a0b92845f506c1f03fad5acdedd46d90b5f852c",
      "parents": [
        "ff2d8b19a3a62559afba1c53360c8577a7697714"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "include/linux/linkage.h: remove unused ATTRIB_NORET macro\n\nThe uses have been renamed so delete the unused macro.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff2d8b19a3a62559afba1c53360c8577a7697714",
      "tree": "20811c0e7c368cb216a436dd274695d9fc0577ef",
      "parents": [
        "9402c95f34a66e81eba473a2f7267bbae5a1dee2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "treewide: convert uses of ATTRIB_NORETURN to __noreturn\n\nUse the more commonly used __noreturn instead of ATTRIB_NORETURN.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9402c95f34a66e81eba473a2f7267bbae5a1dee2",
      "tree": "c46628e702d625a737fedbd9de88138a94c93d1f",
      "parents": [
        "80bf007f20b16272f210e0803f739f5606cff59d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:17 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:03 2012 -0800"
      },
      "message": "treewide: remove useless NORET_TYPE macro and uses\n\nIt\u0027s a very old and now unused prototype marking so just delete it.\n\nNeaten panic pointer argument style to keep checkpatch quiet.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80bf007f20b16272f210e0803f739f5606cff59d",
      "tree": "1d88fc99ec70e05a5452cf9ef54363f964a28da0",
      "parents": [
        "4da47859956cebdc4c58c38a931e21847458d744"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:02 2012 -0800"
      },
      "message": "include/linux/linkage.h: remove unused NORET_AND macro\n\nThe only use in kernel.h is gone so remove the macro.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4da47859956cebdc4c58c38a931e21847458d744",
      "tree": "3c588d141a5df4b4b7349e2476f0e711d7329886",
      "parents": [
        "efeb156e7275c5b6c6e0f96aceb3c6abf98fc392"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 12 17:17:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:02 2012 -0800"
      },
      "message": "kernel.h: neaten panic prototype\n\nUse __printf macro.\nConvert NORET_AND to ATTRIB_NORET.\nUse the normal kernel style for pointer arguments.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddecf0f4db44ef94847a62d6ecf74456b4dcc66f",
      "tree": "48c49b70f83d713c7e3f594e067ee726bb70777e",
      "parents": [
        "72092cc45378176ba700034c91b7af2db524df26"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jan 06 06:31:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 20:05:28 2012 -0800"
      },
      "message": "net_sched: sfq: add optional RED on top of SFQ\n\nAdds an optional Random Early Detection on each SFQ flow queue.\n\nTraditional SFQ limits count of packets, while RED permits to also\ncontrol number of bytes per flow, and adds ECN capability as well.\n\n1) We dont handle the idle time management in this RED implementation,\nsince each \u0027new flow\u0027 begins with a null qavg. We really want to address\nbacklogged flows.\n\n2) if headdrop is selected, we try to ecn mark first packet instead of\ncurrently enqueued packet. This gives faster feedback for tcp flows\ncompared to traditional RED [ marking the last packet in queue ]\n\nExample of use :\n\ntc qdisc add dev $DEV parent 1:1 handle 10: est 1sec 4sec sfq \\\n\tlimit 3000 headdrop flows 512 divisor 16384 \\\n\tredflowlimit 100000 min 8000 max 60000 probability 0.20 ecn\n\nqdisc sfq 10: parent 1:1 limit 3000p quantum 1514b depth 127 headdrop\nflows 512/16384 divisor 16384\n ewma 6 min 8000b max 60000b probability 0.2 ecn\n prob_mark 0 prob_mark_head 4876 prob_drop 6131\n forced_mark 0 forced_mark_head 0 forced_drop 0\n Sent 1175211782 bytes 777537 pkt (dropped 6131, overlimits 11007\nrequeues 0)\n rate 99483Kbit 8219pps backlog 689392b 456p requeues 0\n\nIn this test, with 64 netperf TCP_STREAM sessions, 50% using ECN enabled\nflows, we can see number of packets CE marked is smaller than number of\ndrops (for non ECN flows)\n\nIf same test is run, without RED, we can check backlog is much bigger.\n\nqdisc sfq 10: parent 1:1 limit 3000p quantum 1514b depth 127 headdrop\nflows 512/16384 divisor 16384\n Sent 1148683617 bytes 795006 pkt (dropped 0, overlimits 0 requeues 0)\n rate 98429Kbit 8521pps backlog 1221290b 841p requeues 0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCC: Dave Taht \u003cdave.taht@gmail.com\u003e\nTested-by: Dave Taht \u003cdave.taht@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb8a54a78e974e1af3e17fa38bb74d3747c5c1bd",
      "tree": "d3642783d7470c26815b7d3c14ea5d5949d7dcdb",
      "parents": [
        "1398eee08222a038fa5f017900f387e81f6e3ff4"
      ],
      "author": {
        "name": "Timur Tabi",
        "email": "timur@freescale.com",
        "time": "Thu Jan 12 15:23:04 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 15:23:04 2012 -0800"
      },
      "message": "phylib: introduce mdiobus_alloc_size()\n\nIntroduce function mdiobus_alloc_size() as an alternative to mdiobus_alloc().\nMost callers of mdiobus_alloc() also allocate a private data structure, and\nthen manually point bus-\u003epriv to this object.  mdiobus_alloc_size()\ncombines the two operations into one, which simplifies memory management.\n\nThe original mdiobus_alloc() now just calls mdiobus_alloc_size(0).\n\nSigned-off-by: Timur Tabi \u003ctimur@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6733e54b669c600eb8e451939ad55130db664fed",
      "tree": "2a8c24c856fa3f5d7d58a3eb39da943ca1c57e65",
      "parents": [
        "bcf8a3dfcb274cf6654a19e12e244f3af8c0d355",
        "451d0f599934fd97faf54a5d7954b518e66192cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 12:39:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 12:39:21 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  FUSE: Notifying the kernel of deletion.\n  fuse: support ioctl on directories\n  fuse: Use kcalloc instead of kzalloc to allocate array\n  fuse: llseek optimize SEEK_CUR and SEEK_SET\n"
    },
    {
      "commit": "bcf8a3dfcb274cf6654a19e12e244f3af8c0d355",
      "tree": "f1d0e0f36c0575a9202750aff65ba17ce91bc437",
      "parents": [
        "61bd5e5683244a564ecfe31c73575ee0bc708ccc",
        "b6c96c0214138186f495e3ee73737c6fc5e4efa2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 12:37:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 12:37:27 2012 -0800"
      },
      "message": "Merge tag \u0027to-linus\u0027 of git://github.com/rustyrussell/linux\n\n* tag \u0027to-linus\u0027 of git://github.com/rustyrussell/linux: (24 commits)\n  lguest: Make sure interrupt is allocated ok by lguest_setup_irq\n  lguest: move the lguest tool to the tools directory\n  lguest: switch segment-voodoo-numbers to readable symbols\n  virtio: balloon: Add freeze, restore handlers to support S4\n  virtio: balloon: Move vq initialization into separate function\n  virtio: net: Add freeze, restore handlers to support S4\n  virtio: net: Move vq and vq buf removal into separate function\n  virtio: net: Move vq initialization into separate function\n  virtio: blk: Add freeze, restore handlers to support S4\n  virtio: blk: Move vq initialization to separate function\n  virtio: console: Disable callbacks for virtqueues at start of S4 freeze\n  virtio: console: Add freeze and restore handlers to support S4\n  virtio: console: Move vq and vq buf removal into separate functions\n  virtio: pci: add PM notification handlers for restore, freeze, thaw, poweroff\n  virtio: pci: switch to new PM API\n  virtio_blk: fix config handler race\n  virtio: add debugging if driver doesn\u0027t kick.\n  virtio: expose added descriptors immediately.\n  virtio: avoid modulus operation.\n  virtio: support unlocked queue kick\n  ...\n"
    },
    {
      "commit": "9ee6045f09a7875ebe55b9942b232a19076b157b",
      "tree": "4c3924d35d99d413a95205ac21da8d369063234b",
      "parents": [
        "3b09c84cb622ffbcdb5d541986b1eaf7d5812602",
        "1140afa862842ac3e56678693050760edc4ecde9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 12:10:00 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 12:10:00 2012 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n"
    },
    {
      "commit": "a429638cac1e5c656818a45aaff78df7b743004e",
      "tree": "0465e0d7a431bff97a3dd5a1f91d9b30c69ae0d8",
      "parents": [
        "5cf9a4e69c1ff0ccdd1d2b7404f95c0531355274",
        "9e4ce164ee3a1d07580f017069c25d180b0aa785"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 08:00:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 08:00:30 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (526 commits)\n  ASoC: twl6040 - Add method to query optimum PDM_DL1 gain\n  ALSA: hda - Fix the lost power-setup of seconary pins after PM resume\n  ALSA: usb-audio: add Yamaha MOX6/MOX8 support\n  ALSA: virtuoso: add S/PDIF input support for all Xonars\n  ALSA: ice1724 - Support for ooAoo SQ210a\n  ALSA: ice1724 - Allow card info based on model only\n  ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations\n  ALSA: hdspm - Provide unique driver id based on card serial\n  ASoC: Dynamically allocate the rtd device for a non-empty release()\n  ASoC: Fix recursive dependency due to select ATMEL_SSC in SND_ATMEL_SOC_SSC\n  ALSA: hda - Fix the detection of \"Loopback Mixing\" control for VIA codecs\n  ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs\n  ALSA: hda - Use auto-parser for HP laptops with cx20459 codec\n  ALSA: asihpi - Fix potential Oops in snd_asihpi_cmode_info()\n  ALSA: hdsp - Fix potential Oops in snd_hdsp_info_pref_sync_ref()\n  ALSA: hda/cirrus - support for iMac12,2 model\n  ASoC: cx20442: add bias control over a platform provided regulator\n  ALSA: usb-audio - Avoid flood of frame-active debug messages\n  ALSA: snd-usb-us122l: Delete calls to preempt_disable\n  mfd: Put WM8994 into cache only mode when suspending\n  ...\n\nFix up trivial conflicts in:\n - arch/arm/mach-s3c64xx/mach-crag6410.c:\n\trenamed speyside_wm8962 to tobermory, added littlemill right\n\tnext to it\n - drivers/base/regmap/{regcache.c,regmap.c}:\n\tduplicate diff that had already come in with other changes in\n\tthe regmap tree\n"
    },
    {
      "commit": "9e4ce164ee3a1d07580f017069c25d180b0aa785",
      "tree": "7569661eae727a5a349e4c98dba42ca681857462",
      "parents": [
        "627b79628f56c3deeb17dec1edf6899b49552fa4",
        "f2cbba7602383cd9cdd21f0a5d0b8bd1aad47b33"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:59:18 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:59:18 2012 +0100"
      },
      "message": "Merge branch \u0027topic/hda\u0027 into for-linus\n"
    },
    {
      "commit": "627b79628f56c3deeb17dec1edf6899b49552fa4",
      "tree": "deac8b2cce5d70708fa944a270ee031f069226d8",
      "parents": [
        "29abceb67f8a230da806db4ed73899595bd2ae76",
        "8c3f5d8a9b7d0d8506bc2a0525e012eae02b1853"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:59:14 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Jan 12 09:59:14 2012 +0100"
      },
      "message": "Merge branch \u0027topic/misc\u0027 into for-linus\n"
    },
    {
      "commit": "4c4d285ad5665bfbd983b95fde8d7a477d24a361",
      "tree": "05da51053d4c8943ae21ea0b152aef4c67eba19d",
      "parents": [
        "56c8bc3b7ed3d24c665e2ce992f86a5bedffc852",
        "e64e1b11b14d363ac70fd13ab809969a6d7e42a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 23:29:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 23:29:20 2012 -0800"
      },
      "message": "Merge tag \u0027rmobile-for-linus\u0027 of git://github.com/pmundt/linux-sh\n\nSH/R-Mobile updates for 3.3 merge window.\n\n* tag \u0027rmobile-for-linus\u0027 of git://github.com/pmundt/linux-sh: (32 commits)\n  arm: mach-shmobile: add a resource name for shdma\n  ARM: mach-shmobile: r8a7779 SMP support V3\n  ARM: mach-shmobile: Add kota2 defconfig.\n  ARM: mach-shmobile: Add marzen defconfig.\n  ARM: mach-shmobile: r8a7779 power domain support V2\n  ARM: mach-shmobile: Fix up marzen build for recent GIC changes.\n  ARM: mach-shmobile: r8a7779 PFC function support\n  ARM: mach-shmobile: Flush caches in platform_cpu_die()\n  ARM: mach-shmobile: Allow SoC specific CPU kill code\n  ARM: mach-shmobile: Fix headsmp.S code to use CPUINIT\n  ARM: mach-shmobile: clock-r8a7779: clkz/clkzs support\n  ARM: mach-shmobile: clock-r8a7779: add DIV4 clock support\n  ARM: mach-shmobile: Marzen LAN89218 support\n  ARM: mach-shmobile: Marzen SCIF2/SCIF4 support\n  ARM: mach-shmobile: r8a7779 PFC GPIO-only support V2\n  ARM: mach-shmobile: r8a7779 and Marzen base support V2\n  sh: pfc: Unlock register support\n  sh: pfc: Variable bitfield width config register support\n  sh: pfc: Add config_reg_helper() function\n  sh: pfc: Convert index to field and value pair\n  ...\n"
    },
    {
      "commit": "56c8bc3b7ed3d24c665e2ce992f86a5bedffc852",
      "tree": "ee8747e83beb5a4323dd2328f3368ffb9031dc31",
      "parents": [
        "b8bf17d311c875de02550d5ce2af66588734159a",
        "1c1744cc7cee83b96e3a89c1b9853fc033bafb9c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 23:22:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 23:22:52 2012 -0800"
      },
      "message": "Merge tag \u0027sh-for-linus\u0027 of git://github.com/pmundt/linux-sh\n\nSuperH updates for 3.3 merge window.\n\n* tag \u0027sh-for-linus\u0027 of git://github.com/pmundt/linux-sh: (38 commits)\n  sh: magicpanelr2: Update for parse_mtd_partitions() fallout.\n  sh: mach-rsk: Update for parse_mtd_partitions() fallout.\n  sh: sh2a: Improve cache flush/invalidate functions\n  sh: also without PM_RUNTIME pm_runtime.o must be built\n  sh: add a resource name for shdma\n  sh: Remove redundant try_to_freeze() invocations.\n  sh: Ensure IRQs are enabled across do_notify_resume().\n  sh: Fix up store queue code for subsys_interface changes.\n  sh: clkfwk: sh_clk_init_parent() should be called after clk_register()\n  sh: add platform_device for renesas_usbhs in board-sh7757lcr\n  sh: modify clock-sh7757 for renesas_usbhs\n  sh: pfc: ioremap() support\n  sh: use ioread32/iowrite32 and mapped_reg for div6\n  sh: use ioread32/iowrite32 and mapped_reg for div4\n  sh: use ioread32/iowrite32 and mapped_reg for mstp32\n  sh: extend clock struct with mapped_reg member\n  sh: clkfwk: clock-sh73a0: all div6_clks use SH_CLK_DIV6_EXT()\n  sh: clkfwk: clock-sh7724: all div6_clks use SH_CLK_DIV6_EXT()\n  sh: clock-sh7723: add CLKDEV_ICK_ID for cleanup\n  serial: sh-sci: Handle GPIO function requests.\n  ...\n"
    },
    {
      "commit": "f0fe6f11503fa9880867554350ac5d3092c47251",
      "tree": "0f95d79a528809e169a742afeafddd041d275181",
      "parents": [
        "d077536386595309060dda57e7b7474c501a589b"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Dec 22 16:58:26 2011 +0530"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:44 2012 +1030"
      },
      "message": "virtio: pci: add PM notification handlers for restore, freeze, thaw, poweroff\n\nHandle thaw, restore and freeze notifications from the PM core.  Expose\nthese to individual virtio drivers that can quiesce and resume vq\noperations.  For drivers not implementing the thaw() method, use the\nrestore method instead.\n\nThese functions also save device-specific data so that the device can be\nput in pre-suspend state after resume, and disable and enable the PCI\ndevice in the freeze and resume functions, respectively.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "41f0377f73039ca6fe97a469d1941a89cd9757f1",
      "tree": "380814eb3ad8092069c784539b5b88f8a9506240",
      "parents": [
        "f96fde41f7f9af6cf20f6a1919f5d9670f84d574"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:43 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:43 2012 +1030"
      },
      "message": "virtio: support unlocked queue kick\n\nBased on patch by Christoph for virtio_blk speedup:\n\n\tSplit virtqueue_kick to be able to do the actual notification\n\toutside the lock protecting the virtqueue.  This patch was\n\toriginally done by Stefan Hajnoczi, but I can\u0027t find the\n\toriginal one anymore and had to recreated it from memory.\n\tPointers to the original or corrections for the commit message\n\tare welcome.\n\nStefan\u0027s patch was here:\n\n\thttps://github.com/stefanha/linux/commit/a6d06644e3a58e57a774e77d7dc34c4a5a2e7496\n\thttp://www.spinics.net/lists/linux-virtualization/msg14616.html\n\nThird time\u0027s the charm!\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f96fde41f7f9af6cf20f6a1919f5d9670f84d574",
      "tree": "14b8a0343b255989ac8ba0ea34e18dca419723df",
      "parents": [
        "5dfc17628d57f9e62043ed0cba03a6e3eb019a78"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:42 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:42 2012 +1030"
      },
      "message": "virtio: rename virtqueue_add_buf_gfp to virtqueue_add_buf\n\nRemove wrapper functions. This makes the allocation type explicit in\nall callers; I used GPF_KERNEL where it seemed obvious, left it at\nGFP_ATOMIC otherwise.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "5dfc17628d57f9e62043ed0cba03a6e3eb019a78",
      "tree": "a488dd3ea081166342904224db3cf039758f23d4",
      "parents": [
        "1e214a5c1a7e901fc8e98ad6ef84f11005f9ee9d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:42 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:42 2012 +1030"
      },
      "message": "virtio: document functions better.\n\nThe old documentation is left over from when we used a structure with\nstrategy pointers.\n\nAnd move the documentation to the C file as per kernel practice.\nThough I disagree...\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "7b21e34fd1c272e3a8c3846168f2f6287a4cd72b",
      "tree": "0f94c9f834f5b7cd8ba87168df892ed17b09cb8f",
      "parents": [
        "e343a895a9f342f239c5e3c5ffc6c0b1707e6244"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:42 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:42 2012 +1030"
      },
      "message": "virtio: harsher barriers for rpmsg.\n\nWe were cheating with our barriers; using the smp ones rather than the\nreal device ones.  That was fine, until rpmsg came along, which is\nused to talk to a real device (a non-SMP CPU).\n\nUnfortunately, just putting back the real barriers (reverting\nd57ed95d) causes a performance regression on virtio-pci.  In\nparticular, Amos reports netbench\u0027s TCP_RR over virtio_net CPU\nutilization increased up to 35% while throughput went down by up to\n14%.\n\nBy comparison, this branch is in the noise.\n\nReference: https://lkml.org/lkml/2011/12/11/22\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b1bdd255661369cb6eb90b6e181169b5e6d0f9b6",
      "tree": "17d15f3a6dc5bdd6205070dbef0e339421b13d25",
      "parents": [
        "9d14070f656addddce3d63fd483de46930b51850",
        "c1537b4863da620f12f5b42ece61bf65314148ed"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:11:43 2012 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 12 13:11:43 2012 +0900"
      },
      "message": "Merge branch \u0027sh/nommu\u0027 into sh-latest\n"
    },
    {
      "commit": "541048a1d31399ccdda27346a37eae4a2ad55186",
      "tree": "e2a820ee478b18d4214347631b94b9a9b2d8562b",
      "parents": [
        "bcede2f64a3b5cb50c0bdec1553ab480fd75d659",
        "e58d429209105e698e9d0357481d62b37fe9a7dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:13:04 2012 -0800"
      },
      "message": "Merge branch \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, reboot: Fix typo in nmi reboot path\n  x86, NMI: Add to_cpumask() to silence compile warning\n  x86, NMI: NMI selftest depends on the local apic\n  x86: Add stack top margin for stack overflow checking\n  x86, NMI: NMI-selftest should handle the UP case properly\n  x86: Fix the 32-bit stackoverflow-debug build\n  x86, NMI: Add knob to disable using NMI IPIs to stop cpus\n  x86, NMI: Add NMI IPI selftest\n  x86, reboot: Use NMI instead of REBOOT_VECTOR to stop cpus\n  x86: Clean up the range of stack overflow checking\n  x86: Panic on detection of stack overflow\n  x86: Check stack overflow in detail\n"
    },
    {
      "commit": "bcede2f64a3b5cb50c0bdec1553ab480fd75d659",
      "tree": "b98e55bf2eea83bb5f6805abb210c5ea8625b550",
      "parents": [
        "d0b9706c20ebb4ba181dc26e52ac9a6861abf425",
        "2d2da60fb40a80cc59383121ccf763e0e0e8a42a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:33 2012 -0800"
      },
      "message": "Merge branch \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, efi: Break up large initrd reads\n  x86, efi: EFI boot stub support\n  efi: Add EFI file I/O data types\n  efi.h: Add boottime-\u003elocate_handle search types\n  efi.h: Add graphics protocol guids\n  efi.h: Add allocation types for boottime-\u003eallocate_pages()\n  efi.h: Add efi_image_loaded_t\n  efi.h: Add struct definition for boot time services\n  x86: Don\u0027t use magic strings for EFI loader signature\n  x86: Add missing bzImage fields to struct setup_header\n"
    },
    {
      "commit": "d0b9706c20ebb4ba181dc26e52ac9a6861abf425",
      "tree": "436e89246fd5ebcf737cae27e135a1995155329b",
      "parents": [
        "02d929502ce7b57f4835d8bb7c828d36e6d9e8ce",
        "54eed6cb16ec315565aaaf8e34252ca253a68b7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:10 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 19:12:10 2012 -0800"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/numa: Add constraints check for nid parameters\n  mm, x86: Remove debug_pagealloc_enabled\n  x86/mm: Initialize high mem before free_all_bootmem()\n  arch/x86/kernel/e820.c: quiet sparse noise about plain integer as NULL pointer\n  arch/x86/kernel/e820.c: Eliminate bubble sort from sanitize_e820_map()\n  x86: Fix mmap random address range\n  x86, mm: Unify zone_sizes_init()\n  x86, mm: Prepare zone_sizes_init() for unification\n  x86, mm: Use max_low_pfn for ZONE_NORMAL on 64-bit\n  x86, mm: Wrap ZONE_DMA32 with CONFIG_ZONE_DMA32\n  x86, mm: Use max_pfn instead of highend_pfn\n  x86, mm: Move zone init from paging_init() on 64-bit\n  x86, mm: Use MAX_DMA_PFN for ZONE_DMA on 32-bit\n"
    },
    {
      "commit": "b24ca57e7625bc304e77bc429693ad32a691eb16",
      "tree": "770aa389c6e763cf37776a35e85ff1e41958b1e9",
      "parents": [
        "6296e5d3c067df41980a5fd09ad4cc6765f79bb9",
        "913272b3864d6da89c70d9fc2c30ccb57794b369"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:05 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:53:05 2012 -0800"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6: (68 commits)\n  power_supply: Mark da9052 driver as broken\n  power_supply: Drop usage of nowarn variant of sysfs_create_link()\n  s3c_adc_battery: Average over more than one adc sample\n  power_supply: Add DA9052 battery driver\n  isp1704_charger: Fix missing check\n  jz4740-battery: Fix signedness bug\n  power_supply: Assume mains power by default\n  sbs-battery: Fix devicetree match table\n  ARM: rx51: Add bq27200 i2c board info\n  sbs-battery: Change power supply name\n  devicetree-bindings: Propagate bq20z75-\u003esbs rename to dt bindings\n  devicetree-bindings: Add vendor entry for Smart Battery Systems\n  sbs-battery: Rename internals to new name\n  bq20z75: Rename to sbs-battery\n  wm97xx_battery: Use DEFINE_MUTEX() for work_lock\n  max8997_charger: Remove duplicate module.h\n  lp8727_charger: Some minor fixes for the header\n  lp8727_charger: Add header file\n  power_supply: Convert drivers/power/* to use module_platform_driver()\n  power_supply: Add \"unknown\" in power supply type\n  ...\n"
    },
    {
      "commit": "7b67e751479d50b7f84d1a3cc5216eed5e534b66",
      "tree": "a1a6746857cf65f04dde739fe271bf4143d55eaf",
      "parents": [
        "9f13a1fd452f11c18004ba2422a6384b424ec8a9",
        "76ccc297018d25d55b789bbd508861ef1e2cdb0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:50:26 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 11 18:50:26 2012 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (80 commits)\n  x86/PCI: Expand the x86_msi_ops to have a restore MSIs.\n  PCI: Increase resource array mask bit size in pcim_iomap_regions()\n  PCI: DEVICE_COUNT_RESOURCE should be equal to PCI_NUM_RESOURCES\n  PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)\n  PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB\n  x86/PCI: amd: factor out MMCONFIG discovery\n  PCI: Enable ATS at the device state restore\n  PCI: msi: fix imbalanced refcount of msi irq sysfs objects\n  PCI: kconfig: English typo in pci/pcie/Kconfig\n  PCI/PM/Runtime: make PCI traces quieter\n  PCI: remove pci_create_bus()\n  xtensa/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus()\n  x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented()\n  x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan\n  sparc32, leon/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  sparc/PCI: convert to pci_create_root_bus()\n  sh/PCI: convert to pci_scan_root_bus() for correct root bus resources\n  powerpc/PCI: convert to pci_create_root_bus()\n  powerpc/PCI: split PHB part out of pcibios_map_io_space()\n  ...\n\nFix up conflicts in drivers/pci/msi.c and include/linux/pci_regs.h due\nto the same patches being applied in other branches.\n"
    },
    {
      "commit": "3b09c84cb622ffbcdb5d541986b1eaf7d5812602",
      "tree": "5c322a4985f97c1360cf8877e8c70f8a0875dab0",
      "parents": [
        "c8991362a0d3cf317dfbfb6cb946607870654e6d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Jan 10 22:37:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 11 12:56:06 2012 -0800"
      },
      "message": "inet_diag: Rename inet_diag_req_compat into inet_diag_req\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8991362a0d3cf317dfbfb6cb946607870654e6d",
      "tree": "21db1072591e2549fedd6d54586efe3ef7f45cb4",
      "parents": [
        "f515e6b77045b4b1f54617d9fbf4a22b95a58757"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Jan 10 22:36:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 11 12:56:06 2012 -0800"
      },
      "message": "inet_diag: Rename inet_diag_req into inet_diag_req_v2\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f58cb90bcb04cfe18f524d1c9a65edef5eb3f51",
      "tree": "8c686e8b736eed7258921909282c0955543c7d2f",
      "parents": [
        "e7691a1ce341c80ed9504244a36b31c025217391",
        "08c70fc3a239475122e20b7a21dfae4c264c24f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 22:01:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 22:01:27 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (54 commits)\n  crypto: gf128mul - remove leftover \"(EXPERIMENTAL)\" in Kconfig\n  crypto: serpent-sse2 - remove unneeded LRW/XTS #ifdefs\n  crypto: serpent-sse2 - select LRW and XTS\n  crypto: twofish-x86_64-3way - remove unneeded LRW/XTS #ifdefs\n  crypto: twofish-x86_64-3way - select LRW and XTS\n  crypto: xts - remove dependency on EXPERIMENTAL\n  crypto: lrw - remove dependency on EXPERIMENTAL\n  crypto: picoxcell - fix boolean and / or confusion\n  crypto: caam - remove DECO access initialization code\n  crypto: caam - fix polarity of \"propagate error\" logic\n  crypto: caam - more desc.h cleanups\n  crypto: caam - desc.h - convert spaces to tabs\n  crypto: talitos - convert talitos_error to struct device\n  crypto: talitos - remove NO_IRQ references\n  crypto: talitos - fix bad kfree\n  crypto: convert drivers/crypto/* to use module_platform_driver()\n  char: hw_random: convert drivers/char/hw_random/* to use module_platform_driver()\n  crypto: serpent-sse2 - should select CRYPTO_CRYPTD\n  crypto: serpent - rename serpent.c to serpent_generic.c\n  crypto: serpent - cleanup checkpatch errors and warnings\n  ...\n"
    },
    {
      "commit": "e7691a1ce341c80ed9504244a36b31c025217391",
      "tree": "e9941bb350f64a726130e299c411821da6f41a53",
      "parents": [
        "5cd9599bba428762025db6027764f1c59d0b1e1b",
        "8fcc99549522fc7a0bbaeb5755855ab0d9a59ce8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:51:23 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security: (32 commits)\n  ima: fix invalid memory reference\n  ima: free duplicate measurement memory\n  security: update security_file_mmap() docs\n  selinux: Casting (void *) value returned by kmalloc is useless\n  apparmor: fix module parameter handling\n  Security: tomoyo: add .gitignore file\n  tomoyo: add missing rcu_dereference()\n  apparmor: add missing rcu_dereference()\n  evm: prevent racing during tfm allocation\n  evm: key must be set once during initialization\n  mpi/mpi-mpow: NULL dereference on allocation failure\n  digsig: build dependency fix\n  KEYS: Give key types their own lockdep class for key-\u003esem\n  TPM: fix transmit_cmd error logic\n  TPM: NSC and TIS drivers X86 dependency fix\n  TPM: Export wait_for_stat for other vendor specific drivers\n  TPM: Use vendor specific function for status probe\n  tpm_tis: add delay after aborting command\n  tpm_tis: Check return code from getting timeouts/durations\n  tpm: Introduce function to poll for result of self test\n  ...\n\nFix up trivial conflict in lib/Makefile due to addition of CONFIG_MPI\nand SIGSIG next to CONFIG_DQL addition.\n"
    },
    {
      "commit": "5cd9599bba428762025db6027764f1c59d0b1e1b",
      "tree": "cb59ea13f6e6de4350ca38338bf9633e89f8418a",
      "parents": [
        "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
        "d668dc56631da067540b2494d2a1f29ff7b5f15a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:46:36 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:46:36 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  autofs4: deal with autofs4_write/autofs4_write races\n  autofs4: catatonic_mode vs. notify_daemon race\n  autofs4: autofs4_wait() vs. autofs4_catatonic_mode() race\n  hfsplus: creation of hidden dir on mount can fail\n  block_dev: Suppress bdev_cache_init() kmemleak warninig\n  fix shrink_dcache_parent() livelock\n  coda: switch coda_cnode_make() to sane API as well, clean coda_lookup()\n  coda: deal correctly with allocation failure from coda_cnode_makectl()\n  securityfs: fix object creation races\n"
    },
    {
      "commit": "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
      "tree": "46c81c6ae375b1f14e209b13c8ac020842807ece",
      "parents": [
        "06792c4dde2ad143928cc95c1ba218c6269c494b",
        "193a667fba76b3df482cbf865228e26ee246e889"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 18:04:27 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\nlib: use generic pci_iomap on all architectures\n\nMany architectures don\u0027t want to pull in iomap.c,\nso they ended up duplicating pci_iomap from that file.\nThat function isn\u0027t trivial, and we are going to modify it\nhttps://lkml.org/lkml/2011/11/14/183\nso the duplication hurts.\n\nThis reduces the scope of the problem significantly,\nby moving pci_iomap to a separate file and\nreferencing that from all architectures.\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:\n  alpha: drop pci_iomap/pci_iounmap from pci-noop.c\n  mn10300: switch to GENERIC_PCI_IOMAP\n  mn10300: add missing __iomap markers\n  frv: switch to GENERIC_PCI_IOMAP\n  tile: switch to GENERIC_PCI_IOMAP\n  tile: don\u0027t panic on iomap\n  sparc: switch to GENERIC_PCI_IOMAP\n  sh: switch to GENERIC_PCI_IOMAP\n  powerpc: switch to GENERIC_PCI_IOMAP\n  parisc: switch to GENERIC_PCI_IOMAP\n  mips: switch to GENERIC_PCI_IOMAP\n  microblaze: switch to GENERIC_PCI_IOMAP\n  arm: switch to GENERIC_PCI_IOMAP\n  alpha: switch to GENERIC_PCI_IOMAP\n  lib: add GENERIC_PCI_IOMAP\n  lib: move GENERIC_IOMAP to lib/Kconfig\n\nFix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig\n"
    },
    {
      "commit": "06792c4dde2ad143928cc95c1ba218c6269c494b",
      "tree": "92bdd4631612c9e3d8e5f6f06839f75c5473300a",
      "parents": [
        "4690dfa8cd66c37fbe99bb8cd5baa86102110776",
        "166c0eaedfc3157dc1394c27e827add19f05fb27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:39:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:39:40 2012 -0800"
      },
      "message": "Merge tag \u0027for-linux-3.3-merge-window\u0027 of git://linux-c6x.org/git/projects/linux-c6x-upstreaming\n\n* tag \u0027for-linux-3.3-merge-window\u0027 of git://linux-c6x.org/git/projects/linux-c6x-upstreaming: (29 commits)\n  C6X: replace tick_nohz_stop/restart_sched_tick calls\n  C6X: add register_cpu call\n  C6X: deal with memblock API changes\n  C6X: fix timer64 initialization\n  C6X: fix layout of EMIFA registers\n  C6X: MAINTAINERS\n  C6X: DSCR - Device State Configuration Registers\n  C6X: EMIF - External Memory Interface\n  C6X: general SoC support\n  C6X: library code\n  C6X: headers\n  C6X: ptrace support\n  C6X: loadable module support\n  C6X: cache control\n  C6X: clocks\n  C6X: build infrastructure\n  C6X: syscalls\n  C6X: interrupt handling\n  C6X: time management\n  C6X: signal management\n  ...\n"
    },
    {
      "commit": "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
      "tree": "a76225046369c440de93739add9823f5ea060245",
      "parents": [
        "40ba587923ae67090d9f141c1d3c951be5c1420e",
        "bc31b86a5923fad5f3fbb6192f767f410241ba27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c\n  writeback: balanced_rate cannot exceed write bandwidth\n  writeback: do strict bdi dirty_exceeded\n  writeback: avoid tiny dirty poll intervals\n  writeback: max, min and target dirty pause time\n  writeback: dirty ratelimit - think time compensation\n  btrfs: fix dirtied pages accounting on sub-page writes\n  writeback: fix dirtied pages accounting on redirty\n  writeback: fix dirtied pages accounting on sub-page writes\n  writeback: charge leaked page dirties to active tasks\n  writeback: Include all dirty inodes in background writeback\n"
    },
    {
      "commit": "40ba587923ae67090d9f141c1d3c951be5c1420e",
      "tree": "342a72fc0ee13a0d2496ef970b64dfeadf1355d2",
      "parents": [
        "54c2c5761febcca46c8037d3a81612991e6c209a",
        "6b550f9495947fc279d12c38feaf98500e8d0646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (aka \"Andrew\u0027s patch-bomb\")\n\nAndrew elucidates:\n - First installmeant of MM.  We have a HUGE number of MM patches this\n   time.  It\u0027s crazy.\n - MAINTAINERS updates\n - backlight updates\n - leds\n - checkpatch updates\n - misc ELF stuff\n - rtc updates\n - reiserfs\n - procfs\n - some misc other bits\n\n* akpm: (124 commits)\n  user namespace: make signal.c respect user namespaces\n  workqueue: make alloc_workqueue() take printf fmt and args for name\n  procfs: add hidepid\u003d and gid\u003d mount options\n  procfs: parse mount options\n  procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n  procfs: make proc_get_link to use dentry instead of inode\n  signal: add block_sigmask() for adding sigmask to current-\u003eblocked\n  sparc: make SA_NOMASK a synonym of SA_NODEFER\n  reiserfs: don\u0027t lock root inode searching\n  reiserfs: don\u0027t lock journal_init()\n  reiserfs: delay reiserfs lock until journal initialization\n  reiserfs: delete comments referring to the BKL\n  drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range\n  drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030\n  drivers/rtc/: remove redundant spi driver bus initialization\n  drivers/rtc/rtc-jz4740.c: make jz4740_rtc_driver static\n  drivers/rtc/rtc-mc13xxx.c: make mc13xxx_rtc_idtable static\n  rtc: convert drivers/rtc/* to use module_platform_driver()\n  drivers/rtc/rtc-wm831x.c: convert to devm_kzalloc()\n  drivers/rtc/rtc-wm831x.c: remove unused period IRQ handler\n  ...\n"
    }
  ],
  "next": "b196be89cdc14a88cc637cdad845a75c5886c82d"
}
