)]}'
{
  "log": [
    {
      "commit": "69ba44331e81e4a15b504175ec70b7b4b4e5a8b9",
      "tree": "cad7ae00519ff61d88f3766463c43119189d37b9",
      "parents": [
        "610e23749e87920136e1a221266a43cb7e3823f1"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 12:10:53 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:56 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_BAD_BASE, CS_BAD_IRQ, CS_BAD_OFFSET and CS_BAD_SIZE\n\nThese four error values mostly mean a badly written driver, so ds_dbg()\noutput and -EINVAL seems to be enough.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "610e23749e87920136e1a221266a43cb7e3823f1",
      "tree": "5696af5b6e7be04e17a852e6c810798930a9b6c4",
      "parents": [
        "635d19bea0e91df473a81391ec8f3db2d049a218"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 11:58:53 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:55 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_BAD_ATTRIBUTE, CS_BAD_TYPE and CS_BAD_PAGE\n\nCS_BAD_TYPE was only used in cs.c and already properly annotated by error\nmessages. CS_BAD_ATTRIBUTE and CS_BAD_PAGE mean a badly written driver, so\nds_dbg() output and -EINVAL seems to be enough.\n\n(includes bugfix from and\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\n)\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "635d19bea0e91df473a81391ec8f3db2d049a218",
      "tree": "8886deb8530f815711ad0c65bc35ce491f25f3f9",
      "parents": [
        "f958095ef4fc96e978c6eddcaca29100e5276c7f"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 11:47:29 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:54 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_NO_MORE_ITEMS\n\nCS_NO_MORE_ITEMS is returned by the CIS tuple reading and parsing code if\nthe end of a tuple chain is reached. As at least one PCMCIA driver relies\non matching this return value, replace it with -ENOSPC which is now\nuniquely used for this purpose within the in-kernel pcmcia subsystem.\n\nCC: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCC: linux-serial@vger.kernel.org\nCC: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "f958095ef4fc96e978c6eddcaca29100e5276c7f",
      "tree": "16afbb0172e7d7851350d37784bbf1fb0493c90d",
      "parents": [
        "943f70f1b5182c5220641ccb7bb905005162e227"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 11:40:19 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:48 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_IN_USE\n\nIf a resource is already in use, mark it with -EBUSY. Same for cards already\nasleep.\n\n(includes a fix for a bug found by Larry Finger -- thanks!)\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "943f70f1b5182c5220641ccb7bb905005162e227",
      "tree": "f3eaf1d507fc6740f0fcaecc549749a5219440cc",
      "parents": [
        "ffb8da20271bcfb343e299e5f630dab9ccfb6214"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 11:23:42 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:46 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_CONFIGURATION_LOCKED\n\nThis error code meant that trying to change the configuration after the\ninitialization phase is forbidden.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "ffb8da20271bcfb343e299e5f630dab9ccfb6214",
      "tree": "52a228473ac4cb74726c63c4d3f2fbce8da831ff",
      "parents": [
        "8567142e87322141f9344d1ab632ccf5190cd0d3"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 11:18:00 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:45 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_BAD_HANDLE\n\nCS_BAD_HANDLE means that something went badly wrong: no parameter was passed,\nor the paramater passed wasn\u0027t the correct one. Therefore, replace it with\n-EINVAL.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "8567142e87322141f9344d1ab632ccf5190cd0d3",
      "tree": "c97d0ceead6690580b7a595a5b7dc7113a6c37f6",
      "parents": [
        "3939c1ef1f954409d1441c09fbc08376655758fe"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 11:15:45 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:44 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_GENERAL_FAILURE\n\nIt\u0027s only used by pcmcia_core when socket-related queries time out.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "3939c1ef1f954409d1441c09fbc08376655758fe",
      "tree": "a66c10593b8b47a1a63471dd6fc6f9fb214063ca",
      "parents": [
        "d8b0a49da4f213c637d458319432016f4ea5e12a"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 11:10:56 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:43 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_NO_CARD\n\nIt means that no card can be detected in the socket, so return -ENODEV\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "d8b0a49da4f213c637d458319432016f4ea5e12a",
      "tree": "488b1c1e8796f11807aaf7c18f9c5332c01a8e1e",
      "parents": [
        "de6405e9d1e7530ea33b62e1a3921338f836a046"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 10:56:13 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:42 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_BAD_VCC and CS_BAD_VPP\n\nThey were either used to report that changing voltage is not allowed, or that\nchanging voltage failed.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "de6405e9d1e7530ea33b62e1a3921338f836a046",
      "tree": "4952537154518b48875bd126b3ac165ed4eb9198",
      "parents": [
        "1168386aa7d850ead2ae135d5a7949a592c6e9a0"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 10:47:59 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:41 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_UNSUPPORTED_*\n\nCS_UNSUPPORTED_MODE and CS_UNSUPPORTED_FUNCTION were mostly used to denote\ntrying to use PCMCIA functions on CardBus cards.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "1168386aa7d850ead2ae135d5a7949a592c6e9a0",
      "tree": "9b36c2220df778fa74af93befb641c0569a5e862",
      "parents": [
        "5ff87db6792844ae24cc784512a95e0c94521b19"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 10:22:47 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:40 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_OUT_OF_RESOURCE\n\nCS_OUT_OF_RESOURCE was almost only used to note -ENOMEM situations.\nTherefore, use -ENOMEM explicitely, and also print out warnings.\n\nCC: netdev@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "5ff87db6792844ae24cc784512a95e0c94521b19",
      "tree": "1a9cb26c8dc813aaa67068f126010bcf40d7025a",
      "parents": [
        "4c89e88bfde6a3c179790e21004f24e09a058290"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 10:36:50 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:39 2008 +0200"
      },
      "message": "pcmcia: deprecate unused CS_ error codes\n\nDeprecate unused CS_ error codes by replacing their definitions with\ngeneric error messages, and removing them from the error_t lookup table.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "4c89e88bfde6a3c179790e21004f24e09a058290",
      "tree": "2895a308d64aeabb5fde776d92572a51444d835b",
      "parents": [
        "1a53088c101789bfca431de709ff6e45e8c77003"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 10:07:45 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:29:26 2008 +0200"
      },
      "message": "pcmcia: deprecate CS_SUCCESS\n\nInstead of using own error or success codes, the PCMCIA code should rely on\nthe generic return values. Therefore, replace all occurrences of CS_SUCCESS\nwith 0.\n\nCC: netdev@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "1a53088c101789bfca431de709ff6e45e8c77003",
      "tree": "b73ded75664ae5ae2ecfc1f611e6345b4e536110",
      "parents": [
        "64f346425175ad33812cd693fbca48cd512dab63"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 08:57:51 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:16:09 2008 +0200"
      },
      "message": "pcmcia: move config_info_t definition to ioctl-related parts in header files\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "64f346425175ad33812cd693fbca48cd512dab63",
      "tree": "3ee3b0927b515de000d2c33fdc68bf9a9f4d4b12",
      "parents": [
        "ef313e36d8896a42fc567a83a5d4b86821634e8d"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 17:00:46 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:16:05 2008 +0200"
      },
      "message": "pcmcia: move pccard_get_configuration_info to ioctl\n\nWith the PCMCIA ioctl being the only remaining user of\n_get_configuration_info, move the function to pcmcia_ioctl.c\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "ef313e36d8896a42fc567a83a5d4b86821634e8d",
      "tree": "0d2b4164686e5ff333978aa0f5dd5ade562e9796",
      "parents": [
        "ff08705860f3e92ea5233989b4a2384ebb421f26"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 16:25:26 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:02:05 2008 +0200"
      },
      "message": "pcmcia: remove remaining in-kernel pcmcia_get_configuration_info() users\n\nRemove the three remaining pcmcia_get_configuration_info() users:\n- pcmciamtd is marked broken anyway.\n- serial_cs.c can access the relevant structs directly\n- ipwireless didn\u0027t use the output\n\nCC: linux-serial@vger.kernel.org\nCC: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "ff08705860f3e92ea5233989b4a2384ebb421f26",
      "tree": "6373a7bcfdfab16d85587b256dd4591f21b62e37",
      "parents": [
        "795659ef0ee175d47723f806e7a29427b171e61b",
        "ad913c11928f51abb6174f165db8d8d205b22e21",
        "7d16b658bd093e75a9f72a69e2dafd2b154c4395"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:00:44 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 02:00:44 2008 +0200"
      },
      "message": "Merge branches \u0027pcmcia-config-loop\u0027 and \u0027pcmcia-printk\u0027 into pcmcia\n\n* pcmcia-config-loop:\n  pcmcia: pcmcia_config_loop() improvement by passing vcc\n  pcmcia: pcmcia_config_loop() default CIS entry handling\n  pcmcia: pcmcia_config_loop() ConfigIndex unification\n  pcmcia: use pcmcia_loop_config in misc pcmcia drivers\n  pcmcia: use pcmcia_loop_config in net pcmcia drivers\n  pcmcia: use pcmcia_loop_config in ISDN pcmcia drivers\n  pcmcia: use pcmcia_loop_config in scsi pcmcia drivers\n  pcmcia: use pcmcia_loop_config in bluetooth drivers\n  pcmcia: use pcmcia_loop_config in pata and ide drivers\n  pcmcia: add pcmcia_loop_config() helper\n\n* pcmcia-printk:\n  pcmcia: don\u0027t add extra DEBUG cflag\n  pcmcia: remove unused cs_socket_name() definition\n  pcmcia: use dev_printk in module rsrc_nonstatic\n  pcmcia: use dev_printk in module pcmcia\n  pcmcia: use dev_printk in module pcmcia_core\n  pcmcia: use dev_printk and dev_dbg in yenta_socket\n"
    },
    {
      "commit": "7d16b658bd093e75a9f72a69e2dafd2b154c4395",
      "tree": "a22437b255797e45befccb595caedd438b35865a",
      "parents": [
        "2bccc2a89012173f48a690caea7d9e4b3e950db9"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 21:02:01 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:55:06 2008 +0200"
      },
      "message": "pcmcia: don\u0027t add extra DEBUG cflag\n\nUse CONFIG_PCMCIA_DEBUG instead of DEBUG so that dev_dbg() and other tricks\nwork properly.\n\n(includes bugfixes from and\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\n)\n\nSigned-off-by: Dominik Broodwski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "2bccc2a89012173f48a690caea7d9e4b3e950db9",
      "tree": "346133808b54c44bbff285d54d43a3a7d14f8a9b",
      "parents": [
        "dbe4ea5fde198a3808e46b665d889818c1e600f5"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 09:03:53 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:54:37 2008 +0200"
      },
      "message": "pcmcia: remove unused cs_socket_name() definition\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "dbe4ea5fde198a3808e46b665d889818c1e600f5",
      "tree": "e5a405ea704f4d4b972087c4f7b8693760aa0552",
      "parents": [
        "ac449d6e2c81d26f91d092aba114ab3cb2a02ca0"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 21:36:19 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:54:30 2008 +0200"
      },
      "message": "pcmcia: use dev_printk in module rsrc_nonstatic\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "ac449d6e2c81d26f91d092aba114ab3cb2a02ca0",
      "tree": "8c0d97749772dc465517ab5de137288f6165b004",
      "parents": [
        "2e55bf6b99fb05f3f4228e7f1381624ac8ac7e3d"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 18:33:56 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:53:23 2008 +0200"
      },
      "message": "pcmcia: use dev_printk in module pcmcia\n\n(includes bugfix from and\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\n)\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "2e55bf6b99fb05f3f4228e7f1381624ac8ac7e3d",
      "tree": "d8dd974020a9b076d9fec0032b9f398bcca83254",
      "parents": [
        "dd797d81d3d7da31a50031f2741b93327ed22260"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 18:08:38 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:49:49 2008 +0200"
      },
      "message": "pcmcia: use dev_printk in module pcmcia_core\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "dd797d81d3d7da31a50031f2741b93327ed22260",
      "tree": "22b4479e71b48666c3b76c97473758c1b3006441",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 17:54:14 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:49:44 2008 +0200"
      },
      "message": "pcmcia: use dev_printk and dev_dbg in yenta_socket\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "ad913c11928f51abb6174f165db8d8d205b22e21",
      "tree": "a8542c846afb4950a12f46b16c1eacfa2280971a",
      "parents": [
        "8e2fc39ddea7fe8c6798837da282db88a09af793"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 16:12:00 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:22:52 2008 +0200"
      },
      "message": "pcmcia: pcmcia_config_loop() improvement by passing vcc\n\nBy passing the current Vcc setting to the pcmcia_config_loop callback\nfunction, we can remove pcmcia_get_configuration_info() calls from many\ndrivers.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "8e2fc39ddea7fe8c6798837da282db88a09af793",
      "tree": "7cba37b5b86f4ff25562012a14e29424e3872de0",
      "parents": [
        "498ac1899b62626bf6879a251d75c22ec564c559"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 15:30:31 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:22:00 2008 +0200"
      },
      "message": "pcmcia: pcmcia_config_loop() default CIS entry handling\n\nMany drivers use the default CIS entry within their pcmcia_config_loop()\ncallback function. Therefore, factor the default CIS entry handling out.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "498ac1899b62626bf6879a251d75c22ec564c559",
      "tree": "d17c6c02ac97db98ac343a7ca1190147047385b2",
      "parents": [
        "84e2d34004dcd0c90d1af43a143511b334f11a4d"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 14:59:13 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:21:29 2008 +0200"
      },
      "message": "pcmcia: pcmcia_config_loop() ConfigIndex unification\n\nAlmost all drivers set p_dev-\u003econf.ConfigIndex to cfg-\u003eindex in\nthe pcmcia_config_loop() callback function. Therefore, factor it out.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "84e2d34004dcd0c90d1af43a143511b334f11a4d",
      "tree": "1872000f78edc7368d34ebf1211fd8c56d395143",
      "parents": [
        "b54bf94bf91e4ca2a489eb02bca0424ddb55242a"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Tue Jul 29 08:38:55 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:21:29 2008 +0200"
      },
      "message": "pcmcia: use pcmcia_loop_config in misc pcmcia drivers\n\nUse the config loop helper in misc pcmcia drivers.\n\nCC: Harald Welte \u003claforge@gnumonks.org\u003e\nCC: \u003clinux-parport@lists.infradead.org\u003e\nCC: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCC: Ed Okerson \u003ceokerson@quicknet.net\u003e\nCC: linux-serial@vger.kernel.org\nCC: boti@rocketmail.com\nCC: linux-usb@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "b54bf94bf91e4ca2a489eb02bca0424ddb55242a",
      "tree": "4a5383d29173e24dd1fe71ce3ee4d010e60f391c",
      "parents": [
        "5fcd4da0090828bd34a1956cb322a483c6bf163c"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 14:28:43 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:21:28 2008 +0200"
      },
      "message": "pcmcia: use pcmcia_loop_config in net pcmcia drivers\n\nUse the config loop helper in (some) net pcmcia drivers.\n\nCC: netdev@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "5fcd4da0090828bd34a1956cb322a483c6bf163c",
      "tree": "b26a14ab9ea94bfdc7815d62aa59aad77a6a1817",
      "parents": [
        "0e6f9d2708409cd8e864cdb94edbe599872a19d1"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Tue Jul 29 08:38:55 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:21:27 2008 +0200"
      },
      "message": "pcmcia: use pcmcia_loop_config in ISDN pcmcia drivers\n\nUse the config loop helper in ISDN pcmcia drivers.\n\nCC: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "0e6f9d2708409cd8e864cdb94edbe599872a19d1",
      "tree": "398f993c6a50996483e9b48285f4971fa72e6e4e",
      "parents": [
        "ed58872aa33e16a0d5352080e47c65fa14e6ad1c"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Tue Jul 29 08:38:55 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:21:23 2008 +0200"
      },
      "message": "pcmcia: use pcmcia_loop_config in scsi pcmcia drivers\n\nUse the config loop helper in scsi pcmcia drivers.\n\nCC: James E.J. Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCC: linux-scsi@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "ed58872aa33e16a0d5352080e47c65fa14e6ad1c",
      "tree": "42d0bc7c4cf3bab990ef45c89faf52f3aa4febb3",
      "parents": [
        "0bac660a77b672f85d713d1898382993299df5de"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Tue Jul 29 08:38:55 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 01:20:43 2008 +0200"
      },
      "message": "pcmcia: use pcmcia_loop_config in bluetooth drivers\n\nUse the config loop helper in bluetooth pcmcia drivers.\n\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCC: linux-bluetooth@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "0bac660a77b672f85d713d1898382993299df5de",
      "tree": "7386a7cb9e4bd48f581e4203b23feeffd80cd6c2",
      "parents": [
        "a804b574e6c7236222593046fc2b1b8bd0298fce"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Tue Jul 29 08:43:20 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 00:49:35 2008 +0200"
      },
      "message": "pcmcia: use pcmcia_loop_config in pata and ide drivers\n\nUse the config loop helper in pata_pcmcia and ide_cs\n\nCC: Tejun Heo \u003chtejun@gmail.com\u003e\nCC: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCC: linux-ide@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "a804b574e6c7236222593046fc2b1b8bd0298fce",
      "tree": "63e8e0805e61337be328a2e25c439317bd96914a",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Tue Jul 29 08:38:30 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 00:46:35 2008 +0200"
      },
      "message": "pcmcia: add pcmcia_loop_config() helper\n\nBy calling pcmcia_loop_config(), a pcmcia driver can iterate over all\navailable configuration options. During a driver\u0027s probe() phase, one\ndoesn\u0027t need to use pcmcia_get_{first,next}_tuple, pcmcia_get_tuple_data\nand pcmcia_parse_tuple directly in most if not all cases.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "795659ef0ee175d47723f806e7a29427b171e61b",
      "tree": "812b7e98db397374332e97a10cac17d69d337572",
      "parents": [
        "53efec9513cfb1acff602c7ebdd945d677808e9e"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Aug 03 21:12:07 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 23 00:42:06 2008 +0200"
      },
      "message": "pcmcia: uniform device IDs of pata_pcmcia and ide-cs\n\nOver time, a few differences have accumulated between pata_pcmcia\nand ide-cs. Fix those.\n\nCC: linux-ide@vger.kernel.org\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "53efec9513cfb1acff602c7ebdd945d677808e9e",
      "tree": "6bf9d0475d0be0829348096442d505001c027017",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Mon Jul 28 19:44:05 2008 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Aug 02 18:56:49 2008 +0200"
      },
      "message": "pcmcia: only copy CIS override data once\n\nInstead of copying CIS override data in socket_sysfs.c or ds.c, and then again\nin cistpl.c, only do so once. Also, cisdump_t is now only used by the\ndeprecated ioctl.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "6e86841d05f371b5b9b86ce76c02aaee83352298",
      "tree": "e846a230c96a8ae7b29924569cb4d2cc1b2e54e3",
      "parents": [
        "7874d35173d549c1a2b2f77c4b1f94379fa65698"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 19:40:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 19:40:31 2008 -0700"
      },
      "message": "Linux 2.6.27-rc1\n"
    },
    {
      "commit": "7874d35173d549c1a2b2f77c4b1f94379fa65698",
      "tree": "995aa7212619dbdebb43b124cae2378562dd3065",
      "parents": [
        "5dfb66ba8c4a96eb732942c9f78629e4db1a51d4",
        "8c79873da0d2bedf4ad6b868c54e426bb0a2fe38"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:16:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:16:26 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: turn Waker into a thread, not a process\n  lguest: Enlarge virtio rings\n  lguest: Use GSO/IFF_VNET_HDR extensions on tun/tap\n  lguest: Remove \u0027network: no dma buffer!\u0027 warning\n  lguest: Adaptive timeout\n  lguest: Tell Guest net not to notify us on every packet xmit\n  lguest: net block unneeded receive queue update notifications\n  lguest: wrap last_avail accesses.\n  lguest: use cpu capability accessors\n  lguest: virtio-rng support\n  lguest: Support assigning a MAC address\n  lguest: Don\u0027t leak /dev/zero fd\n  lguest: fix verbose printing of device features.\n  lguest: fix switcher_page leak on unload\n  lguest: Guest int3 fix\n  lguest: set max_pfn_mapped, growl loudly at Yinghai Lu\n"
    },
    {
      "commit": "5dfb66ba8c4a96eb732942c9f78629e4db1a51d4",
      "tree": "d443adb4d02ac2599baf402698a589a9b814e478",
      "parents": [
        "1d9b9f6a53d77ed801ba875f937d6dabbfc381ce",
        "424f525a1241351da947fb48a938128ddd774511"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:15:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:15:41 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-mfd\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-mfd:\n  mfd: accept pure device as a parent, not only platform_device\n  mfd: add platform_data to mfd_cell\n  mfd: Coding style fixes\n  mfd: Use to_platform_device instead of container_of\n"
    },
    {
      "commit": "1d9b9f6a53d77ed801ba875f937d6dabbfc381ce",
      "tree": "36ea93b80a444c3b37111e352790ebc07f29379f",
      "parents": [
        "a3ad7f128c637b7612ebeacb1f85fec933bb1195",
        "12c0b20fa4afb5c8a377d6987fb2dcf353e1dce1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:14:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:14:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)\n  x86/PCI: use dev_printk when possible\n  PCI: add D3 power state avoidance quirk\n  PCI: fix bogus \"\u0027device\u0027 may be used uninitialized\" warning in pci_slot\n  PCI: add an option to allow ASPM enabled forcibly\n  PCI: disable ASPM on pre-1.1 PCIe devices\n  PCI: disable ASPM per ACPI FADT setting\n  PCI MSI: Don\u0027t disable MSIs if the mask bit isn\u0027t supported\n  PCI: handle 64-bit resources better on 32-bit machines\n  PCI: rewrite PCI BAR reading code\n  PCI: document pci_target_state\n  PCI hotplug: fix typo in pcie hotplug output\n  x86 gart: replace to_pages macro with iommu_num_pages\n  x86, AMD IOMMU: replace to_pages macro with iommu_num_pages\n  iommu: add iommu_num_pages helper function\n  dma-coherent: add documentation to new interfaces\n  Cris: convert to using generic dma-coherent mem allocator\n  Sh: use generic per-device coherent dma allocator\n  ARM: support generic per-device coherent dma mem\n  Generic dma-coherent: fix DMA_MEMORY_EXCLUSIVE\n  x86: use generic per-device dma coherent allocator\n  ...\n"
    },
    {
      "commit": "a3ad7f128c637b7612ebeacb1f85fec933bb1195",
      "tree": "bbfe3773752cb483c55a4701fa954caf09933049",
      "parents": [
        "9b79022ca909b66e2cd0cfd9248f832fc165f77f",
        "00eabe7c4478f38b42d632763c4878ced5a1f25c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:13:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:13:48 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] qla2xxx: fix msleep compile error\n"
    },
    {
      "commit": "9b79022ca909b66e2cd0cfd9248f832fc165f77f",
      "tree": "bcd8c3204886fcbc8422aeb482f8e42c0b5b6124",
      "parents": [
        "34ee55014283a60efa3534c06e010579ffdd3756"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 17:54:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 17:54:21 2008 -0700"
      },
      "message": "Fix \u0027get_user_pages_fast()\u0027 with non-page-aligned start address\n\nAlexey Dobriyan reported trouble with LTP with the new fast-gup code,\nand Johannes Weiner debugged it to non-page-aligned addresses, where the\nnew get_user_pages_fast() code would do all the wrong things, including\njust traversing past the end of the requested area due to \u0027addr\u0027 never\nmatching \u0027end\u0027 exactly.\n\nThis is not a pretty fix, and we may actually want to move the alignment\ninto generic code, leaving just the core code per-arch, but Alexey\nverified that the vmsplice01 LTP test doesn\u0027t crash with this.\n\nReported-and-tested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nDebugged-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c79873da0d2bedf4ad6b868c54e426bb0a2fe38",
      "tree": "270efee346b70ae6615dd4796363479c94eca6d9",
      "parents": [
        "0f0c4fab8284f3b886b2e1e0e317e3bb8de176b3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:38 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:39 2008 +1000"
      },
      "message": "lguest: turn Waker into a thread, not a process\n\nlguest uses a Waker process to break it out of the kernel (ie.\nactually running the guest) when file descriptor needs attention.\n\nChanging this from a process to a thread somewhat simplifies things:\nit can directly access the fd_set of things to watch.  More\nimportantly, it means that the Waker can see Guest memory correctly,\nso /dev/vring file descriptors will work as anticipated (the\nalternative is to actually mmap MAP_SHARED, but you can\u0027t do that with\n/dev/zero).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0f0c4fab8284f3b886b2e1e0e317e3bb8de176b3",
      "tree": "2509e74b573bac7560f42cc7ab3640814cf683d7",
      "parents": [
        "398f187d74b89d5ab198fcf9b8d86edbefecec4d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:38 2008 +1000"
      },
      "message": "lguest: Enlarge virtio rings\n\nWith big packets, 128 entries is a little small.\n\nGuest -\u003e Host 1GB TCP:\nBefore: 8.43625 seconds xmit 95640 recv 198266 timeout 49771 usec 1252\nAfter: 8.01099 seconds xmit 49200 recv 102263 timeout 26014 usec 2118\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "398f187d74b89d5ab198fcf9b8d86edbefecec4d",
      "tree": "7aee6787f46a8db0099f37e9dfea787499ecbcd1",
      "parents": [
        "9254926f85466979ef5f0e16386c294bf0973a90"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 +1000"
      },
      "message": "lguest: Use GSO/IFF_VNET_HDR extensions on tun/tap\n\nGuest -\u003e Host 1GB TCP:\nBefore 20.1974 seconds xmit 214510 recv 5 timeout 214491 usec 278\nAfter 8.43625 seconds xmit 95640 recv 198266 timeout 49771 usec 1252\n\nHost -\u003e Guest 1GB TCP:\nBefore: Seconds 9.98854 xmit 172166 recv 5344 timeout 172157 usec 251\nAfter: Seconds 5.72803 xmit 244322 recv 9919 timeout 244302 usec 156\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9254926f85466979ef5f0e16386c294bf0973a90",
      "tree": "c668e82dd63b50d8aea8b2459a172166880dd4f1",
      "parents": [
        "aa1249840bfc8d62431eed5796bf99887b963ab6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 +1000"
      },
      "message": "lguest: Remove \u0027network: no dma buffer!\u0027 warning\n\nThis warning can happen a lot under load, and it should be warnx not\nwarn anwyay.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "aa1249840bfc8d62431eed5796bf99887b963ab6",
      "tree": "35cf6cd82910af52e271c5e78ad47529e6daaed6",
      "parents": [
        "a161883a29bf6100efe7b5346bec274e5023c29c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 +1000"
      },
      "message": "lguest: Adaptive timeout\n\nSince the correct timeout value varies, use a heuristic which adjusts\nthe timeout depending on how many packets we\u0027ve seen.  This gives\nslightly worse results, but doesn\u0027t need tweaking when GSO is\nintroduced.\n\n500 usec\t19.1887\t\txmit 561141 recv 1 timeout 559657\nDynamic (278)\t20.1974\t\txmit 214510 recv 5 timeout 214491 usec 278\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a161883a29bf6100efe7b5346bec274e5023c29c",
      "tree": "5d5b65172a64789eada0e3b824564a793033d0ad",
      "parents": [
        "5dae785a82c1a8c05b5b4f9709bd9ce658dcf1b6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 +1000"
      },
      "message": "lguest: Tell Guest net not to notify us on every packet xmit\n\nvirtio_ring has the ability to suppress notifications.  This prevents\na guest exit for every packet, but we need to set a timer on packet\nreceipt to re-check if there were any remaining packets.\n\nHere are the times for 1G TCP Guest-\u003eHost with different timeout\nsettings (it matters because the TCP window doesn\u0027t grow big enough to\nfill the entire buffer):\n\nTimeout value\tSeconds\t\tXmit/Recv/Timeout\nNone (before)\t25.3784\t\txmit 7750233 recv 1\n2500 usec\t62.5119\t\txmit 207020 recv 2 timeout 207020\n1000 usec\t34.5379\t\txmit 207003 recv 2 timeout 207003\n750 usec\t29.2305\t\txmit 207002 recv 1 timeout 207002\n500 usec\t19.1887\t\txmit 561141 recv 1 timeout 559657\n250 usec\t20.0465\t\txmit 214128 recv 2 timeout 214110\n100 usec\t19.2583\t\txmit 561621 recv 1 timeout 560153\n\n(Note that these values are sensitive to the GSO patches which come\n later, and probably other traffic-related variables, so take with a\n large grain of salt).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5dae785a82c1a8c05b5b4f9709bd9ce658dcf1b6",
      "tree": "e737c655acb7ea53644392263d9dd99aae76aec9",
      "parents": [
        "b5111790fa6695b1502d4f5d389f6b22b9de10c3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 +1000"
      },
      "message": "lguest: net block unneeded receive queue update notifications\n\nNumber of exits transmitting 10GB Guest-\u003eHost before:\n\tnetwork xmit 7858610 recv 118136\n\nAfter:\n\tnetwork xmit 7750233 recv 1\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b5111790fa6695b1502d4f5d389f6b22b9de10c3",
      "tree": "f937d643aaf845ecd7952055fcb6c4d8b879e040",
      "parents": [
        "cf485e566bc4a8098680162e1cc2ac1dfbef8a3c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 +1000"
      },
      "message": "lguest: wrap last_avail accesses.\n\nTo simplify the transition to when we publish indices in the ring\n(and make shuffling my patch queue easier), wrap them in a lg_last_avail()\nmacro.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cf485e566bc4a8098680162e1cc2ac1dfbef8a3c",
      "tree": "89ce628400d628f779b0aedf16b7a033d63de6c5",
      "parents": [
        "28fd6d7f953711fbf67496701be05513052d967d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jun 09 16:22:48 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 +1000"
      },
      "message": "lguest: use cpu capability accessors\n\nTo support my little make-x86-bitops-use-proper-typechecking projectlet.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "28fd6d7f953711fbf67496701be05513052d967d",
      "tree": "08b3b76e4b0e3440a552facbbef55993be2932e1",
      "parents": [
        "dec6a2be085f046d42eb0bdce95ecb73de526429"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 +1000"
      },
      "message": "lguest: virtio-rng support\n\nThis is a simple patch to add support for the virtio \"hardware random\ngenerator\" to lguest.  It gets about 1.2 MB/sec reading from /dev/hwrng\nin the guest.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "dec6a2be085f046d42eb0bdce95ecb73de526429",
      "tree": "0e2bd1576b32167259bb8d290f134c1b7eb1017a",
      "parents": [
        "34bdaab44dd5dac861b0d23bc29b147b569e5783"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Tue Jul 29 09:58:33 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 +1000"
      },
      "message": "lguest: Support assigning a MAC address\n\nIf you\u0027ve got a nice DHCP configuration which maps MAC\naddresses to specific IP addresses, then you\u0027re going to\nwant to start your guest with one of those MAC addresses.\n\nAlso, in Fedora, we have persistent network interface naming\nbased on the MAC address, so with randomly assigned\naddresses you\u0027re soon going to hit eth13. Who knows what\nwill happen then!\n\nAllow assigning a MAC address to the network interface with\ne.g.\n\n  --tunnet\u003dbridge:eth0:00:FF:95:6B:DA:3D\n\nor:\n\n  --tunnet\u003d192.168.121.1:00:FF:95:6B:DA:3D\n\nwhich is pretty unintelligable, but ...\n\n(includes Rusty\u0027s minor rework)\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "34bdaab44dd5dac861b0d23bc29b147b569e5783",
      "tree": "15dfb12a794d9de9341a90af3a5f6358216eaec0",
      "parents": [
        "32c68e5c569fdf016b494ce2fc8eecf59b6881bd"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Jun 13 14:04:58 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 +1000"
      },
      "message": "lguest: Don\u0027t leak /dev/zero fd\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "32c68e5c569fdf016b494ce2fc8eecf59b6881bd",
      "tree": "c61a79f3c34854a4ce9e6131352e05baec46c7b8",
      "parents": [
        "0a707210aa1b8ac40fe781b2a9d0b203b6ebb921"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:32 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:32 2008 +1000"
      },
      "message": "lguest: fix verbose printing of device features.\n\n%02x is more appropriate for bytes than %08x.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0a707210aa1b8ac40fe781b2a9d0b203b6ebb921",
      "tree": "66926aa4868bff6b78b13f3bdeb2a9e9a57bd20d",
      "parents": [
        "0c12091d82e48dc423fb1f51eb0062c557a084af"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Tue Jul 08 10:29:42 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:32 2008 +1000"
      },
      "message": "lguest: fix switcher_page leak on unload\n\nmap_switcher allocates the array, unmap_switcher has to free it\naccordingly.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0c12091d82e48dc423fb1f51eb0062c557a084af",
      "tree": "91579abdc22e7bf3784f9fcb59a0f018e7f5366d",
      "parents": [
        "5d006d8d09e82f086ca0baf79a2907f2c1e25af7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:31 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:31 2008 +1000"
      },
      "message": "lguest: Guest int3 fix\n\nRon Minnich noticed that guest userspace gets a GPF when it tries to int3:\nwe need to copy the privilege level from the guest-supplied IDT to the real\nIDT.  int3 is the only common case where guest userspace expects to invoke\nan interrupt, so that\u0027s the symptom of failing to do this.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5d006d8d09e82f086ca0baf79a2907f2c1e25af7",
      "tree": "fd289cff9209eda20a28934037f9150e22bef82b",
      "parents": [
        "63add2f2072e69c1eb7a5f6ca8f415122da889b9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:29 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:31 2008 +1000"
      },
      "message": "lguest: set max_pfn_mapped, growl loudly at Yinghai Lu\n\n6af61a7614a306fe882a0c2b4ddc63b65aa66efc \u0027x86: clean up max_pfn_mapped\nusage - 32-bit\u0027 makes the following comment:\n\n    XEN PV and lguest may need to assign max_pfn_mapped too.\n\nBut no CC.  Yinghai, wasting fellow developers\u0027 time is a VERY bad\nhabit.  If you do it again, I will hunt you down and try to extract\nthe three hours of my life I just lost :)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\n"
    },
    {
      "commit": "424f525a1241351da947fb48a938128ddd774511",
      "tree": "e837c0f6b15a3efe38bb0aa3db5a46305e5a9f38",
      "parents": [
        "56edb58be157a06dc147a988af3588059556d392"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Jul 29 01:30:26 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Tue Jul 29 01:30:26 2008 +0200"
      },
      "message": "mfd: accept pure device as a parent, not only platform_device\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "34ee55014283a60efa3534c06e010579ffdd3756",
      "tree": "b81583dd2fd06368e959efd0c38ab23874b49c6d",
      "parents": [
        "c27ef92d8e0c29a9e8b8ee1b04f3d2cace482d92"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jul 28 15:46:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "include/asm-generic/pgtable-nopmd.h: macros are noxious, reason #435\n\narch/x86/mm/pgtable.c: In function \u0027pgd_mop_up_pmds\u0027:\n  arch/x86/mm/pgtable.c:194: warning: unused variable \u0027pmd\u0027\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c27ef92d8e0c29a9e8b8ee1b04f3d2cace482d92",
      "tree": "15ddb97a20d323367dbff1f03acda699dbe899cc",
      "parents": [
        "7fcba054373d5dfc43d26e243a5c9b92069972ee"
      ],
      "author": {
        "name": "Manuel Lauss",
        "email": "mano@roarinelk.homelinux.net",
        "time": "Mon Jul 28 15:46:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "sh7760fb: write colormap value to hardware\n\nThe computed color value is never actually written to hardware\ncolormap register.\n\nSigned-off-by: Manuel Lauss \u003cmano@roarinelk.homelinux.net\u003e\nCc: Nobuhiro Iwamatsu \u003ciwamatsu.nobuhiro@renesas.com\u003e\nCc: Munakata Hisao \u003cmunakata.hisao@renesas.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fcba054373d5dfc43d26e243a5c9b92069972ee",
      "tree": "3503fba122a654946b5455bc95fa3978cbc4f68b",
      "parents": [
        "25947d5ac56004378d8c2d31ebf22600d5bc0c02"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jul 28 15:46:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "eCryptfs: use page_alloc not kmalloc to get a page of memory\n\nWith SLUB debugging turned on in 2.6.26, I was getting memory corruption\nwhen testing eCryptfs.  The root cause turned out to be that eCryptfs was\ndoing kmalloc(PAGE_CACHE_SIZE); virt_to_page() and treating that as a nice\npage-aligned chunk of memory.  But at least with SLUB debugging on, this\nis not always true, and the page we get from virt_to_page does not\nnecessarily match the PAGE_CACHE_SIZE worth of memory we got from kmalloc.\n\nMy simple testcase was 2 loops doing \"rm -f fileX; cp /tmp/fileX .\" for 2\ndifferent multi-megabyte files.  With this change I no longer see the\ncorruption.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25947d5ac56004378d8c2d31ebf22600d5bc0c02",
      "tree": "9c31bdb948e5bbb01e481fb1d74b9983aa93c987",
      "parents": [
        "e3b6e806cf7e45ac5e6ac0625cebafa4de3394aa"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Mon Jul 28 15:46:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "gpio: fix build on CONFIG_GPIO_SYSFS\u003dn\n\nIf CONFIG_GENERIC_GPIO\u003dy \u0026\u0026 CONFIG_GPIO_SYSFS\u003dn, gpio_export() in\nasm-generic/gpio.h refers -ENOSYS and causes build error.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3b6e806cf7e45ac5e6ac0625cebafa4de3394aa",
      "tree": "9847a5810a1c3e1708773486d0f6a5224983ac7c",
      "parents": [
        "8ab22b9abb5c55413802e4adc9aa6223324547c3"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Mon Jul 28 15:46:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "bio-integrity: remove EXPORT_SYMBOL for bio_integrity_init_slab()\n\nI got section mismatch message about bio_integrity_init_slab().\n\nWARNING: fs/built-in.o(__ksymtab+0xb60): Section mismatch in reference from the variable __ksymtab_bio_integrity_init_slab to the function .init.text:bio_integrity_init_slab()\n\nThe symbol bio_integrity_init_slab is exported and annotated __init Fix\nthis by removing the __init annotation of bio_integrity_init_slab or drop\nthe export.\n\nIt only call from init_bio().  The EXPORT_SYMBOL() can be removed.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nCc: \"Martin K. Petersen\" \u003cmartin.petersen@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ab22b9abb5c55413802e4adc9aa6223324547c3",
      "tree": "cff3319e1275e8a7c083d492889ec6bd0c7712d3",
      "parents": [
        "d84a52f62f6a396ed77aa0052da74ca9e760b28a"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Mon Jul 28 15:46:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "vfs: pagecache usage optimization for pagesize!\u003dblocksize\n\nWhen we read some part of a file through pagecache, if there is a\npagecache of corresponding index but this page is not uptodate, read IO\nis issued and this page will be uptodate.\n\nI think this is good for pagesize \u003d\u003d blocksize environment but there is\nroom for improvement on pagesize !\u003d blocksize environment.  Because in\nthis case a page can have multiple buffers and even if a page is not\nuptodate, some buffers can be uptodate.\n\nSo I suggest that when all buffers which correspond to a part of a file\nthat we want to read are uptodate, use this pagecache and copy data from\nthis pagecache to user buffer even if a page is not uptodate.  This can\nreduce read IO and improve system throughput.\n\nI wrote a benchmark program and got result number with this program.\n\nThis benchmark do:\n\n  1: mount and open a test file.\n\n  2: create a 512MB file.\n\n  3: close a file and umount.\n\n  4: mount and again open a test file.\n\n  5: pwrite randomly 300000 times on a test file.  offset is aligned\n     by IO size(1024bytes).\n\n  6: measure time of preading randomly 100000 times on a test file.\n\nThe result was:\n\t2.6.26\n        330 sec\n\n\t2.6.26-patched\n        226 sec\n\nArch:i386\nFilesystem:ext3\nBlocksize:1024 bytes\nMemory: 1GB\n\nOn ext3/4, a file is written through buffer/block.  So random read/write\nmixed workloads or random read after random write workloads are optimized\nwith this patch under pagesize !\u003d blocksize environment.  This test result\nshowed this.\n\nThe benchmark program is as follows:\n\n#include \u003cstdio.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstring.h\u003e\n#include \u003csys/mount.h\u003e\n\n#define LEN 1024\n#define LOOP 1024*512 /* 512MB */\n\nmain(void)\n{\n\tunsigned long i, offset, filesize;\n\tint fd;\n\tchar buf[LEN];\n\ttime_t t1, t2;\n\n\tif (mount(\"/dev/sda1\", \"/root/test1/\", \"ext3\", 0, 0) \u003c 0) {\n\t\tperror(\"cannot mount\\n\");\n\t\texit(1);\n\t}\n\tmemset(buf, 0, LEN);\n\tfd \u003d open(\"/root/test1/testfile\", O_CREAT|O_RDWR|O_TRUNC);\n\tif (fd \u003c 0) {\n\t\tperror(\"cannot open file\\n\");\n\t\texit(1);\n\t}\n\tfor (i \u003d 0; i \u003c LOOP; i++)\n\t\twrite(fd, buf, LEN);\n\tclose(fd);\n\tif (umount(\"/root/test1/\") \u003c 0) {\n\t\tperror(\"cannot umount\\n\");\n\t\texit(1);\n\t}\n\tif (mount(\"/dev/sda1\", \"/root/test1/\", \"ext3\", 0, 0) \u003c 0) {\n\t\tperror(\"cannot mount\\n\");\n\t\texit(1);\n\t}\n\tfd \u003d open(\"/root/test1/testfile\", O_RDWR);\n\tif (fd \u003c 0) {\n\t\tperror(\"cannot open file\\n\");\n\t\texit(1);\n\t}\n\n\tfilesize \u003d LEN * LOOP;\n\tfor (i \u003d 0; i \u003c 300000; i++){\n\t\toffset \u003d (random() % filesize) \u0026 (~(LEN - 1));\n\t\tpwrite(fd, buf, LEN, offset);\n\t}\n\tprintf(\"start test\\n\");\n\ttime(\u0026t1);\n\tfor (i \u003d 0; i \u003c 100000; i++){\n\t\toffset \u003d (random() % filesize) \u0026 (~(LEN - 1));\n\t\tpread(fd, buf, LEN, offset);\n\t}\n\ttime(\u0026t2);\n\tprintf(\"%ld sec\\n\", t2-t1);\n\tclose(fd);\n\tif (umount(\"/root/test1/\") \u003c 0) {\n\t\tperror(\"cannot umount\\n\");\n\t\texit(1);\n\t}\n}\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: \u003clinux-ext4@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": "d84a52f62f6a396ed77aa0052da74ca9e760b28a",
      "tree": "65950670f828b61a69dab51ebbe20e00ae01df65",
      "parents": [
        "cb1d0a7a5d2e537f2f6ada22883abee1762e94b2"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Jul 28 15:46:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "kdump: update kdump documentation as kexec-tools-resting has been renamed kexec-tools\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@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": "cb1d0a7a5d2e537f2f6ada22883abee1762e94b2",
      "tree": "95d4682b931c598fc4db9401fdff08bb3538d73b",
      "parents": [
        "9a7867e1b34c3575e7e76a05c0c54c6edbdae2a4"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 15:46:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "spi_s3c24xx: really assign busnum\n\nThe original \"Pass the bus number we expect the S3C24XX SPI driver to\nattach to via the platform data.\" [1] patch was mis-sent, and missed two\nimportant parts of the diff, which was to actually set the bus_num field\nand add the relevant field to the platform data.\n\nThe previous commit 50f426b55d919dd017af35bb6a08753d1f262920 promised to\nadd a bus_num field, but failed to include the two hunks that added this\nfield to include/asm-arm/arch-s3c2410/spi.h and then pass it to the spi\ncore when creating the new master field in drivers/spi/spi_s3c24xx.c.\n\n[1] git commit 50f426b55d919dd017af35bb6a08753d1f262920\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a7867e1b34c3575e7e76a05c0c54c6edbdae2a4",
      "tree": "fb4df3c93ed711ae22dcd82320133af86bf42568",
      "parents": [
        "78a34ae29bf1c9df62a5bd0f0798b6c62a54d520"
      ],
      "author": {
        "name": "Luotao Fu",
        "email": "l.fu@pengutronix.de",
        "time": "Mon Jul 28 15:46:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mpc52xx_psc_spi: fix block transfer\n\nThe block transfer routine in the mpc52xx psc spi driver misinterpret\nthe datasheet.  According to the processor datasheet the chipselect is\nheld as long as the EOF is not written.\n\nTheoretically blocks of any sizes can be transferred in this way.  The\nold routine however writes an EOF after every word, which has the size\nof size_of_word.  This makes the transfer slow.\n\nAlso fixed some duplicate code.\n\nSigned-off-by: Luotao Fu \u003cl.fu@pengutronix.de\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78a34ae29bf1c9df62a5bd0f0798b6c62a54d520",
      "tree": "e8a5576a9142c11be1edc667ecbe7395f8c088ce",
      "parents": [
        "cddb8a5c14aa89810b40495d94d3d2a0faee6619"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Jul 28 15:46:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mm/hugetlb.c must #include \u003casm/io.h\u003e\n\nThis patch fixes the following build error on sh caused by commit\naa888a74977a8f2120ae9332376e179c39a6b07d (\"hugetlb: support larger than\nMAX_ORDER\"):\n\n  mm/hugetlb.c: In function \u0027alloc_bootmem_huge_page\u0027:\n  mm/hugetlb.c:958: error: implicit declaration of function \u0027virt_to_phys\u0027\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cddb8a5c14aa89810b40495d94d3d2a0faee6619",
      "tree": "d0b47b071f7d2dd1d6f9c36084aa8cfcef90d1da",
      "parents": [
        "7906d00cd1f687268f0a3599442d113767795ae6"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Mon Jul 28 15:46:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mmu-notifiers: core\n\nWith KVM/GFP/XPMEM there isn\u0027t just the primary CPU MMU pointing to pages.\n There are secondary MMUs (with secondary sptes and secondary tlbs) too.\nsptes in the kvm case are shadow pagetables, but when I say spte in\nmmu-notifier context, I mean \"secondary pte\".  In GRU case there\u0027s no\nactual secondary pte and there\u0027s only a secondary tlb because the GRU\nsecondary MMU has no knowledge about sptes and every secondary tlb miss\nevent in the MMU always generates a page fault that has to be resolved by\nthe CPU (this is not the case of KVM where the a secondary tlb miss will\nwalk sptes in hardware and it will refill the secondary tlb transparently\nto software if the corresponding spte is present).  The same way\nzap_page_range has to invalidate the pte before freeing the page, the spte\n(and secondary tlb) must also be invalidated before any page is freed and\nreused.\n\nCurrently we take a page_count pin on every page mapped by sptes, but that\nmeans the pages can\u0027t be swapped whenever they\u0027re mapped by any spte\nbecause they\u0027re part of the guest working set.  Furthermore a spte unmap\nevent can immediately lead to a page to be freed when the pin is released\n(so requiring the same complex and relatively slow tlb_gather smp safe\nlogic we have in zap_page_range and that can be avoided completely if the\nspte unmap event doesn\u0027t require an unpin of the page previously mapped in\nthe secondary MMU).\n\nThe mmu notifiers allow kvm/GRU/XPMEM to attach to the tsk-\u003emm and know\nwhen the VM is swapping or freeing or doing anything on the primary MMU so\nthat the secondary MMU code can drop sptes before the pages are freed,\navoiding all page pinning and allowing 100% reliable swapping of guest\nphysical address space.  Furthermore it avoids the code that teardown the\nmappings of the secondary MMU, to implement a logic like tlb_gather in\nzap_page_range that would require many IPI to flush other cpu tlbs, for\neach fixed number of spte unmapped.\n\nTo make an example: if what happens on the primary MMU is a protection\ndowngrade (from writeable to wrprotect) the secondary MMU mappings will be\ninvalidated, and the next secondary-mmu-page-fault will call\nget_user_pages and trigger a do_wp_page through get_user_pages if it\ncalled get_user_pages with write\u003d1, and it\u0027ll re-establishing an updated\nspte or secondary-tlb-mapping on the copied page.  Or it will setup a\nreadonly spte or readonly tlb mapping if it\u0027s a guest-read, if it calls\nget_user_pages with write\u003d0.  This is just an example.\n\nThis allows to map any page pointed by any pte (and in turn visible in the\nprimary CPU MMU), into a secondary MMU (be it a pure tlb like GRU, or an\nfull MMU with both sptes and secondary-tlb like the shadow-pagetable layer\nwith kvm), or a remote DMA in software like XPMEM (hence needing of\nschedule in XPMEM code to send the invalidate to the remote node, while no\nneed to schedule in kvm/gru as it\u0027s an immediate event like invalidating\nprimary-mmu pte).\n\nAt least for KVM without this patch it\u0027s impossible to swap guests\nreliably.  And having this feature and removing the page pin allows\nseveral other optimizations that simplify life considerably.\n\nDependencies:\n\n1) mm_take_all_locks() to register the mmu notifier when the whole VM\n   isn\u0027t doing anything with \"mm\".  This allows mmu notifier users to keep\n   track if the VM is in the middle of the invalidate_range_begin/end\n   critical section with an atomic counter incraese in range_begin and\n   decreased in range_end.  No secondary MMU page fault is allowed to map\n   any spte or secondary tlb reference, while the VM is in the middle of\n   range_begin/end as any page returned by get_user_pages in that critical\n   section could later immediately be freed without any further\n   -\u003einvalidate_page notification (invalidate_range_begin/end works on\n   ranges and -\u003einvalidate_page isn\u0027t called immediately before freeing\n   the page).  To stop all page freeing and pagetable overwrites the\n   mmap_sem must be taken in write mode and all other anon_vma/i_mmap\n   locks must be taken too.\n\n2) It\u0027d be a waste to add branches in the VM if nobody could possibly\n   run KVM/GRU/XPMEM on the kernel, so mmu notifiers will only enabled if\n   CONFIG_KVM\u003dm/y.  In the current kernel kvm won\u0027t yet take advantage of\n   mmu notifiers, but this already allows to compile a KVM external module\n   against a kernel with mmu notifiers enabled and from the next pull from\n   kvm.git we\u0027ll start using them.  And GRU/XPMEM will also be able to\n   continue the development by enabling KVM\u003dm in their config, until they\n   submit all GRU/XPMEM GPLv2 code to the mainline kernel.  Then they can\n   also enable MMU_NOTIFIERS in the same way KVM does it (even if KVM\u003dn).\n   This guarantees nobody selects MMU_NOTIFIER\u003dy if KVM and GRU and XPMEM\n   are all \u003dn.\n\nThe mmu_notifier_register call can fail because mm_take_all_locks may be\ninterrupted by a signal and return -EINTR.  Because mmu_notifier_reigster\nis used when a driver startup, a failure can be gracefully handled.  Here\nan example of the change applied to kvm to register the mmu notifiers.\nUsually when a driver startups other allocations are required anyway and\n-ENOMEM failure paths exists already.\n\n struct  kvm *kvm_arch_create_vm(void)\n {\n        struct kvm *kvm \u003d kzalloc(sizeof(struct kvm), GFP_KERNEL);\n+       int err;\n\n        if (!kvm)\n                return ERR_PTR(-ENOMEM);\n\n        INIT_LIST_HEAD(\u0026kvm-\u003earch.active_mmu_pages);\n\n+       kvm-\u003earch.mmu_notifier.ops \u003d \u0026kvm_mmu_notifier_ops;\n+       err \u003d mmu_notifier_register(\u0026kvm-\u003earch.mmu_notifier, current-\u003emm);\n+       if (err) {\n+               kfree(kvm);\n+               return ERR_PTR(err);\n+       }\n+\n        return kvm;\n }\n\nmmu_notifier_unregister returns void and it\u0027s reliable.\n\nThe patch also adds a few needed but missing includes that would prevent\nkernel to compile after these changes on non-x86 archs (x86 didn\u0027t need\nthem by luck).\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix mm/filemap_xip.c build]\n[akpm@linux-foundation.org: fix mm/mmu_notifier.c build]\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kanoj Sarcar \u003ckanojsarcar@yahoo.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo@kvack.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Izik Eidus \u003cizike@qumranet.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Rik van Riel \u003criel@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": "7906d00cd1f687268f0a3599442d113767795ae6",
      "tree": "63609454d164a088d7f535f826764579c0f297f6",
      "parents": [
        "6beeac76f5f96590fb751af5e138fbc3f62e8460"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Mon Jul 28 15:46:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "mmu-notifiers: add mm_take_all_locks() operation\n\nmm_take_all_locks holds off reclaim from an entire mm_struct.  This allows\nmmu notifiers to register into the mm at any time with the guarantee that\nno mmu operation is in progress on the mm.\n\nThis operation locks against the VM for all pte/vma/mm related operations\nthat could ever happen on a certain mm.  This includes vmtruncate,\ntry_to_unmap, and all page faults.\n\nThe caller must take the mmap_sem in write mode before calling\nmm_take_all_locks().  The caller isn\u0027t allowed to release the mmap_sem\nuntil mm_drop_all_locks() returns.\n\nmmap_sem in write mode is required in order to block all operations that\ncould modify pagetables and free pages without need of altering the vma\nlayout (for example populate_range() with nonlinear vmas).  It\u0027s also\nneeded in write mode to avoid new anon_vmas to be associated with existing\nvmas.\n\nA single task can\u0027t take more than one mm_take_all_locks() in a row or it\nwould deadlock.\n\nmm_take_all_locks() and mm_drop_all_locks are expensive operations that\nmay have to take thousand of locks.\n\nmm_take_all_locks() can fail if it\u0027s interrupted by signals.\n\nWhen mmu_notifier_register returns, we must be sure that the driver is\nnotified if some task is in the middle of a vmtruncate for the \u0027mm\u0027 where\nthe mmu notifier was registered (mmu_notifier_invalidate_range_start/end\nis run around the vmtruncation but mmu_notifier_register can run after\nmmu_notifier_invalidate_range_start and before\nmmu_notifier_invalidate_range_end).  Same problem for rmap paths.  And\nwe\u0027ve to remove page pinning to avoid replicating the tlb_gather logic\ninside KVM (and GRU doesn\u0027t work well with page pinning regardless of\nneeding tlb_gather), so without mm_take_all_locks when vmtruncate frees\nthe page, kvm would have no way to notice that it mapped into sptes a page\nthat is going into the freelist without a chance of any further\nmmu_notifier notification.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kanoj Sarcar \u003ckanojsarcar@yahoo.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo@kvack.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Izik Eidus \u003cizike@qumranet.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Rik van Riel \u003criel@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": "6beeac76f5f96590fb751af5e138fbc3f62e8460",
      "tree": "530b768655b63893f019204fe4f9b8405db07ac2",
      "parents": [
        "93686ae8357c1b1e37e8dfc96547f807e7a93b4b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Mon Jul 28 15:46:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "mmu-notifiers: add list_del_init_rcu()\n\nIntroduce list_del_init_rcu() and document it.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kanoj Sarcar \u003ckanojsarcar@yahoo.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo@kvack.org\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Izik Eidus \u003cizike@qumranet.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nCc: Rik van Riel \u003criel@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": "93686ae8357c1b1e37e8dfc96547f807e7a93b4b",
      "tree": "7b3040b43cbf78d946538ebab8fb3b158a4d4d64",
      "parents": [
        "4d9c377c81d37740b25cacf025f95c084eafabbb"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Jul 28 15:46:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "arm: fix HAVE_CLK merge goof\n\nThis fixes a merge goof whereby ARCH_EP93XX got the \"select HAVE_CLK\" line\nwhich belongs instead with ARCH_AT91.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d9c377c81d37740b25cacf025f95c084eafabbb",
      "tree": "a7ff1a6ca9865c47c86df4df64bf2cfc8b38daaf",
      "parents": [
        "14fcc23fdc78e9d32372553ccf21758a9bd56fa1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jul 28 15:46:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "__ratelimit() cpu flags can\u0027t be static\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Dave Young \u003chidave.darkstar@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": "14fcc23fdc78e9d32372553ccf21758a9bd56fa1",
      "tree": "594fc0e0e85c03205ba2d80a4b4e0a8fc6ffaa8a",
      "parents": [
        "ca5b172bd2b2fe489e7ba11cedd46ddf772d132f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Jul 28 15:46:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "tmpfs: fix kernel BUG in shmem_delete_inode\n\nSuSE\u0027s insserve initscript ordering program hits kernel BUG at mm/shmem.c:814\non 2.6.26.  It\u0027s using posix_fadvise on directories, and the shmem_readpage\nmethod added in 2.6.23 is letting POSIX_FADV_WILLNEED allocate useless pages\nto a tmpfs directory, incrementing i_blocks count but never decrementing it.\n\nFix this by assigning shmem_aops (pointing to readpage and writepage and\nset_page_dirty) only when it\u0027s needed, on a regular file or a long symlink.\n\nMany thanks to Kel for outstanding bugreport and steps to reproduce it.\n\nReported-by: Kel Modderman \u003ckel@otaku42.de\u003e\nTested-by: Kel Modderman \u003ckel@otaku42.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca5b172bd2b2fe489e7ba11cedd46ddf772d132f",
      "tree": "8b006a799624fdcc923ba85f1fcce856eb5615d6",
      "parents": [
        "63add2f2072e69c1eb7a5f6ca8f415122da889b9"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Jul 28 15:46:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:20 2008 -0700"
      },
      "message": "exec: include pagemap.h again to fix build\n\nFix compilation errors on avr32 and without CONFIG_SWAP, introduced by\nba92a43dbaee339cf5915ef766d3d3ffbaaf103c (\"exec: remove some includes\")\n\n  In file included from include/asm/tlb.h:24,\n                   from fs/exec.c:55:\n  include/asm-generic/tlb.h: In function \u0027tlb_flush_mmu\u0027:\n  include/asm-generic/tlb.h:76: error: implicit declaration of function \u0027release_pages\u0027\n  include/asm-generic/tlb.h: In function \u0027tlb_remove_page\u0027:\n  include/asm-generic/tlb.h:105: error: implicit declaration of function \u0027page_cache_release\u0027\n  make[1]: *** [fs/exec.o] Error 1\n\nThis straightforward part-revert is nobody\u0027s favourite patch to address\nthe underlying tlb.h needs swap.h needs pagemap.h (but sparc won\u0027t like\nthat) mess; but appropriate to fix the build now before any overhaul.\n\nReported-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nReported-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nTested-by: Adrian Bunk \u003cbunk@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": "56edb58be157a06dc147a988af3588059556d392",
      "tree": "3771389d15ef26bf40ac19f8abd0d39454dc6db6",
      "parents": [
        "7f71ac9374fec066e428892a68db158946cee1fb"
      ],
      "author": {
        "name": "Mike Rapoport",
        "email": "mike@compulab.co.il",
        "time": "Tue Jul 29 01:23:32 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Tue Jul 29 01:23:32 2008 +0200"
      },
      "message": "mfd: add platform_data to mfd_cell\n\nAdding platform_data to mfd_cell allows passing of platform data directly\nto the platform_device created for each cell and thus reuse of existing\ndrivers.\nOn the other side it can be used as a hook to mfd_cell itself\nremoving the need in mfd_get_cell method.\n\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nAcked-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "12c0b20fa4afb5c8a377d6987fb2dcf353e1dce1",
      "tree": "989a29f1529b4d914a1d6fcedb0815363d1b1713",
      "parents": [
        "756f7bc6683916177e8176f8d3fa5f4c11c88afc"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Wed Jul 23 17:00:13 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 15:32:26 2008 -0700"
      },
      "message": "x86/PCI: use dev_printk when possible\n\nConvert printks to use dev_printk().\n\nI converted DBG() to dev_dbg().  This DBG() is from arch/x86/pci/pci.h and\nrequires source-code modification to enable, so dev_dbg() seems roughly\nequivalent.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "756f7bc6683916177e8176f8d3fa5f4c11c88afc",
      "tree": "cbe3ffc375950b016198fa61dea63bb449c59c93",
      "parents": [
        "979b1791e5b8f8b556faeec4c48339e7ed63af9f",
        "cb28a1bbdb4790378e7366d6c9ee1d2340b84f92"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Mon Jul 28 15:15:46 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 15:15:46 2008 -0700"
      },
      "message": "Merge branch \u0027core/generic-dma-coherent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into for-linus\n"
    },
    {
      "commit": "63add2f2072e69c1eb7a5f6ca8f415122da889b9",
      "tree": "6948de01b65858ae484474d3cbf2c9d7f61b28ca",
      "parents": [
        "3684a601e4273692b6c80b86e55c728aef675660",
        "9e3ee1c39c0cc71222f9980ccbf87fe072897eef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 15:13:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 15:13:42 2008 -0700"
      },
      "message": "Merge branch \u0027cpus4096-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  cpu masks: optimize and clean up cpumask_of_cpu()\n  cpumask: export cpumask_of_cpu_map\n  cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n  cpumask: put cpumask_of_cpu_map in the initdata section\n  cpumask: make cpumask_of_cpu_map generic\n"
    },
    {
      "commit": "3684a601e4273692b6c80b86e55c728aef675660",
      "tree": "1eefe49a5f357c03e628c9f0eecbf2420e8e824e",
      "parents": [
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Jul 28 17:11:44 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 15:12:37 2008 -0700"
      },
      "message": "ipwireless: fix compile failure\n\nThere\u0027s a brown paper bag compile failure introduced by this patch\n\ncommit a01386924874c4d6d67f8a34e66f04452c2abb69\nAuthor: David Sterba \u003cdsterba@suse.cz\u003e\nDate:   Mon Jul 28 16:53:32 2008 +0200\n\n    ipwireless: Preallocate received packet buffers with MRU size\n\nReally, it can\u0027t ever have been even compile tested.  It looks like the\nclosing bracket is in the wrong place, so this is the fix.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "979b1791e5b8f8b556faeec4c48339e7ed63af9f",
      "tree": "30990937096bb25aa8349dae7285e70f268a767a",
      "parents": [
        "362b7077a5546b42131af15ba4776f30c9a72d0c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jul 24 17:18:38 2008 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 15:12:11 2008 -0700"
      },
      "message": "PCI: add D3 power state avoidance quirk\n\nLibata has some hacks to deal with certain controllers going silly in D3\nstate. The right way to handle this is to keep a PCI device flag for\nsuch devices. That can then be generalised for no ATA devices with power\nproblems.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "cb28a1bbdb4790378e7366d6c9ee1d2340b84f92",
      "tree": "316436f77dac75335fd2c3ef5f109e71606c50d3",
      "parents": [
        "b6d4f7e3ef25beb8c658c97867d98883e69dc544",
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 00:07:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 00:07:55 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/generic-dma-coherent\n\nConflicts:\n\n\tarch/x86/Kconfig\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "362b7077a5546b42131af15ba4776f30c9a72d0c",
      "tree": "59639d9cc02288f601cb7b9c3188053916e8d1a3",
      "parents": [
        "d6d385743463f38a0da899cd4607e526ad9a049f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Jul 22 12:37:17 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 15:06:00 2008 -0700"
      },
      "message": "PCI: fix bogus \"\u0027device\u0027 may be used uninitialized\" warning in pci_slot\n\nI get warnings about \u0027device\u0027 possibly being used uninitialised.  While\nI can deduce this is not true, it seems that GCC can\u0027t.  This patch\nchanges `check_slot\u0027 to return device on success and -1 on error, which\nshuts GCC up.\n\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d6d385743463f38a0da899cd4607e526ad9a049f",
      "tree": "3d5de148d1cf56e58c6321511adaf8078d9046c0",
      "parents": [
        "149e16372a2066c5474d8a8db9b252afd57eb427"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 10:32:42 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:57:30 2008 -0700"
      },
      "message": "PCI: add an option to allow ASPM enabled forcibly\n\nA new option, pcie_aspm\u003dforce, will force ASPM to be enabled, even on system\nwith PCIe 1.0 devices.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "149e16372a2066c5474d8a8db9b252afd57eb427",
      "tree": "075a46f0672739fdab18d2f1e5f06080160de8b0",
      "parents": [
        "5fde244d39b88625ac578d83e6625138714de031"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 10:32:31 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:56:57 2008 -0700"
      },
      "message": "PCI: disable ASPM on pre-1.1 PCIe devices\n\nDisable ASPM on pre-1.1 PCIe devices, as many of them don\u0027t implement it\ncorrectly.\n\nTested-by: Jack Howarth \u003chowarth@bromo.msbb.uc.edu\u003e\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5fde244d39b88625ac578d83e6625138714de031",
      "tree": "e50762b22a94f7f7990c9dbab699a857da0982eb",
      "parents": [
        "ce6fce4295ba727b36fdc73040e444bd1aae64cd"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 10:32:24 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:56:09 2008 -0700"
      },
      "message": "PCI: disable ASPM per ACPI FADT setting\n\nThe ACPI FADT table includes an ASPM control bit. If the bit is set, do\nnot enable ASPM since it may indicate that the platform doesn\u0027t actually\nsupport the feature.\n\nTested-by: Jack Howarth \u003chowarth@bromo.msbb.uc.edu\u003e\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ce6fce4295ba727b36fdc73040e444bd1aae64cd",
      "tree": "7c8e4134b799d3d0ed56888bb8936e0071a05caf",
      "parents": [
        "29111f579f4f3f2a07385f931854ab0527ae7ea5"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Jul 25 15:42:58 2008 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:43:22 2008 -0700"
      },
      "message": "PCI MSI: Don\u0027t disable MSIs if the mask bit isn\u0027t supported\n\nDavid Vrabel has a device which generates an interrupt storm on the INTx\npin if we disable MSI interrupts altogether.  Masking interrupts is only\na performance optimisation, so we can ignore the request to mask the\ninterrupt.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "9e3ee1c39c0cc71222f9980ccbf87fe072897eef",
      "tree": "99462000e6f0d4f907cb2fc690f19d4d441ba0f3",
      "parents": [
        "e56b3bc7942982ac2589c942fb345e38bc7a341a",
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 23:32:00 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tkernel/stop_machine.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29111f579f4f3f2a07385f931854ab0527ae7ea5",
      "tree": "0271f20b0c954fa364be8627e0d6065544de0534",
      "parents": [
        "cc5499c3a607a392e8a7adb934aaf14b2c6a3519",
        "87e39ea5714dd59ba31e36c25833d2b20255a29d"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Mon Jul 28 14:31:10 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:31:10 2008 -0700"
      },
      "message": "Merge branch \u0027x86/iommu\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into for-linus\n"
    },
    {
      "commit": "cc5499c3a607a392e8a7adb934aaf14b2c6a3519",
      "tree": "d7ab414b929fed34d9b15bf0c636e9591c4673dd",
      "parents": [
        "6ac665c63dcac8fcec534a1d224ecbb8b867ad59"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Mon Jul 28 13:39:00 2008 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:29:04 2008 -0700"
      },
      "message": "PCI: handle 64-bit resources better on 32-bit machines\n\nIf the kernel is configured to support 64-bit resources on a 32-bit\nmachine, we can support 64-bit BARs properly.  Just change the condition\nto check sizeof(resource_size_t) instead of BITS_PER_LONG.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6ac665c63dcac8fcec534a1d224ecbb8b867ad59",
      "tree": "c331b97a2a7a5dfc6353f2538e5fd66a0d9a854d",
      "parents": [
        "37139074233a5bbec54ae01ab580e5788a248cc3"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Mon Jul 28 13:38:59 2008 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 14:28:53 2008 -0700"
      },
      "message": "PCI: rewrite PCI BAR reading code\n\nFactor out the code to read one BAR from the loop in pci_read_bases into\na new function, __pci_read_base.  The new code is slightly more\nreadable, better commented and removes the ifdef.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e56b3bc7942982ac2589c942fb345e38bc7a341a",
      "tree": "8130492904f5bb9cff061f62ebb1c5d6eed3308b",
      "parents": [
        "414f746d232d41ed6ae8632c4495ae795373c44b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 11:32:33 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 22:20:41 2008 +0200"
      },
      "message": "cpu masks: optimize and clean up cpumask_of_cpu()\n\nClean up and optimize cpumask_of_cpu(), by sharing all the zero words.\n\nInstead of stupidly generating all possible i\u003d0...NR_CPUS 2^i patterns\ncreating a huge array of constant bitmasks, realize that the zero words\ncan be shared.\n\nIn other words, on a 64-bit architecture, we only ever need 64 of these\narrays - with a different bit set in one single world (with enough zero\nwords around it so that we can create any bitmask by just offsetting in\nthat big array). And then we just put enough zeroes around it that we\ncan point every single cpumask to be one of those things.\n\nSo when we have 4k CPU\u0027s, instead of having 4k arrays (of 4k bits each,\nwith one bit set in each array - 2MB memory total), we have exactly 64\narrays instead, each 8k bits in size (64kB total).\n\nAnd then we just point cpumask(n) to the right position (which we can\ncalculate dynamically). Once we have the right arrays, getting\n\"cpumask(n)\" ends up being:\n\n  static inline const cpumask_t *get_cpu_mask(unsigned int cpu)\n  {\n          const unsigned long *p \u003d cpu_bit_bitmap[1 + cpu % BITS_PER_LONG];\n          p -\u003d cpu / BITS_PER_LONG;\n          return (const cpumask_t *)p;\n  }\n\nThis brings other advantages and simplifications as well:\n\n - we are not wasting memory that is just filled with a single bit in\n   various different places\n\n - we don\u0027t need all those games to re-create the arrays in some dense\n   format, because they\u0027re already going to be dense enough.\n\nif we compile a kernel for up to 4k CPU\u0027s, \"wasting\" that 64kB of memory\nis a non-issue (especially since by doing this \"overlapping\" trick we\nprobably get better cache behaviour anyway).\n\n[ mingo@elte.hu:\n\n  Converted Linus\u0027s mails into a commit. See:\n\n     http://lkml.org/lkml/2008/7/27/156\n     http://lkml.org/lkml/2008/7/28/320\n\n  Also applied a family filter - which also has the side-effect of leaving\n  out the bits where Linus calls me an idio... Oh, never mind ;-)\n]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "414f746d232d41ed6ae8632c4495ae795373c44b",
      "tree": "167f9bc8f139c6e82e6732b38c7a938b8a9d31cd",
      "parents": [
        "5a7a201c51c324876d00a54e7208af6af12d1ca4",
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 21:14:43 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n"
    },
    {
      "commit": "37139074233a5bbec54ae01ab580e5788a248cc3",
      "tree": "70f513c5d2c111a1c4dde46a7b23896f65cb96ec",
      "parents": [
        "56adc59d81b01ac5924f7eba6e22adc762a1e2c6"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Mon Jul 28 11:49:26 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 11:49:26 2008 -0700"
      },
      "message": "PCI: document pci_target_state\n\nThe empty kdoc was causing warnings, so provide some actual documentation.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "56adc59d81b01ac5924f7eba6e22adc762a1e2c6",
      "tree": "ba7889f5fee43c090872b8531a9ab71c530b4383",
      "parents": [
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Jul 24 16:43:43 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jul 28 11:44:32 2008 -0700"
      },
      "message": "PCI hotplug: fix typo in pcie hotplug output\n\nComamnd-\u003eCommand\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f934fb19ef34730263e6afc01e8ec27a8a71470f",
      "tree": "6988fa3734adb98ab989657c56b7e31e94e723f8",
      "parents": [
        "3988ba0708e98b4bafc9034aa476775520bee708",
        "72d18a7b9e1a3a9511bae78fc7f0932ae01d5d73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:59:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:59:26 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: add driver for Atmel integrated touchscreen controller\n  Input: ads7846 - optimize order of calculating Rt in ads7846_rx()\n  Input: ads7846 - fix sparse endian warnings\n  Input: uinput - remove duplicate include\n  Input: serio - offload resume to kseriod\n  Input: serio - mark serio_register_driver() __must_check\n"
    },
    {
      "commit": "3988ba0708e98b4bafc9034aa476775520bee708",
      "tree": "8c706018fef444bc16b33fa8208e78cabf993a1f",
      "parents": [
        "d9089c296bdd82e6c1b7f82d04c11b5decde75e7",
        "18c60c0a3b16fc7d6a55497a228602ad8509f838"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:46:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:46:00 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: fix uninitialized variable for search_rsb_list callers\n  dlm: release socket on error\n  dlm: fix basts for granted CW waiting PR/CW\n  dlm: check for null in device_write\n"
    },
    {
      "commit": "7f71ac9374fec066e428892a68db158946cee1fb",
      "tree": "56c0ef9140380cfa0ecaff155c6f670f12f7733e",
      "parents": [
        "96ee41993b5b25ee0fbde2d4dcaac1f8c5ef5cc4"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 18:29:09 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Mon Jul 28 18:29:09 2008 +0200"
      },
      "message": "mfd: Coding style fixes\n\nFix some coding style fixes in the mfd core driver.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "96ee41993b5b25ee0fbde2d4dcaac1f8c5ef5cc4",
      "tree": "a0a505a06dd75d98885af9b45cebe3ff585410f4",
      "parents": [
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Jul 28 18:26:42 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Mon Jul 28 18:26:42 2008 +0200"
      },
      "message": "mfd: Use to_platform_device instead of container_of\n\nConvert mfd_remove_devices_fn() to use to_platform_device()\ninstead of doing container_of().\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nAcked-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "d9089c296bdd82e6c1b7f82d04c11b5decde75e7",
      "tree": "6c2a3b8bc1b6f8b5930f6a20b099511dd19aa4ba",
      "parents": [
        "bda426f5310ffddcd463fe20f352609e84989514",
        "00df438e89a9003895948170e1abf64dd4665872"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:05:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:05:35 2008 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (25 commits)\n  powerpc: Disable 64K hugetlb support when doing 64K SPU mappings\n  powerpc/powermac: Fixup default serial port device for pmac_zilog\n  powerpc/powermac: Use sane default baudrate for SCC debugging\n  powerpc/mm: Implement _PAGE_SPECIAL \u0026 pte_special() for 64-bit\n  powerpc: Show processor cache information in sysfs\n  powerpc: Make core id information available to userspace\n  powerpc: Make core sibling information available to userspace\n  powerpc/vio: More fallout from dma_mapping_error API change\n  ibmveth: Fix multiple errors with dma_mapping_error conversion\n  powerpc/pseries: Fix CMO sysdev attribute API change fallout\n  powerpc: Enable tracehook for the architecture\n  powerpc: Add TIF_NOTIFY_RESUME support for tracehook\n  powerpc: Add asm/syscall.h with the tracehook entry points\n  powerpc: Make syscall tracing use tracehook.h helpers\n  powerpc: Call tracehook_signal_handler() when setting up signal frames\n  powerpc: Update cpu_sibling_maps dynamically\n  powerpc: register_cpu_online should be __cpuinit\n  powerpc: kill useless SMT code in prom_hold_cpus\n  powerpc: Fix 8xx build failure\n  powerpc: Fix vio build warnings\n  ...\n"
    }
  ],
  "next": "bda426f5310ffddcd463fe20f352609e84989514"
}
