)]}'
{
  "log": [
    {
      "commit": "dc2ed552804f3a2ae41c0ffe4bc09879ec8f7396",
      "tree": "a5080fb6fb989d92b522f78f3cbfb04e1e95f24e",
      "parents": [
        "c212808a1ba6bfba489006399b8152a047305acf"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Fri Mar 05 13:43:37 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:37 2010 -0800"
      },
      "message": "s3cmci: s3cmci_card_present: Use no_detect to decide whether there is a card detect pin\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nCc: \u003cstable@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": "c212808a1ba6bfba489006399b8152a047305acf",
      "tree": "43e3d5e1fa3a33cafc6c80a58193b5e2b8646724",
      "parents": [
        "6b5eda369ac3772dad416ef96d86064204d74770"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Fri Mar 05 13:43:35 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:37 2010 -0800"
      },
      "message": "s3cmci: initialize default platform data no_wprotect and no_detect with 1\n\nIf no platform_data was givin to the device it\u0027s going to use it\u0027s default\nplatform data struct which has all fields initialized to zero.  As a\nresult the driver is going to try to request gpio0 both as write protect\nand card detect pin.  Which of course will fail and makes the driver\nunusable\n\nPreviously to the introduction of no_wprotect and no_detect the behavior\nwas to assume that if no platform data was given there is no write protect\nor card detect pin.  This patch restores that behavior.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nCc: \u003cstable@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": "6b5eda369ac3772dad416ef96d86064204d74770",
      "tree": "cf137f4f28c62d8e8d1683590048b75830c1e9a2",
      "parents": [
        "40216842dca4fa485cb1aa5eb231149a4a57cc85"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Fri Mar 05 13:43:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:37 2010 -0800"
      },
      "message": "sdio: put active devices into 1-bit mode during suspend\n\nAnd bring them back to 4-bit mode during resume.\n\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@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": "40216842dca4fa485cb1aa5eb231149a4a57cc85",
      "tree": "25e51613412e3c8188d6476ec886a2f844d51714",
      "parents": [
        "3bca4cf703826fcb2bbabbe19c6fc7b2fc4fd7cc"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Fri Mar 05 13:43:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:37 2010 -0800"
      },
      "message": "sdio: kick the interrupt thread upon a resume\n\nSome SDIO cards may suspend while keeping function interrupts active\nespecially in the powered suspend case.  Upon resume we need to kick the\nSDIO interrupt thread to check for pending interrupts and to restart card\nIRQ detection at the host controller level.\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@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": "3bca4cf703826fcb2bbabbe19c6fc7b2fc4fd7cc",
      "tree": "6be86594d47aaf9f61febba43cbc0e470bfadabb",
      "parents": [
        "2f4cbb3d834922ffa0309b6a08fa42dac87ef9d2"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Mar 05 13:43:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:37 2010 -0800"
      },
      "message": "sdio: don\u0027t use CMD[357] as part of a powered SDIO resume\n\nSeen on a Marvell 8686 SDIO card and Via VX855 controller: we must avoid\nsending CMD3/5/7 on a resume where power has been maintained, because the\n8686 will refuse to respond to them and the MMC stack will give up on the\ncard.\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@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": "2f4cbb3d834922ffa0309b6a08fa42dac87ef9d2",
      "tree": "9c4b919b3851d3e0c066ba5c456bf0d2c150da4f",
      "parents": [
        "da68c4eb258cd9f3f0b8aeb7e46b8118bb6358b6"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Fri Mar 05 13:43:32 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:37 2010 -0800"
      },
      "message": "sdio: sdhci support for suspend mode PM features\n\nTested with an XO v1.5 from OLPC.\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@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": "da68c4eb258cd9f3f0b8aeb7e46b8118bb6358b6",
      "tree": "b7767ce0b0d05d16dec6eeeadd21bd70cc458ac7",
      "parents": [
        "9e506f35b1dc327c448d4791bc098f07b9b2efe9"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Fri Mar 05 13:43:31 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "sdio: introduce API for special power management features\n\nThis patch series provides the core changes needed to allow SDIO cards to\nremain powered and active while the host system is suspended, and let them\nwake up the host system when needed.  This is used to implement\nwake-on-lan with SDIO wireless cards at the moment.  Patches to add that\nsupport to the libertas driver will be posted separately.\n\nThis patch:\n\nSome SDIO cards have the ability to keep on running autonomously when the\nhost system is suspended, and wake it up when needed.  This however\nrequires that the host controller preserve power to the card, and\nconfigure itself appropriately for wake-up.\n\nThere is however 4 layers of abstractions involved: the host controller\ndriver, the MMC core code, the SDIO card management code, and the actual\nSDIO function driver.  To make things simple and manageable, host drivers\nmust advertise their PM capabilities with a feature bitmask, then function\ndrivers can query and set those features from their suspend method.  Then\neach layer in the suspend call chain is expected to act upon those bits\naccordingly.\n\n[akpm@linux-foundation.org: fix typo in comment]\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@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": "9e506f35b1dc327c448d4791bc098f07b9b2efe9",
      "tree": "4b38fa8120d28737f37fd665b160c67ed51e94a5",
      "parents": [
        "118cd17d4137f34c747c32765c1cb4d3910c04d4"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Mar 05 13:43:29 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "sdhci: improve sdhci sdhci_set_adma_desc() code\n\nsdhci_set_adma_desc() is using byte-writes to write data in a specified\norder into memory.  Change to using __le16 for the two byte and __le32 for\nthe four byte cases and use the cpu_to_{le16,le32} to do the conversion\nbefore writing.\n\nThis will reduce the size of the code and the number of writes as we no\nlonger need to chop the data up before writing.\n\nAs an example on ARM S3C64XX SoC, in little-endian configuration:\n\n 000000d4 \u003csdhci_set_adma_desc\u003e:\n-      d8:\te1a0c423 \tlsr\tip, r3, #8\n-      dc:\te1a0ec21 \tlsr\tlr, r1, #24\n-      e0:\te1a04821 \tlsr\tr4, r1, #16\n-      e4:\te1a05421 \tlsr\tr5, r1, #8\n-      e8:\te1a06442 \tasr\tr6, r2, #8\n-      ec:\te5c0c001 \tstrb\tip, [r0, #1]\n-      f0:\te5c0e007 \tstrb\tlr, [r0, #7]\n-      f4:\te5c04006 \tstrb\tr4, [r0, #6]\n-      f8:\te5c05005 \tstrb\tr5, [r0, #5]\n-      fc:\te5c01004 \tstrb\tr1, [r0, #4]\n-     100:\te5c06003 \tstrb\tr6, [r0, #3]\n-     104:\te5c02002 \tstrb\tr2, [r0, #2]\n-     108:\te5c03000 \tstrb\tr3, [r0]\n+      d4:\te5801004 \tstr\tr1, [r0, #4]\n+      d8:\te1c030b0 \tstrh\tr3, [r0]\n+      dc:\te1c020b2 \tstrh\tr2, [r0, #2]\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: \u003clinux-mmc@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": "118cd17d4137f34c747c32765c1cb4d3910c04d4",
      "tree": "37770764fb27313fa15ebb1bc29c13673614f185",
      "parents": [
        "3fb7fb4a01d09f81d1daaf65e52d929734bd691f"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Mar 05 13:43:26 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "sdhci: add adma descriptor set call\n\nThe code to write the ADMA descriptor into memory is repeated several\ntimes throughout sdhci_adma_table_pre, and thus should be moved into a\ncommon function.  This will also be useful if the patch to make the write\nmore efficient is accepted.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: \u003clinux-mmc@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": "3fb7fb4a01d09f81d1daaf65e52d929734bd691f",
      "tree": "8feac2d211f833fc1ef287aba3b138886454f45c",
      "parents": [
        "729adf1b5f4562f67fe8bf6c1df97edc1128fac7"
      ],
      "author": {
        "name": "Bing Zhao",
        "email": "bzhao@marvell.com",
        "time": "Fri Mar 05 13:43:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "sdio: add quirk to clamp byte mode transfer\n\nSome SDIO cards expect byte transfers not to exceed the configured block\ntransfer size.  Add a quirk to that effect.\n\nPatches to make use of this quirk will be sent separately.\n\nSigned-off-by: Bing Zhao \u003cbzhao@marvell.com\u003e\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@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": "729adf1b5f4562f67fe8bf6c1df97edc1128fac7",
      "tree": "ab22de5d498c5ee960b72b046ee73dc1c56bea01",
      "parents": [
        "05dabcc4a51eab7342b2220f0121b4f4a5109386"
      ],
      "author": {
        "name": "Cliff Cai",
        "email": "cliff.cai@analog.com",
        "time": "Fri Mar 05 13:43:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "mmc: bfin_sdh: set timeout based on actual card data\n\nThe hardcoded value doesn\u0027t really work for all cards.\n\nSigned-off-by: Cliff Cai \u003ccliff.cai@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: \u003clinux-mmc@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": "05dabcc4a51eab7342b2220f0121b4f4a5109386",
      "tree": "d26b3cad5d5a4c80c4788787e2444bfb4e20c1f3",
      "parents": [
        "c744d988729db9be37d1c877d143cfe63941c25c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Mar 05 13:43:24 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "mmc: bfin_sdh: drop redundant MMC depend string\n\nThe host/Kconfig file is only included when MMC is selected.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: \u003clinux-mmc@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": "c744d988729db9be37d1c877d143cfe63941c25c",
      "tree": "1e6db6e3a233ae72018d5e25656c7647713c5617",
      "parents": [
        "09591dd3183d5aeae515bd5fcba718ec49e11ece"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Mar 05 13:43:23 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "mmc: bfin_sdh: fix unused sg warning on BF51x/BF52x systems\n\nThe local sg variable is only used with BF54x code.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: \u003clinux-mmc@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": "09591dd3183d5aeae515bd5fcba718ec49e11ece",
      "tree": "85db57a04a3e54e79f4782fe096b04dc7e85cd63",
      "parents": [
        "132f10746c2bb2e4bcfc3fadff12f390ace2d183"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Fri Mar 05 13:43:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "mmc: Atmel host kconfig cleanup for everyone else\n\nThis prevents those without an Atmel chip having a line in kernel\nconfiguration which says \"Atmel SD/MMC Driver\" without any option.\n\nSigned-off-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: \u003clinux-mmc@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": "132f10746c2bb2e4bcfc3fadff12f390ace2d183",
      "tree": "37172a162f9b19a6e71622e6c0c246609aac3bb5",
      "parents": [
        "03cd8f7ebe0cbef5ca7eed349774085e92a3d726"
      ],
      "author": {
        "name": "Vipin Bhandari",
        "email": "vipin.bhandari@ti.com",
        "time": "Fri Mar 05 13:43:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "davinci: MMC: add support for 8bit MMC cards\n\nAdd support for 8bit MMC cards.  The controller data width is configurable\ndepending on the wires setting in the platform data structure.\n\nMMC 8bit is tested on OMAPL137 and MMC 4bit is tested on OMAPL138 EVM.\n\nSigned-off-by: Vipin Bhandari \u003cvipin.bhandari@ti.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Chaithrika U S \u003cchaithrika@ti.com\u003e\nCc: Sudhakar Rajashekhara \u003csudhakar.raj@ti.com\u003e\nCc: \u003clinux-mmc@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": "03cd8f7ebe0cbef5ca7eed349774085e92a3d726",
      "tree": "350773b650554fe4337e7f253b501bd4721a3bcd",
      "parents": [
        "45bf5cd7be624712ef1591e9de71f0ff7ad21cf1"
      ],
      "author": {
        "name": "Maxim Levitsky",
        "email": "maximlevitsky@gmail.com",
        "time": "Fri Mar 05 13:43:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:36 2010 -0800"
      },
      "message": "ricoh_mmc: port from driver to pci quirk\n\nThis patch solves nasty problem original driver has.\n\nOriginal goal of the ricoh_mmc was to disable this device because then,\nmmc cards can be read using standard SDHCI controller, thus avoiding\nwriting of yet another driver.\n\nHowever, the act of disablement, makes other pci functions that belong to\nthis controller (xD and memstick) shift up one level, thus pci core has\nnow wrong idea about these devices.\n\nTo fix this issue, this patch moves the driver into the pci quirk section,\nthus it is executes before the pci is enumerated, and therefore solving\nthat issue, also same sequence of commands is performed on resume for same\nreasons.\n\nAlso regardless of the above, this way is cleaner.  You still need to set\nCONFIG_MMC_RICOH_MMC to enable this quirk\n\nSigned-off-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nAcked-by: Philip Langdale \u003cphilipl@overt.org\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: \u003clinux-mmc@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": "45bf5cd7be624712ef1591e9de71f0ff7ad21cf1",
      "tree": "dfd51f59aad8a742462da0604ed8bd121a9833a1",
      "parents": [
        "08564fb7ab9ead9226b6154439c3fecd17972eb0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Mar 05 13:43:19 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "fs/compat_ioctl.c: suppress two warnings\n\nfs/compat_ioctl.c: In function \u0027do_ioctl_trans\u0027:\nfs/compat_ioctl.c:534: warning: \u0027karg\u0027 may be used uninitialized in this function\nfs/compat_ioctl.c:533: warning: \u0027kcmd\u0027 may be used uninitialized in this function\nfs/compat_ioctl.c:656: warning: \u0027ret\u0027 may be used uninitialized in this function\n\nReduces text size by 44 bytes.\n\nIf someone calls one of these functions with an unexpected argument, the\ncode\u0027s buggy as-is.\n\nAmerigo Wang \u003camwang@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08564fb7ab9ead9226b6154439c3fecd17972eb0",
      "tree": "a6bb96ffbe702d22d29bca871c42993cf552e9fa",
      "parents": [
        "9a86e2bad0b9fbf3290ae496da6dab9536dd6bf7"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Mar 05 13:43:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "bitmap: use for_each_set_bit()\n\nReplace open-coded loop with for_each_set_bit().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "9a86e2bad0b9fbf3290ae496da6dab9536dd6bf7",
      "tree": "639ad635462be0578fcb4988aa0d59a0bc6cd818",
      "parents": [
        "a069c266ae5fdfbf5b4aecf2c672413aa33b2504"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Fri Mar 05 13:43:17 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "lib: fix first line of kernel-doc for a few functions\n\nThe function name must be followed by a space, hypen, space, and a short\ndescription.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a069c266ae5fdfbf5b4aecf2c672413aa33b2504",
      "tree": "2f9731d8475fc5b2d942cac004904db8e49d5428",
      "parents": [
        "02b12b7a28faa2e9ed5a361cd08ea576ab1f1509"
      ],
      "author": {
        "name": "Don Mullis",
        "email": "don.mullis@gmail.com",
        "time": "Fri Mar 05 13:43:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "lib: build list_sort() only if needed\n\nBuild list_sort() only for configs that need it -- those that don\u0027t save\n~581 bytes (i386).\n\nSigned-off-by: Don Mullis \u003cdon.mullis@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02b12b7a28faa2e9ed5a361cd08ea576ab1f1509",
      "tree": "3a23cbc81230b478d76d934d5396df097888210d",
      "parents": [
        "835cc0c8477fdbc59e0217891d6f11061b1ac4e2"
      ],
      "author": {
        "name": "Don Mullis",
        "email": "don.mullis@gmail.com",
        "time": "Fri Mar 05 13:43:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "lib: revise list_sort() header comment\n\nClarify and correct header comment of list_sort().\n\nSigned-off-by: Don Mullis \u003cdon.mullis@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "835cc0c8477fdbc59e0217891d6f11061b1ac4e2",
      "tree": "be179915300e6d6ea61c8458c7e1ccb764065ed4",
      "parents": [
        "d6a2eedfddcded92c8f9b0ac022a99c4134696b0"
      ],
      "author": {
        "name": "Don Mullis",
        "email": "don.mullis@gmail.com",
        "time": "Fri Mar 05 13:43:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "lib: more scalable list_sort()\n\nXFS and UBIFS can pass long lists to list_sort(); this alternative\nimplementation scales better, reaching ~3x performance gain when list\nlength exceeds the L2 cache size.\n\nStand-alone program timings were run on a Core 2 duo L1\u003d32KB L2\u003d4MB,\ngcc-4.4, with flags extracted from an Ubuntu kernel build.  Object size is\n581 bytes compared to 455 for Mark J.  Roberts\u0027 code.\n\nWorst case for either implementation is a list length just over a power of\ntwo, and to roughly the same degree, so here are timing results for a\nrange of 2^N+1 lengths.  List elements were 16 bytes each including malloc\noverhead; initial order was random.\n\n                      time (msec)\n                      Tatham-Roberts\n                      |       generic-Mullis-v2\nloop_count  length    |       |    ratio\n4000000       2     206     294    1.427\n2000000       3     176     227    1.289\n1000000       5     199     172    0.864\n 500000       9     235     178    0.757\n 250000      17     243     182    0.748\n 125000      33     261     196    0.750\n  62500      65     277     209    0.754\n  31250     129     292     219    0.75\n  15625     257     317     235    0.741\n   7812     513     340     252    0.741\n   3906    1025     362     267    0.737\n   1953    2049     388     283    0.729  ~ L1 size\n    976    4097     556     323    0.580\n    488    8193     678     361    0.532\n    244   16385     773     395    0.510\n    122   32769     844     418    0.495\n     61   65537     917     454    0.495\n     30  131073    1128     543    0.481\n     15  262145    2355     869    0.369  ~ L2 size\n      7  524289    5597    1714    0.306\n      3 1048577    6218    2022    0.325\n\nMark\u0027s code does not actually implement the usual or generic mergesort,\nbut rather a variant from Simon Tatham described here:\n\n    http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html\n\nSimon\u0027s algorithm performs O(log N) passes over the entire input list,\ndoing merges of sublists that double in size on each pass.  The generic\nalgorithm instead merges pairs of equal length lists as early as possible,\nin recursive order.  For either algorithm, the elements that extend the\nlist beyond power-of-two length are a special case, handled as nearly as\npossible as a \"rounding-up\" to a full POT.\n\nSome intuition for the locality of reference implications of merge order\nmay be gotten by watching this animation:\n\n    http://www.sorting-algorithms.com/merge-sort\n\nSimon\u0027s algorithm requires only O(1) extra space rather than the generic\nalgorithm\u0027s O(log N), but in my non-recursive implementation the actual\nO(log N) data is merely a vector of ~20 pointers, which I\u0027ve put on the\nstack.\n\nLong-running list_sort() calls: If the list passed in may be long, or the\nclient\u0027s cmp() callback function is slow, the client\u0027s cmp() may\nperiodically invoke cond_resched() to voluntarily yield the CPU.  All\ninner loops of list_sort() call back to cmp().\n\nStability of the sort: distinct elements that compare equal emerge from\nthe sort in the same order as with Mark\u0027s code, for simple test cases.  A\nboot-time test is provided to verify this and other correctness\nrequirements.\n\nA kernel that uses drm.ko appears to run normally with this change; I have\nno suitable hardware to similarly test the use by UBIFS.\n\n[akpm@linux-foundation.org: style tweaks, fix comment, make list_sort_test __init]\nSigned-off-by: Don Mullis \u003cdon.mullis@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6a2eedfddcded92c8f9b0ac022a99c4134696b0",
      "tree": "6a0f38fbc74e839fc7712f8ebcb65cce75cdcc06",
      "parents": [
        "a11d2b64e1f2556953120d516241243ea365f0ae"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Mar 05 13:43:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "lib/string.c: simplify strnstr()\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@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": "a11d2b64e1f2556953120d516241243ea365f0ae",
      "tree": "efb406b16a33fedf9c239fd6c09d8fe74b0042b7",
      "parents": [
        "8a6e25357d51d6ecf4ee21e9048f0416a085a79c"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Mar 05 13:43:11 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "lib/string.c: simplify stricmp()\n\nRemoves 32 bytes on core2 with gcc 4.4.1:\n   text    data     bss     dec     hex filename\n   3196       0       0    3196     c7c lib/string-BEFORE.o\n   3164       0       0    3164     c5c lib/string-AFTER.o\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@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": "8a6e25357d51d6ecf4ee21e9048f0416a085a79c",
      "tree": "40cf59ac816f6dd07d7b775fc4d58b0469cf2bf1",
      "parents": [
        "e200e0ec9148ad2941e30d59b9552973d49a82b6"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:11 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "MAINTAINERS: document and add \"Q\" patchwork queue entries\n\nPatchwork queues show the acceptance/rejection state of submitted patches\nfor various MAINTAINER trees.  Document their existence.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e200e0ec9148ad2941e30d59b9552973d49a82b6",
      "tree": "60134fcb37df9f0cfb45012ce027b99fbf9fea49",
      "parents": [
        "931812cb1b40650e44f6bbb2acb84a129498202f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:35 2010 -0800"
      },
      "message": "MAINTAINERS: WAVELAN moved to staging\n\nby commit 0234f84ebb00d36c48062befa5436eef36b71ccd\nUpdate patterns\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "931812cb1b40650e44f6bbb2acb84a129498202f",
      "tree": "e232731beb059ed9d857b20cb58abd32e17de1f0",
      "parents": [
        "dc95ec6fbd9e2426df76b8cf62063d2ee8e32dc2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "MAINTAINERS: STARMODE RADIO IP (STRIP) moved to staging\n\nby commit 955015bb0b42167d14f776ff5947ae2463a974dc\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc95ec6fbd9e2426df76b8cf62063d2ee8e32dc2",
      "tree": "83319b15cf7d667b754606c7d76eb2f7d180316d",
      "parents": [
        "a9582206c526be81054a8be2227e92a4403d2452"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "MAINTAINERS: update PERFORMANCE EVENTS F: patterns\n\nTo match arch/*/kernel perf_event location changes\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9582206c526be81054a8be2227e92a4403d2452",
      "tree": "9c52aafd99afee69dea5da0436e5baf074dc1df9",
      "parents": [
        "82cc83473559e0e6da6278053c2d14448b189e0e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "MAINTAINERS: remove HAYES ESP SERIAL DRIVER\n\nCommit f53a2ade0bb9f2a81f473e6469155172a96b7c38 (\"tty: esp: remove\nbroken driver\") removed it\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82cc83473559e0e6da6278053c2d14448b189e0e",
      "tree": "d1561e481e55252809edd123fe078080d99bacd5",
      "parents": [
        "3c840c18bcd8efb37f1a565e83a9509e1ea5d105"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "MAINTAINERS: remove AMD GEODE F: arch/x86/kernel/geode_32.c\n\nCommit c95d1e53ed89b75a4d7b68d1cbae4607b1479243 (\"cs5535: drop the\nGeode-specific MFGPT/GPIO code\") removed it.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c840c18bcd8efb37f1a565e83a9509e1ea5d105",
      "tree": "cf1a0d872188bf3857354a8622fff3e7dc0c0709",
      "parents": [
        "a63ceb4c36a7674f7efa90e8ba96b44a3989d717"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "scripts/get_maintainer.pl: fix possible infinite loop\n\nIf MAINTAINERS section entries are misformatted, it was possible to have\nan infinite loop.\n\nCorrect the defect by always moving the index to the end of section + 1\n\nAlso, exit check for exclude as soon as possible.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \u003cstable@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": "a63ceb4c36a7674f7efa90e8ba96b44a3989d717",
      "tree": "eefb1f82565ddaa2e5129341accc490ad4a2e5f9",
      "parents": [
        "22dd5b0cba50a197aaa3bd2790a29ee2e8e4e372"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Mar 05 13:43:06 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "get_maintainer: quote email address with period\n\nPicky mail systems won\u0027t accept email addresses where recipient has period\nin name; ie.  David S.  Miller \u003cdavemloft.net\u003e will not work.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22dd5b0cba50a197aaa3bd2790a29ee2e8e4e372",
      "tree": "3447841bde2fef9b1adfa127549e50d15b940798",
      "parents": [
        "64f77f312b15f101bf6c4c65d5359ccc16e3f82b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Mar 05 13:43:06 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "get_maintainer: fix perlcritic warnings\n\nperlcritic is a standard checker for Perl Best Practices.  This patch\nfixes most of the warnings in the get_maintainer script.  If kernel\nprogrammers are going to have checkpatch they should write clean scripts\nas well...\n\nBareword file handle opened at line 176, column 1.  See pages 202,204 of PBP.  (Severity: 5)\nTwo-argument \"open\" used at line 176, column 1.  See page 207 of PBP.  (Severity: 5)\nBareword file handle opened at line 207, column 5.  See pages 202,204 of PBP.  (Severity: 5)\nTwo-argument \"open\" used at line 207, column 5.  See page 207 of PBP.  (Severity: 5)\nBareword file handle opened at line 246, column 6.  See pages 202,204 of PBP.  (Severity: 5)\nTwo-argument \"open\" used at line 246, column 6.  See page 207 of PBP.  (Severity: 5)\nBareword file handle opened at line 258, column 2.  See pages 202,204 of PBP.  (Severity: 5)\nTwo-argument \"open\" used at line 258, column 2.  See page 207 of PBP.  (Severity: 5)\nExpression form of \"eval\" at line 983, column 17.  See page 161 of PBP.  (Severity: 5)\nExpression form of \"eval\" at line 985, column 17.  See page 161 of PBP.  (Severity: 5)\nSubroutine prototypes used at line 1186, column 1.  See page 194 of PBP.  (Severity: 5)\nSubroutine prototypes used at line 1206, column 1.  See page 194 of PBP.  (Severity: 5)\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64f77f312b15f101bf6c4c65d5359ccc16e3f82b",
      "tree": "1198f9bb27e6e33c8e8b4dc025ef8f73bba5731a",
      "parents": [
        "f11e9a1534c5e9dd4be97b30e6b24902e0ec325b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:04 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "scripts/get_maintainer.pl: add ability to read from STDIN\n\nDoesn\u0027t need or accept \u0027-\u0027 as a trailing option to read stdin.  Doesn\u0027t\nprint usage() after bad options.  Adds --usage as command line equivalent\nof --help\n\nSuggested-by: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f11e9a1534c5e9dd4be97b30e6b24902e0ec325b",
      "tree": "e756158c54ca6b302b0c2ffa568359241a2983a4",
      "parents": [
        "4b76c9da611593eed6a13527c5ebd00c173624ad"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:34 2010 -0800"
      },
      "message": "scripts/get_maintainer.pl: change --sections to print in the same style as MAINTAINERS\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b76c9da611593eed6a13527c5ebd00c173624ad",
      "tree": "0d7d3a57949e087eb9fb1cceab5982ab6e9da6c8",
      "parents": [
        "03372dbbe618bfcd02f9c8cdbfe78e97e3aad43b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "scripts/get_maintainer.pl: add --sections, print entire matched subsystem\n\nPrint the complete contents of the matched subsystems\nin pattern match depth order.\n\nSample output:\n\n$ ./scripts/get_maintainer.pl --sections -f drivers/net/usb/smsc95xx.c\nUSB SMSC95XX ETHERNET DRIVER\nM:Steve Glendinning \u003csteve.glendinning@smsc.com\u003e\nL:netdev@vger.kernel.org\nS:Supported\nF:drivers/net/usb/smsc95xx.*\nUSB SUBSYSTEM\nM:Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nL:linux-usb@vger.kernel.org\nW:http://www.linux-usb.org\nT:quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/\nS:Supported\nF:Documentation/usb/\nF:drivers/net/usb/\nF:drivers/usb/\nF:include/linux/usb.h\nF:include/linux/usb/\nNETWORKING DRIVERS\nL:netdev@vger.kernel.org\nW:http://www.linuxfoundation.org/en/Net\nT:git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git\nS:Odd Fixes\nF:drivers/net/\nF:include/linux/if_*\nF:include/linux/*device.h\nTHE REST\nM:Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nL:linux-kernel@vger.kernel.org\nQ:http://patchwork.kernel.org/project/LKML/list/\nT:git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\nS:Buried alive in reporters\nF:*\nF:*/\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03372dbbe618bfcd02f9c8cdbfe78e97e3aad43b",
      "tree": "8b848249ec5d45154fb05c43aa0c7bd34f13d09e",
      "parents": [
        "cea83886dde49fd7524e9f4a246dd5dff4ad236a"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Mar 05 13:43:00 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "scripts/get_maintainer.pl: add --file-emails, find embedded email addresses\n\nAdd an imperfect option to search a source file for email addresses.\n\nNew option:  --file-emails or --fe\n\nemail addresses in files are freeform text and are nearly impossible to\nparse.  Still, might as well try to do a somewhat acceptable job of\nfinding them.  This code should find all addresses that are in the form\naddr@domain.tld\n\nThe code assumes that up to 3 alphabetic words along with dashes, commas,\nand periods that preceed the email address are a name.\n\nIf 3 words are found for the name, and one of the first two words are a\nsingle letter and period, or just a single letter then the 3 words are use\nas name otherwise the last 2 words are used.\n\nSome variants that are shown correctly:\n    John Smith \u003cjksmith@domain.org\u003e\n    Random J. Developer \u003crjd@tld.com\u003e\n    Random J. Developer (rjd@tld.com)\n    J. Random Developer rjd@tld.com\n\nVariants that are shown nominally correctly:\n    Written by First Last (funny-addr@somecompany.com)\nis shown as:\n    First Last \u003cfunny-addr@somecompany.com\u003e\n\nVariants that are shown incorrectly:\n    Some Really Long Name \u003csrln@foo.bar\u003e\n    MontaVista Software, Inc. \u003csource@mvista.com\u003e\nare returned as:\n    Long Name \u003csrln@foo.bar\u003e\n    \"Software, Inc\" \u003csource@mvista.com\u003e\n\n--roles and --rolestats show \"(in file)\" for matches.\n\nFor instance:\n\nWithout -file-emails:\n\n$ ./scripts/get_maintainer.pl -f -nogit -roles net/core/netpoll.c\nDavid S. Miller \u003cdavem@davemloft.net\u003e (maintainer:NETWORKING [GENERAL])\nlinux-kernel@vger.kernel.org (open list)\n\nWith -fe:\n\n$ ./scripts/get_maintainer.pl -f -fe -nogit -roles net/core/netpoll.c\nDavid S. Miller \u003cdavem@davemloft.net\u003e (maintainer:NETWORKING [GENERAL])\nMatt Mackall \u003cmpm@selenic.com\u003e (in file)\nIngo Molnar \u003cmingo@redhat.com\u003e (in file)\nlinux-kernel@vger.kernel.org (open list)\nnetdev@vger.kernel.org (open list:NETWORKING [GENERAL])\n\nThe number of email addresses in the file in not limited.  Neither is the\nnumber of returned email addresses.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cea83886dde49fd7524e9f4a246dd5dff4ad236a",
      "tree": "972db619ba8ae866a858744708a454f088182e75",
      "parents": [
        "5ef097dd7ba4eab8b4f0026d85fcef9fe23b821f"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Fri Mar 05 13:42:58 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "printk: avoid warning when CONFIG_PRINTK is disabled\n\nkernel/printk.c:72: warning: `saved_console_loglevel\u0027 defined but not used\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ef097dd7ba4eab8b4f0026d85fcef9fe23b821f",
      "tree": "5d2e580897795b8eae278f7548799119ac4803a0",
      "parents": [
        "9728e5d6e6c432ee8487c63ce6e479e2474d9945"
      ],
      "author": {
        "name": "Michael Neuling",
        "email": "mikey@neuling.org",
        "time": "Fri Mar 05 13:42:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "exec: create initial stack independent of PAGE_SIZE\n\nCurrently we create the initial stack based on the PAGE_SIZE.  This is\nunnecessary.\n\nThis creates this initial stack independent of the PAGE_SIZE.\n\nIt also bumps up the number of 4k pages allocated from 20 to 32, to\nalign with 64K page systems.\n\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9728e5d6e6c432ee8487c63ce6e479e2474d9945",
      "tree": "2cd7e9a9102649a36d52cbac918f045dcfaa08f2",
      "parents": [
        "8aeee85a29e27e043db582bf2ae8e5f42767934f"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Fri Mar 05 13:42:56 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "kernel/pid.c: update comment on find_task_by_pid_ns\n\ntasklist_lock does protect the task and its pid, it can\u0027t go away.  The\nproblem is that find_pid_ns() itself is unsafe without rcu lock, it can\nrace with copy_process()-\u003efree_pid(any_pid).\n\nProtecting copy_process()-\u003efree_pid(any_pid) with tasklist_lock would make\nit possible to call find_task_by_pid_ns() under tasklist safely, but we\ndon\u0027t do so because we are trying to get rid of the read_lock sites of\ntasklist_lock.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aeee85a29e27e043db582bf2ae8e5f42767934f",
      "tree": "fac5fc9b79dc272517918722e944b86f36a7e608",
      "parents": [
        "78d7d407b62a021e6d2e8dc24c0b90e390ab58a1"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Mar 05 13:42:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "panic: fix panic_timeout accuracy when running on a hypervisor\n\nI\u0027ve had some complaints about panic_timeout being wildly innacurate on\nshared processor PowerPC partitions (a 3 minute panic_timeout taking 30\nminutes).\n\nThe problem is we loop on mdelay(1) and with a 1ms in 10ms hypervisor\ntimeslice each of these will take 10ms (ie 10x) longer.  I expect other\nplatforms with shared processor hypervisors will see the same issue.\n\nThis patch keeps the old behaviour if we have a panic_blink (only keyboard\nLEDs right now) and does 1 second mdelays if we don\u0027t.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78d7d407b62a021e6d2e8dc24c0b90e390ab58a1",
      "tree": "8c1074b84db4b977bad6802a3701e0113c0a7739",
      "parents": [
        "d4bb527438b4181cd3c564ae04dd344c381283a1"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:42:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "kernel core: use helpers for rlimits\n\nMake sure compiler won\u0027t do weird things with limits.  E.g.  fetching them\ntwice may return 2 different values after writable limits are implemented.\n\nI.e.  either use rlimit helpers added in commit 3e10e716abf3 (\"resource:\nadd helpers for fetching rlimits\") or ACCESS_ONCE if not applicable.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4bb527438b4181cd3c564ae04dd344c381283a1",
      "tree": "0e7afeb6b759f72b136d707db4e5725a92b0d777",
      "parents": [
        "f3abd4f9531becb71626bd206955d47d5ea54f06"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:42:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "posix-cpu-timers: cleanup rlimits usage\n\nFetch rlimit (both hard and soft) values only once and work on them.  It\nremoves many accesses through sig structure and makes the code cleaner.\n\nMostly a preparation for writable resource limits support.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3abd4f9531becb71626bd206955d47d5ea54f06",
      "tree": "512d5d72d02f6dae87af66c7e044d597eb7e067c",
      "parents": [
        "9c03c383563f147907f1a90cf16f1e190e2f4aae"
      ],
      "author": {
        "name": "Thiago Farina",
        "email": "tfransosi@gmail.com",
        "time": "Fri Mar 05 13:42:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "kernel/exit.c: fix shadows sparse warning\n\nkernel/exit.c:1183:26: warning: symbol \u0027status\u0027 shadows an earlier one\nkernel/exit.c:1173:21: originally declared here\n\nSigned-off-by: Thiago Farina \u003ctfransosi@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": "9c03c383563f147907f1a90cf16f1e190e2f4aae",
      "tree": "5aeff12a5a38ab6af49acaf909963d876df1ca61",
      "parents": [
        "5f1664f92b2247111b7d37e454a050b76ac61b7f"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Fri Mar 05 13:42:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "includecheck fix for kernel/params.c\n\nFix the following \u0027make includecheck\u0027 warning:\n  kernel/params.c: linux/string.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: André Goddard Rosa \u003candre.goddard@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": "5f1664f92b2247111b7d37e454a050b76ac61b7f",
      "tree": "dfedcdc7c878a103e561c7b0a7cf3ae7d5bff8a9",
      "parents": [
        "0347af4ee3922220f6bfe74b87b526aa709a0365"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri Mar 05 13:42:51 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "splice: comparing unsigned int \u003c 0\n\n\"ret\" needs to be signed or the error handling for splice_to_pipe() won\u0027t\nwork correctly.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Tom Zanussi \u003czanussi@comcast.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0347af4ee3922220f6bfe74b87b526aa709a0365",
      "tree": "6b1f860991e3dae3fc110e02a1a838eb291b94ee",
      "parents": [
        "33fd797b3e2c6a7663b9331150da0acdb31990a2"
      ],
      "author": {
        "name": "Simon Kagstrom",
        "email": "simon.kagstrom@netinsight.net",
        "time": "Fri Mar 05 13:42:49 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "lkdtm: add debugfs access and loosen KPROBE ties\n\nAdd adds a debugfs interface and additional failure modes to LKDTM to\nprovide similar functionality to the provoke-crash driver submitted here:\n\n  http://lwn.net/Articles/371208/\n\nCrashes can now be induced either through module parameters (as before)\nor through the debugfs interface as in provoke-crash.\n\nThe patch also provides a new \"direct\" interface, where KPROBES are not\nused, i.e., the crash is invoked directly upon write to the debugfs\nfile. When built without KPROBES configured, only this mode is available.\n\nSigned-off-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nCc: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e,\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33fd797b3e2c6a7663b9331150da0acdb31990a2",
      "tree": "50f465fa034f4a5f819ec5e60d8ea3eca920e66e",
      "parents": [
        "08d9e7363b87a4c5fb3fc17070607a75a9eb4cc8"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Fri Mar 05 13:42:48 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "eisa: fix coding style for eisa bus code\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08d9e7363b87a4c5fb3fc17070607a75a9eb4cc8",
      "tree": "07a0f02acf102ad67166ffb6129f9b1117643976",
      "parents": [
        "7463e633c5f94792dcff1afefb0d2961318a9d09"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Mar 05 13:42:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "drivers/misc/iwmc3200top/main.c: eliminate useless code\n\nThe variable priv is initialized twice to the same (side effect-free)\nexpression.  Drop one initialization.\n\nA simplified version of the semantic match that finds this problem is:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@forall@\nidexpression *x;\nidentifier f!\u003dERR_PTR;\n@@\n\nx \u003d f(...)\n... when !\u003d x\n(\nx \u003d f(...,\u003c+...x...+\u003e,...)\n|\n* x \u003d f(...)\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7463e633c5f94792dcff1afefb0d2961318a9d09",
      "tree": "db2ee59033f50dfe2b3ebe48c08cefef86720bc8",
      "parents": [
        "cfd8d6c0ed89ba387609419e3d8d4c6b92a5d446"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Mar 05 13:42:46 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "init/main.c: make setup_max_cpus static for !SMP\n\nThe only in tree external users of the symbol setup_max_cpus are in\narch/x86/.  The files ./kernel/alternative.c, ./kernel/visws_quirks.c, and\n./mm/kmemcheck/kmemcheck.c are all guarded by CONFIG_SMP being defined.\nFor this case the symbol is an unsigned int and declared as an extern in\ninclude/linux/smp.h.\n\nWhen CONFIG_SMP is not defined the symbol setup_max_cpus is\na constant value that is only used in init/main.c.  Make the symbol\nstatic for this case.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfd8d6c0ed89ba387609419e3d8d4c6b92a5d446",
      "tree": "2cd5b1e87b6c3ba9328a1588993d29c23c9d8c46",
      "parents": [
        "72c3368856c543ace033f6a5b9a3edf1f4043236"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Fri Mar 05 13:42:45 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "smp: fix documentation in include/linux/smp.h\n\nsmp: Fix documentation.\n\nFix documentation in include/linux/smp.h: smp_processor_id()\n\nSigned-off-by: Rakib Mullick \u003crakib.mullick@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": "72c3368856c543ace033f6a5b9a3edf1f4043236",
      "tree": "53fe8b4b19f42915a5f7d97bd1f779327dd534d4",
      "parents": [
        "d554ed895dc8f293cc712c71f14b101ace82579a"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Mar 05 13:42:43 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:31 2010 -0800"
      },
      "message": "nodemask.h: remove macro any_online_node\n\nThe macro any_online_node() is prone to producing sparse warnings due to\nthe local symbol \u0027node\u0027.  Since all the in-tree users are really\nrequesting the first online node (the mask argument is either\nNODE_MASK_ALL or node_online_map) just use the first_online_node macro and\nremove the any_online_node macro since there are no users.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Nathan Fontenot \u003cnfont@austin.ibm.com\u003e\nCc: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d554ed895dc8f293cc712c71f14b101ace82579a",
      "tree": "fd29ba33d640e156e2ca4267ffbdb9dc566fd3d6",
      "parents": [
        "221e3ebf6d5f2625373573155924e39f196c5d3d"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:42:42 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:29 2010 -0800"
      },
      "message": "fs: use rlimit helpers\n\nMake sure compiler won\u0027t do weird things with limits.  E.g.  fetching them\ntwice may return 2 different values after writable limits are implemented.\n\nI.e.  either use rlimit helpers added in commit 3e10e716abf3 (\"resource:\nadd helpers for fetching rlimits\") or ACCESS_ONCE if not applicable.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "221e3ebf6d5f2625373573155924e39f196c5d3d",
      "tree": "7bd7bd1441469f1590e9aec3376c234fcd3d3462",
      "parents": [
        "8aaed5bec2b9177eab1796c8c4f7a4c90804eef6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Mar 05 13:42:41 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:29 2010 -0800"
      },
      "message": "cpumask: let num_*_cpus() function always return unsigned values\n\nDependent on CONFIG_SMP the num_*_cpus() functions return unsigned or\nsigned values.  Let them always return unsigned values to avoid strange\ncasts.\n\nFixes at least one warning:\n\n kernel/kprobes.c: In function \u0027register_kretprobe\u0027:\n kernel/kprobes.c:1038: warning: comparison of distinct pointer types lacks a cast\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aaed5bec2b9177eab1796c8c4f7a4c90804eef6",
      "tree": "e94b8899476df43febd5dd6dabcf548c6cdf816d",
      "parents": [
        "9a85b8d6049cbb0e7961df2069322fbc4192026a"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Mar 05 13:42:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:29 2010 -0800"
      },
      "message": "init/initramfs.c: fix \"symbol shadows an earlier one\" noise\n\nThe symbol \u0027count\u0027 is a local global variable in this file.  The function\nclean_rootfs() should use a different symbol name to prevent \"symbol\nshadows an earlier one\" noise.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a85b8d6049cbb0e7961df2069322fbc4192026a",
      "tree": "e9e397a35ea33f198da51027db028bf91a090b4d",
      "parents": [
        "87d5e0236d9d688fb575e9e12232764ac617617c"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@lisas.de",
        "time": "Fri Mar 05 13:42:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:29 2010 -0800"
      },
      "message": "init/main.c: improve usability in case of init binary failure\n\n- new Documentation/init.txt file describing various forms of failure\n  trying to load the init binary after kernel bootup\n\n- extend the init/main.c init failure message to direct to\n  Documentation/init.txt\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87d5e0236d9d688fb575e9e12232764ac617617c",
      "tree": "1b174abac310f2a5ac63181b483c55fe93756133",
      "parents": [
        "9c8f05c2837b06bb2739e85204c0d34009fb6494"
      ],
      "author": {
        "name": "Chen Gong",
        "email": "gong.chen@linux.intel.com",
        "time": "Fri Mar 05 13:42:38 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "kernel/cpu.c: delete deprecated definition in cpu_up()\n\nAdditional_cpus is only supported for IA64 now.  X86_64 should not be\nincluded.\n\nSigned-off-by: Chen Gong \u003cgong.chen@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c8f05c2837b06bb2739e85204c0d34009fb6494",
      "tree": "49db35f67ded68409d01e5eedaa51df4a24a4c38",
      "parents": [
        "3b2a8c8f3c65c08bd737b30d3ceee732ed84813a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Mar 05 13:42:35 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "MFGPT: move clocksource menu\n\nMove the CS5535 MFGPT hrtimer kconfig option to be with the other MFGPT\noptions.  This makes it easier to find and also removes it from the main\n\"Device Drivers\" menu, where it should not have been.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b2a8c8f3c65c08bd737b30d3ceee732ed84813a",
      "tree": "8b6f68ecb1d0719d6540834ab75544336cc33b35",
      "parents": [
        "03315b59165ee2049a4b903a1b0b8bf673d701fa"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Fri Mar 05 13:42:34 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "um: tell git to ignore generated files\n\nTell git to ignore the generated files under um, except:\n\n include/shared/kern_constants.h\n include/shared/user_constants.h\n\nwhich will be moved to include/generated.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03315b59165ee2049a4b903a1b0b8bf673d701fa",
      "tree": "92513448a8af5e2a0b1f228310154fea14e44c2b",
      "parents": [
        "be1494527c4dea4db87749d08b09be23327157dc"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Fri Mar 05 13:42:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "uml: line.c: avoid NULL pointer dereference\n\nAssign tty only if line is not NULL.\n\n[akpm@linux-foundation.org: simplification]\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be1494527c4dea4db87749d08b09be23327157dc",
      "tree": "66b3fd4602185324a3e7a4c8234fb0d1b870925c",
      "parents": [
        "cda1c5af26a00ee31cdc5ab8321a1be7851cbfff"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Fri Mar 05 13:42:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "cris v32: typo in crisv32_arbiter_unwatch()?\n\nWith id 1 the wrong bp was unwatched.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cda1c5af26a00ee31cdc5ab8321a1be7851cbfff",
      "tree": "780496d48b6d779dc7cae7e76866e6caa2992bf8",
      "parents": [
        "ba875ba6b7cd28c5f15680ed694276510aa69970"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Fri Mar 05 13:42:32 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "cryptocop: fix assertion in create_output_descriptors()\n\nsize_t desc_len cannot be less than 0, test before the subtraction.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba875ba6b7cd28c5f15680ed694276510aa69970",
      "tree": "6811a8cb2750070fdb5aaa55ec6a117c4d9cf53c",
      "parents": [
        "56e6943b41468826c26155139629c9a5379550ab"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Mar 05 13:42:31 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "cris: convert to use arch_gettimeoffset()\n\nConvert cris to use GENERIC_TIME via the arch_getoffset() infrastructure,\nreducing the amount of arch specific code we need to maintain.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "56e6943b41468826c26155139629c9a5379550ab",
      "tree": "a108d6fc93c34ebe205734a5775be5b77a4ff0b6",
      "parents": [
        "77079dbec721a282bf0931385ae10d77cdbac5af"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Fri Mar 05 13:42:30 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:28 2010 -0800"
      },
      "message": "cpuidle menu: remove 8 bytes of padding on 64 bit builds\n\nReorder struct menu_device to remove 8 bytes of padding on 64 bit builds.\nSize drops from 136 to 128 bytes, so possibly needing one fewer cache\nlines.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77079dbec721a282bf0931385ae10d77cdbac5af",
      "tree": "7e3a0e3fe650a99b3c245ae6a951c74bf07ec211",
      "parents": [
        "6822190882ce02ae8ae135026c2b3f17c006960b"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Fri Mar 05 13:42:28 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "alpha: PTR_ERR overwrites -EINVAL in syscall osf_mount\n\nThe initial -EINVAL value is overwritten by `retval \u003d PTR_ERR(name)\u0027.  If\nthis isn\u0027t an error pointer and typenr is not 1, 6 or 9, then this retval,\na pointer cast to a long, is returned.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@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": "6822190882ce02ae8ae135026c2b3f17c006960b",
      "tree": "a8617167c9575106355d802321eccb7da121784c",
      "parents": [
        "08259d58e4fa12ceaece82193c5816152f638cca"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Mar 05 13:42:26 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "frv: remove pci_dma_sync_single() and pci_dma_sync_sg()\n\nNo architecture except for frv has pci_dma_sync_single() and\npci_dma_sync_sg().  The APIs are deprecated.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: David Howells \u003cdhowells@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": "08259d58e4fa12ceaece82193c5816152f638cca",
      "tree": "8c032914139c5aec362a73b8316cf81f020f9f8f",
      "parents": [
        "c08c6e1f54c85fc299cf9f88cf330d6dd28a9a1d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Fri Mar 05 13:42:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "mm: add comment on swap_duplicate\u0027s error code\n\nswap_duplicate()\u0027s loop appears to miss out on returning the error code\nfrom __swap_duplicate(), except when that\u0027s -ENOMEM.  In fact this is\nintentional: prior to -ENOMEM for swap_count_continuation,\nswap_duplicate() was void (and the case only occurs when copy_one_pte()\nhits a corrupt pte).  But that\u0027s surprising behaviour, which certainly\ndeserves a comment.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReported-by: Huang Shijie \u003cshijie8@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": "c08c6e1f54c85fc299cf9f88cf330d6dd28a9a1d",
      "tree": "b03659b467641e445b9f4a96423fd20ff806b7fb",
      "parents": [
        "f047f4f3792344901e1ea18a180515d7d5349e02"
      ],
      "author": {
        "name": "Steven J. Magnani",
        "email": "steve@digidescorp.com",
        "time": "Fri Mar 05 13:42:24 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "nommu: get_user_pages(): pin last page on non-page-aligned start\n\nThe noMMU version of get_user_pages() fails to pin the last page when the\nstart address isn\u0027t page-aligned.  The patch fixes this in a way that\nmakes find_extend_vma() congruent to its MMU cousin.\n\nSigned-off-by: Steven J. Magnani \u003csteve@digidescorp.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David Howells \u003cdhowells@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": "f047f4f3792344901e1ea18a180515d7d5349e02",
      "tree": "c86f3a84515c23b0abd45bb93595020297a3f934",
      "parents": [
        "478352e789f507105193d3d0177c3b4f26da0399"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Mar 05 13:42:24 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "mm: use the same log level for show_mem()\n\nUse the same log level for printk\u0027s in show_mem(), so that those messages\ncan be shown completely when using log level 6.\n\nSigned-off-by: WANG Cong \u003camwang@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": "478352e789f507105193d3d0177c3b4f26da0399",
      "tree": "c1f614f19aac209814a44611cf7a9b126fc1e493",
      "parents": [
        "645747462435d84c6c6a64269ed49cc3015f753d"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Fri Mar 05 13:42:23 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "mm: add comment about deprecation of __GFP_NOFAIL\n\n__GFP_NOFAIL was deprecated in dab48dab, so add a comment that no new\nusers should be added.\n\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "645747462435d84c6c6a64269ed49cc3015f753d",
      "tree": "4cbbddcddd429704dd4f205f6371bb329dcb0ff1",
      "parents": [
        "31c0569c3b0b6cc8a867ac6665ca081553f7984c"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Fri Mar 05 13:42:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "vmscan: detect mapped file pages used only once\n\nThe VM currently assumes that an inactive, mapped and referenced file page\nis in use and promotes it to the active list.\n\nHowever, every mapped file page starts out like this and thus a problem\narises when workloads create a stream of such pages that are used only for\na short time.  By flooding the active list with those pages, the VM\nquickly gets into trouble finding eligible reclaim canditates.  The result\nis long allocation latencies and eviction of the wrong pages.\n\nThis patch reuses the PG_referenced page flag (used for unmapped file\npages) to implement a usage detection that scales with the speed of LRU\nlist cycling (i.e.  memory pressure).\n\nIf the scanner encounters those pages, the flag is set and the page cycled\nagain on the inactive list.  Only if it returns with another page table\nreference it is activated.  Otherwise it is reclaimed as \u0027not recently\nused cache\u0027.\n\nThis effectively changes the minimum lifetime of a used-once mapped file\npage from a full memory cycle to an inactive list cycle, which allows it\nto occur in linear streams without affecting the stable working set of the\nsystem.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: OSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31c0569c3b0b6cc8a867ac6665ca081553f7984c",
      "tree": "c3d3e02f941fed0f91981d55d93540d2acaaecbd",
      "parents": [
        "dfc8d636cdb95f7b792d5ba8c9f3b295809c125d"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Fri Mar 05 13:42:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "vmscan: drop page_mapping_inuse()\n\npage_mapping_inuse() is a historic predicate function for pages that are\nabout to be reclaimed or deactivated.\n\nAccording to it, a page is in use when it is mapped into page tables OR\npart of swap cache OR backing an mmapped file.\n\nThis function is used in combination with page_referenced(), which checks\nfor young bits in ptes and the page descriptor itself for the\nPG_referenced bit.  Thus, checking for unmapped swap cache pages is\nmeaningless as PG_referenced is not set for anonymous pages and unmapped\npages do not have young ptes.  The test makes no difference.\n\nProtecting file pages that are not by themselves mapped but are part of a\nmapped file is also a historic leftover for short-lived things like the\nexec() code in libc.  However, the VM now does reference accounting and\nactivation of pages at unmap time and thus the special treatment on\nreclaim is obsolete.\n\nThis patch drops page_mapping_inuse() and switches the two callsites to\nuse page_mapped() directly.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: OSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dfc8d636cdb95f7b792d5ba8c9f3b295809c125d",
      "tree": "90070c49adb5a8833d8fc034bc94cc696797e22e",
      "parents": [
        "e7c84ee22b8321fa0130a53d4c9806474d62eff0"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Fri Mar 05 13:42:19 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:27 2010 -0800"
      },
      "message": "vmscan: factor out page reference checks\n\nThe used-once mapped file page detection patchset.\n\nIt is meant to help workloads with large amounts of shortly used file\nmappings, like rtorrent hashing a file or git when dealing with loose\nobjects (git gc on a bigger site?).\n\nRight now, the VM activates referenced mapped file pages on first\nencounter on the inactive list and it takes a full memory cycle to\nreclaim them again.  When those pages dominate memory, the system\nno longer has a meaningful notion of \u0027working set\u0027 and is required\nto give up the active list to make reclaim progress.  Obviously,\nthis results in rather bad scanning latencies and the wrong pages\nbeing reclaimed.\n\nThis patch makes the VM be more careful about activating mapped file\npages in the first place.  The minimum granted lifetime without\nanother memory access becomes an inactive list cycle instead of the\nfull memory cycle, which is more natural given the mentioned loads.\n\nThis test resembles a hashing rtorrent process.  Sequentially, 32MB\nchunks of a file are mapped into memory, hashed (sha1) and unmapped\nagain.  While this happens, every 5 seconds a process is launched and\nits execution time taken:\n\n\tpython2.4 -c \u0027import pydoc\u0027\n\told: max\u003d2.31s mean\u003d1.26s (0.34)\n\tnew: max\u003d1.25s mean\u003d0.32s (0.32)\n\n\tfind /etc -type f\n\told: max\u003d2.52s mean\u003d1.44s (0.43)\n\tnew: max\u003d1.92s mean\u003d0.12s (0.17)\n\n\tvim -c \u0027:quit\u0027\n\told: max\u003d6.14s mean\u003d4.03s (0.49)\n\tnew: max\u003d3.48s mean\u003d2.41s (0.25)\n\n\tmplayer --help\n\told: max\u003d8.08s mean\u003d5.74s (1.02)\n\tnew: max\u003d3.79s mean\u003d1.32s (0.81)\n\n\toverall hash time (stdev):\n\told: time\u003d1192.30 (12.85) thruput\u003d25.78mb/s (0.27)\n\tnew: time\u003d1060.27 (32.58) thruput\u003d29.02mb/s (0.88) (-11%)\n\nI also tested kernbench with regular IO streaming in the background to\nsee whether the delayed activation of frequently used mapped file\npages had a negative impact on performance in the presence of pressure\non the inactive list.  The patch made no significant difference in\ntiming, neither for kernbench nor for the streaming IO throughput.\n\nThe first patch submission raised concerns about the cost of the extra\nfaults for actually activated pages on machines that have no hardware\nsupport for young page table entries.\n\nI created an artificial worst case scenario on an ARM machine with\naround 300MHz and 64MB of memory to figure out the dimensions\ninvolved.  The test would mmap a file of 20MB, then\n\n  1. touch all its pages to fault them in\n  2. force one full scan cycle on the inactive file LRU\n  -- old: mapping pages activated\n  -- new: mapping pages inactive\n  3. touch the mapping pages again\n  -- old and new: fault exceptions to set the young bits\n  4. force another full scan cycle on the inactive file LRU\n  5. touch the mapping pages one last time\n  -- new: fault exceptions to set the young bits\n\nThe test showed an overall increase of 6% in time over 100 iterations\nof the above (old: ~212sec, new: ~225sec).  13 secs total overhead /\n(100 * 5k pages), ignoring the execution time of the test itself,\nmakes for about 25us overhead for every page that gets actually\nactivated.  Note:\n\n  1. File mapping the size of one third of main memory, _completely_\n  in active use across memory pressure - i.e., most pages referenced\n  within one LRU cycle.  This should be rare to non-existant,\n  especially on such embedded setups.\n\n  2. Many huge activation batches.  Those batches only occur when the\n  working set fluctuates.  If it changes completely between every full\n  LRU cycle, you have problematic reclaim overhead anyway.\n\n  3. Access of activated pages at maximum speed: sequential loads from\n  every single page without doing anything in between.  In reality,\n  the extra faults will get distributed between actual operations on\n  the data.\n\nSo even if a workload manages to get the VM into the situation of\nactivating a third of memory in one go on such a setup, it will take\n2.2 seconds instead 2.1 without the patch.\n\nComparing the numbers (and my user-experience over several months),\nI think this change is an overall improvement to the VM.\n\nPatch 1 is only refactoring to break up that ugly compound conditional\nin shrink_page_list() and make it easy to document and add new checks\nin a readable fashion.\n\nPatch 2 gets rid of the obsolete page_mapping_inuse().  It\u0027s not\nstrictly related to #3, but it was in the original submission and is a\nnet simplification, so I kept it.\n\nPatch 3 implements used-once detection of mapped file pages.\n\nThis patch:\n\nMoving the big conditional into its own predicate function makes the code\na bit easier to read and allows for better commenting on the checks\none-by-one.\n\nThis is just cleaning up, no semantics should have been changed.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: OSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7c84ee22b8321fa0130a53d4c9806474d62eff0",
      "tree": "b1cf4f6f9337af1764a0bad0af0e6bde75e573a5",
      "parents": [
        "a1b57ac061b0e348c9a878f8fa3a93a67fe6af42"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Fri Mar 05 13:42:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm: document /sys/devices/system/node/nodeX\n\nAdd a bare description of what /sys/devices/system/node/nodeX is.  Others\nwill follow in time but right now, none of that tree is documented.  The\nexistence of this file might at least encourage people to document new\nentries.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1b57ac061b0e348c9a878f8fa3a93a67fe6af42",
      "tree": "8e904d9f3c3aae08f0bc8128eef81078653f611d",
      "parents": [
        "72f0ba0252e7177965255ed2c663be126b6b5f91"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Fri Mar 05 13:42:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm: document /proc/pagetypeinfo\n\nAdd documentation for /proc/pagetypeinfo.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72f0ba0252e7177965255ed2c663be126b6b5f91",
      "tree": "2da83e883742ef4bf2d32b53805869f0ea7b3ac2",
      "parents": [
        "452aa6999e6703ffbddd7f6ea124d3968915f3e3"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Fri Mar 05 13:42:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm: suppress pfn range output for zones without pages\n\nfree_area_init_nodes() emits pfn ranges for all zones on the system.\nThere may be no pages on a higher zone, however, due to memory limitations\nor the use of the mem\u003d kernel parameter.  For example:\n\nZone PFN ranges:\n  DMA      0x00000001 -\u003e 0x00001000\n  DMA32    0x00001000 -\u003e 0x00100000\n  Normal   0x00100000 -\u003e 0x00100000\n\nThe implementation copies the previous zone\u0027s highest pfn, if any, as the\nnext zone\u0027s lowest pfn.  If its highest pfn is then greater than the\namount of addressable memory, the upper memory limit is used instead.\nThus, both the lowest and highest possible pfn for higher zones without\nmemory may be the same.\n\nThe pfn range for zones without memory is now shown as \"empty\" instead.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "452aa6999e6703ffbddd7f6ea124d3968915f3e3",
      "tree": "48e375fdb60920675f68b444b462903ad8bb6940",
      "parents": [
        "ad2bd7e0e9647cd48593a6b3a2be07dc2c2d28ed"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 05 13:42:13 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm/pm: force GFP_NOIO during suspend/hibernation and resume\n\nThere are quite a few GFP_KERNEL memory allocations made during\nsuspend/hibernation and resume that may cause the system to hang, because\nthe I/O operations they depend on cannot be completed due to the\nunderlying devices being suspended.\n\nAvoid this problem by clearing the __GFP_IO and __GFP_FS bits in\ngfp_allowed_mask before suspend/hibernation and restoring the original\nvalues of these bits in gfp_allowed_mask durig the subsequent resume.\n\n[akpm@linux-foundation.org: fix CONFIG_PM\u003dn linkage]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad2bd7e0e9647cd48593a6b3a2be07dc2c2d28ed",
      "tree": "247c1c46e4c6948d482878f1c85c99cf180ff024",
      "parents": [
        "fc148a5f7e0532750c312385c7ee9fa3e9311f34"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Fri Mar 05 13:42:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm/swapfile.c: fix swapon size off-by-one\n\nThere\u0027s an off-by-one disagreement between mkswap and swapon about the\nmeaning of swap_header last_page: mkswap (in all versions I\u0027ve looked at:\nutil-linux-ng and BusyBox and old util-linux; probably as far back as\n1999) consistently means the offset (in page units) of the last page of\nthe swap area, whereas kernel sys_swapon (as far back as 2.2 and 2.3)\nstrangely takes it to mean the size (in page units) of the swap area.\n\nThis disagreement is the safe way round; but it\u0027s worrying people, and\nloses us one page of swap.\n\nThe fix is not just to add one to nr_good_pages: we need to get maxpages\n(the size of the swap_map array) right before that; and though that is an\nunsigned long, be careful not to overflow the unsigned int p-\u003emax which\nlater holds it (probably why header uses __u32 last_page instead of size).\n\nWhy did we subtract one from the maximum swp_offset to calculate maxpages?\n Though it was probably me who made that change in 2.4.10, I don\u0027t get it:\nand now we should be adding one (without risk of overflow in this case).\n\nFix the handling of swap_header badpages: it could have overrun the\nswap_map when very large swap area used on a more limited architecture.\n\nRemove pre-initializations of swap_header, nr_good_pages and maxpages:\nthose date from when sys_swapon was supporting other versions of header.\n\nReported-by: Nitin Gupta \u003cngupta@vflare.org\u003e\nReported-by: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc148a5f7e0532750c312385c7ee9fa3e9311f34",
      "tree": "dfd132ed225a113f73c61f5e2018e5644bb3f677",
      "parents": [
        "c44b674323f4a2480dbeb65d4b487fa5f06f49e0"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Fri Mar 05 13:42:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm: remove VM_LOCK_RMAP code\n\nWhen a VMA is in an inconsistent state during setup or teardown, the worst\nthat can happen is that the rmap code will not be able to find the page.\n\nThe mapping is in the process of being torn down (PTEs just got\ninvalidated by munmap), or set up (no PTEs have been instantiated yet).\n\nIt is also impossible for the rmap code to follow a pointer to an already\nfreed VMA, because the rmap code holds the anon_vma-\u003elock, which the VMA\nteardown code needs to take before the VMA is removed from the anon_vma\nchain.\n\nHence, we should not need the VM_LOCK_RMAP locking at all.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "c44b674323f4a2480dbeb65d4b487fa5f06f49e0",
      "tree": "b753050e6752eb2fc961ad3ea5dfdf88ef88364d",
      "parents": [
        "033a64b56aed798991de18d226085dfb1ccd858d"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Fri Mar 05 13:42:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "rmap: move exclusively owned pages to own anon_vma in do_wp_page()\n\nWhen the parent process breaks the COW on a page, both the original which\nis mapped at child and the new page which is mapped parent end up in that\nsame anon_vma.  Generally this won\u0027t be a problem, but for some workloads\nit could preserve the O(N) rmap scanning complexity.\n\nA simple fix is to ensure that, when a page which is mapped child gets\nreused in do_wp_page, because we already are the exclusive owner, the page\ngets moved to our own exclusive child\u0027s anon_vma.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "033a64b56aed798991de18d226085dfb1ccd858d",
      "tree": "edf27f0868d1b16e0d1e1e41876b668d4a2f215d",
      "parents": [
        "5beb49305251e5669852ed541e8e2f2f7696c53e"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Fri Mar 05 13:42:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "rmap: remove obsolete check from __page_check_anon_rmap()\n\nWhen an anonymous page is inherited from a parent process, the\nvma-\u003eanon_vma can differ from the page anon_vma.  This can trip up\n__page_check_anon_rmap, which is indirectly called from do_swap_page().\n\nRemove that obsolete check to prevent an oops.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5beb49305251e5669852ed541e8e2f2f7696c53e",
      "tree": "46457450a22f23938b24904aeba5d4ada2f53b20",
      "parents": [
        "648bcc771145172a14bc35eeb849ed08f6aa4f1e"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Fri Mar 05 13:42:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm: change anon_vma linking to fix multi-process server scalability issue\n\nThe old anon_vma code can lead to scalability issues with heavily forking\nworkloads.  Specifically, each anon_vma will be shared between the parent\nprocess and all its child processes.\n\nIn a workload with 1000 child processes and a VMA with 1000 anonymous\npages per process that get COWed, this leads to a system with a million\nanonymous pages in the same anon_vma, each of which is mapped in just one\nof the 1000 processes.  However, the current rmap code needs to walk them\nall, leading to O(N) scanning complexity for each page.\n\nThis can result in systems where one CPU is walking the page tables of\n1000 processes in page_referenced_one, while all other CPUs are stuck on\nthe anon_vma lock.  This leads to catastrophic failure for a benchmark\nlike AIM7, where the total number of processes can reach in the tens of\nthousands.  Real workloads are still a factor 10 less process intensive\nthan AIM7, but they are catching up.\n\nThis patch changes the way anon_vmas and VMAs are linked, which allows us\nto associate multiple anon_vmas with a VMA.  At fork time, each child\nprocess gets its own anon_vmas, in which its COWed pages will be\ninstantiated.  The parents\u0027 anon_vma is also linked to the VMA, because\nnon-COWed pages could be present in any of the children.\n\nThis reduces rmap scanning complexity to O(1) for the pages of the 1000\nchild processes, with O(N) complexity for at most 1/N pages in the system.\n This reduces the average scanning cost in heavily forking workloads from\nO(N) to 2.\n\nThe only real complexity in this patch stems from the fact that linking a\nVMA to anon_vmas now involves memory allocations.  This means vma_adjust\ncan fail, if it needs to attach a VMA to anon_vma structures.  This in\nturn means error handling needs to be added to the calling functions.\n\nA second source of complexity is that, because there can be multiple\nanon_vmas, the anon_vma linking in vma_adjust can no longer be done under\n\"the\" anon_vma lock.  To prevent the rmap code from walking up an\nincomplete VMA, this patch introduces the VM_LOCK_RMAP VMA flag.  This bit\nflag uses the same slot as the NOMMU VM_MAPPED_COPY, with an ifdef in mm.h\nto make sure it is impossible to compile a kernel that needs both symbolic\nvalues for the same bitflag.\n\nSome test results:\n\nWithout the anon_vma changes, when AIM7 hits around 9.7k users (on a test\nbox with 16GB RAM and not quite enough IO), the system ends up running\n\u003e99% in system time, with every CPU on the same anon_vma lock in the\npageout code.\n\nWith these changes, AIM7 hits the cross-over point around 29.7k users.\nThis happens with ~99% IO wait time, there never seems to be any spike in\nsystem time.  The anon_vma lock contention appears to be resolved.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "648bcc771145172a14bc35eeb849ed08f6aa4f1e",
      "tree": "3cc7da55d1ca18b46cb0518b3b35c276adc0aad1",
      "parents": [
        "19adf9c5d5793657118f2002237c0ee49c3b6185"
      ],
      "author": {
        "name": "Thiago Farina",
        "email": "tfransosi@gmail.com",
        "time": "Fri Mar 05 13:42:04 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm/memcontrol.c: fix \"integer as NULL pointer\" sparse warning\n\nmm/memcontrol.c:2548:32: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Thiago Farina \u003ctfransosi@gmail.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19adf9c5d5793657118f2002237c0ee49c3b6185",
      "tree": "ed5d2bdb437253486cb803799e2f4e26e27277e6",
      "parents": [
        "0141450f66c3c12a3aaa869748caa64241885cdf"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Mar 05 13:42:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "include/linux/fs.h: convert FMODE_* constants to hex\n\nIt was tolerable until Eric went and added 8388608.\n\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0141450f66c3c12a3aaa869748caa64241885cdf",
      "tree": "cab5f621dafd1f133d915e5c60aea160438a2e11",
      "parents": [
        "42e49608683ab25fbbbf9c40edb944601e543882"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 05 13:42:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "readahead: introduce FMODE_RANDOM for POSIX_FADV_RANDOM\n\nThis fixes inefficient page-by-page reads on POSIX_FADV_RANDOM.\n\nPOSIX_FADV_RANDOM used to set ra_pages\u003d0, which leads to poor performance:\na 16K read will be carried out in 4 _sync_ 1-page reads.\n\nIn other places, ra_pages\u003d\u003d0 means\n- it\u0027s ramfs/tmpfs/hugetlbfs/sysfs/configfs\n- some IO error happened\nwhere multi-page read IO won\u0027t help or should be avoided.\n\nPOSIX_FADV_RANDOM actually want a different semantics: to disable the\n*heuristic* readahead algorithm, and to use a dumb one which faithfully\nsubmit read IO for whatever application requests.\n\nSo introduce a flag FMODE_RANDOM for POSIX_FADV_RANDOM.\n\nNote that the random hint is not likely to help random reads performance\nnoticeably.  And it may be too permissive on huge request size (its IO\nsize is not limited by read_ahead_kb).\n\nIn Quentin\u0027s report (http://lkml.org/lkml/2009/12/24/145), the overall\n(NFS read) performance of the application increased by 313%!\n\nTested-by: Quentin Barnes \u003cqbarnes+nfs@yahoo-inc.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t\t[2.6.33.x]\nCc: \u003cqbarnes+nfs@yahoo-inc.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42e49608683ab25fbbbf9c40edb944601e543882",
      "tree": "5cc8beee91f235cdaf6be986f90275e04137c2bc",
      "parents": [
        "85f1fb72fa76eabc4481dc79f42d2b011df54762"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 05 13:42:01 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "vfs: take f_lock on modifying f_mode after open time\n\nWe\u0027ll introduce FMODE_RANDOM which will be runtime modified.  So protect\nall runtime modification to f_mode with f_lock to avoid races.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t\t[2.6.33.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85f1fb72fa76eabc4481dc79f42d2b011df54762",
      "tree": "04dbf3b20c3ecb6959b0591027529d89de633a8d",
      "parents": [
        "da0aa138944311e6745a00ac3d88f03e8d9a46c4"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:42:00 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "mm/migrate.c: kill anon local variable from migrate_page_copy\n\ncommit 01b1ae63c2 (\"memcg: simple migration handling\") removed\nmem_cgroup_uncharge_cache_page() call from migrate_page_copy.  Local\nvariable `anon\u0027 is now unused.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da0aa138944311e6745a00ac3d88f03e8d9a46c4",
      "tree": "f8a88b12652fb2e4ed6775b0cc32da837ca2d949",
      "parents": [
        "d96ae5309165d9ed7c008a178238977b73595cd9"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:59 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "mm/mempolicy.c: fix indentation of the comments of do_migrate_pages\n\nCurrently, do_migrate_pages() have very long comment and this is not\nindent properly.  I often misunderstand it is function starting commnents\nand confused it.\n\nthis patch fixes it.\n\nnote: this patch doesn\u0027t break 80 column rule. I guess original\n      author intended this indentaion, but an accident corrupted it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d96ae5309165d9ed7c008a178238977b73595cd9",
      "tree": "78b169102b718a9489fcc41ad4829a646492d2fb",
      "parents": [
        "9d8cebd4bcd7c3878462fdfda34bbcdeb4df7ef4"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Mar 05 13:41:58 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "memory-hotplug: create /sys/firmware/memmap entry for new memory\n\nA memmap is a directory in sysfs which includes 3 text files: start, end\nand type.  For example:\n\nstart: \t0x100000\nend:\t0x7e7b1cff\ntype:\tSystem RAM\n\nInterface firmware_map_add was not called explicitly.  Remove it and add\nfunction firmware_map_add_hotplug as hotplug interface of memmap.\n\nEach memory entry has a memmap in sysfs, When we hot-add new memory, sysfs\ndoes not export memmap entry for it.  We add a call in function add_memory\nto function firmware_map_add_hotplug.\n\nAdd a new function add_sysfs_fw_map_entry() to create memmap entry, it\nwill be called when initialize memmap and hot-add memory.\n\n[akpm@linux-foundation.org: un-kernedoc a no longer kerneldoc comment]\nSigned-off-by: Shaohui Zheng \u003cshaohui.zheng@intel.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d8cebd4bcd7c3878462fdfda34bbcdeb4df7ef4",
      "tree": "0f0a6dadb4430aef18f1491003d70d9351d7b619",
      "parents": [
        "93e4a89a8c987189b168a530a331ef6d0fcf07a7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "mm: fix mbind vma merge problem\n\nStrangely, current mbind() doesn\u0027t merge vma with neighbor vma although it\u0027s possible.\nUnfortunately, many vma can reduce performance...\n\nThis patch fixes it.\n\n    reproduced program\n    ----------------------------------------------------------------\n     #include \u003cnumaif.h\u003e\n     #include \u003cnuma.h\u003e\n     #include \u003csys/mman.h\u003e\n     #include \u003cstdio.h\u003e\n     #include \u003cunistd.h\u003e\n     #include \u003cstdlib.h\u003e\n     #include \u003cstring.h\u003e\n\n    static unsigned long pagesize;\n\n    int main(int argc, char** argv)\n    {\n    \tvoid* addr;\n    \tint ch;\n    \tint node;\n    \tstruct bitmask *nmask \u003d numa_allocate_nodemask();\n    \tint err;\n    \tint node_set \u003d 0;\n    \tchar buf[128];\n\n    \twhile ((ch \u003d getopt(argc, argv, \"n:\")) !\u003d -1){\n    \t\tswitch (ch){\n    \t\tcase \u0027n\u0027:\n    \t\t\tnode \u003d strtol(optarg, NULL, 0);\n    \t\t\tnuma_bitmask_setbit(nmask, node);\n    \t\t\tnode_set \u003d 1;\n    \t\t\tbreak;\n    \t\tdefault:\n    \t\t\t;\n    \t\t}\n    \t}\n    \targc -\u003d optind;\n    \targv +\u003d optind;\n\n    \tif (!node_set)\n    \t\tnuma_bitmask_setbit(nmask, 0);\n\n    \tpagesize \u003d getpagesize();\n\n    \taddr \u003d mmap(NULL, pagesize*3, PROT_READ|PROT_WRITE,\n    \t\t    MAP_ANON|MAP_PRIVATE, 0, 0);\n    \tif (addr \u003d\u003d MAP_FAILED)\n    \t\tperror(\"mmap \"), exit(1);\n\n    \tfprintf(stderr, \"pid \u003d %d \\n\" \"addr \u003d %p\\n\", getpid(), addr);\n\n    \t/* make page populate */\n    \tmemset(addr, 0, pagesize*3);\n\n    \t/* first mbind */\n    \terr \u003d mbind(addr+pagesize, pagesize, MPOL_BIND, nmask-\u003emaskp,\n    \t\t    nmask-\u003esize, MPOL_MF_MOVE_ALL);\n    \tif (err)\n    \t\terror(\"mbind1 \");\n\n    \t/* second mbind */\n    \terr \u003d mbind(addr, pagesize*3, MPOL_DEFAULT, NULL, 0, 0);\n    \tif (err)\n    \t\terror(\"mbind2 \");\n\n    \tsprintf(buf, \"cat /proc/%d/maps\", getpid());\n    \tsystem(buf);\n\n    \treturn 0;\n    }\n    ----------------------------------------------------------------\n\nresult without this patch\n\n\taddr \u003d 0x7fe26ef09000\n\t[snip]\n\t7fe26ef09000-7fe26ef0a000 rw-p 00000000 00:00 0\n\t7fe26ef0a000-7fe26ef0b000 rw-p 00000000 00:00 0\n\t7fe26ef0b000-7fe26ef0c000 rw-p 00000000 00:00 0\n\t7fe26ef0c000-7fe26ef0d000 rw-p 00000000 00:00 0\n\n\t\u003d\u003e 0x7fe26ef09000-0x7fe26ef0c000 have three vmas.\n\nresult with this patch\n\n\taddr \u003d 0x7fc9ebc76000\n\t[snip]\n\t7fc9ebc76000-7fc9ebc7a000 rw-p 00000000 00:00 0\n\t7fffbe690000-7fffbe6a5000 rw-p 00000000\t00:00 0\t[stack]\n\n\t\u003d\u003e 0x7fc9ebc76000-0x7fc9ebc7a000 have only one vma.\n\n[minchan.kim@gmail.com: fix file offset passed to vma_merge()]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93e4a89a8c987189b168a530a331ef6d0fcf07a7",
      "tree": "deb08017c0e4874539549d3ea9bf2d7b447a43be",
      "parents": [
        "fc91668eaf9e7ba61e867fc2218b7e9fb67faa4f"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "mm: restore zone-\u003eall_unreclaimable to independence word\n\ncommit e815af95 (\"change all_unreclaimable zone member to flags\") changed\nall_unreclaimable member to bit flag.  But it had an undesireble side\neffect.  free_one_page() is one of most hot path in linux kernel and\nincreasing atomic ops in it can reduce kernel performance a bit.\n\nThus, this patch revert such commit partially. at least\nall_unreclaimable shouldn\u0027t share memory word with other zone flags.\n\n[akpm@linux-foundation.org: fix patch interaction]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Huang Shijie \u003cshijie8@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": "fc91668eaf9e7ba61e867fc2218b7e9fb67faa4f",
      "tree": "08d443d76255e8d60ae6ba07d52cdc295172ded8",
      "parents": [
        "c475dab63ae798d81fb597a6a1859986b296d9d0"
      ],
      "author": {
        "name": "Li Hong",
        "email": "lihong.hi@gmail.com",
        "time": "Fri Mar 05 13:41:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:25 2010 -0800"
      },
      "message": "mm: remove free_hot_page()\n\nfree_hot_page() is just a wrapper around free_hot_cold_page() with\nparameter \u0027cold \u003d 0\u0027.  After adding a clear comment for\nfree_hot_cold_page(), it is reasonable to remove a level of call.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Li Hong \u003clihong.hi@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@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": "c475dab63ae798d81fb597a6a1859986b296d9d0",
      "tree": "f2c18302f0fa261b0e82b4bf91bce48fe96209fb",
      "parents": [
        "f650316c8b80fe61a31b8b575405b37cbf170459"
      ],
      "author": {
        "name": "Li Hong",
        "email": "lihong.hi@gmail.com",
        "time": "Fri Mar 05 13:41:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm/page_alloc.c: adjust a call site to trace_mm_page_free_direct\n\nMove a call of trace_mm_page_free_direct() from free_hot_page() to\nfree_hot_cold_page().  It is clearer and close to kmemcheck_free_shadow(),\nas it is done in function __free_pages_ok().\n\nSigned-off-by: Li Hong \u003clihong.hi@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f650316c8b80fe61a31b8b575405b37cbf170459",
      "tree": "6526cb3de41384eeea81e18b640396138371fbb4",
      "parents": [
        "76ca542d880ebe59a7a03c1597e73e1ded271857"
      ],
      "author": {
        "name": "Li Hong",
        "email": "lihong.hi@gmail.com",
        "time": "Fri Mar 05 13:41:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm/page_alloc.c: remove duplicate call to trace_mm_page_free_direct\n\ntrace_mm_page_free_direct() is called in function __free_pages().  But it\nis called again in free_hot_page() if order \u003d\u003d 0 and produce duplicate\nrecords in trace file for mm_page_free_direct event.  As below:\n\nK-PID    CPU#    TIMESTAMP  FUNCTION\n  gnome-terminal-1567  [000]  4415.246466: mm_page_free_direct: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0\n  gnome-terminal-1567  [000]  4415.246468: mm_page_free_direct: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0\n  gnome-terminal-1567  [000]  4415.246506: mm_page_alloc: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0 migratetype\u003d0 gfp_flags\u003dGFP_KERNEL\n  gnome-terminal-1567  [000]  4415.255557: mm_page_free_direct: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0\n  gnome-terminal-1567  [000]  4415.255557: mm_page_free_direct: page\u003dffffea0003db9f40 pfn\u003d1155800 order\u003d0\n\nThis patch removes the first call and adds a call to\ntrace_mm_page_free_direct() in __free_pages_ok().\n\nSigned-off-by: Li Hong \u003clihong.hi@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76ca542d880ebe59a7a03c1597e73e1ded271857",
      "tree": "d5e1a5dc88150ccbfeba811769ac066021b3041b",
      "parents": [
        "84b18490d1f1bc7ed5095c929f78bc002eb70f26"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm, lockdep: annotate reclaim context to zone reclaim too\n\nCommit cf40bd16fd (\"lockdep: annotate reclaim context\") introduced reclaim\ncontext annotation.  But it didn\u0027t annotate zone reclaim.  This patch do\nit.\n\nThe point is, commit cf40bd16fd annotate __alloc_pages_direct_reclaim but\nzone-reclaim doesn\u0027t use __alloc_pages_direct_reclaim.\n\ncurrent call graph is\n\n__alloc_pages_nodemask\n   get_page_from_freelist\n       zone_reclaim()\n   __alloc_pages_slowpath\n       __alloc_pages_direct_reclaim\n           try_to_free_pages\n\nActually, if zone_reclaim_mode\u003d1, VM never call\n__alloc_pages_direct_reclaim in usual VM pressure.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84b18490d1f1bc7ed5095c929f78bc002eb70f26",
      "tree": "2543443925b2852436979d4bdf18d916a6b5c11e",
      "parents": [
        "45973d74fd3b1e3e16c025b688a725c7653b1443"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "vmscan: get_scan_ratio() cleanup\n\nThe get_scan_ratio() should have all scan-ratio related calculations.\nThus, this patch move some calculation into get_scan_ratio.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45973d74fd3b1e3e16c025b688a725c7653b1443",
      "tree": "79b002bf8da8807a4d82314426611ca2109f83e8",
      "parents": [
        "59e99e5b9706867f18d4a36c1e4645fbaacbec2e"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Fri Mar 05 13:41:45 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "vmscan: check high watermark after shrink zone\n\nKswapd checks that zone has sufficient pages free via zone_watermark_ok().\n\nIf any zone doesn\u0027t have enough pages, we set all_zones_ok to zero.\n!all_zone_ok makes kswapd retry rather than sleeping.\n\nI think the watermark check before shrink_zone() is pointless.  Only after\nkswapd has tried to shrink the zone is the check meaningful.\n\nMove the check to after the call to shrink_zone().\n\n[akpm@linux-foundation.org: fix comment, layout]\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59e99e5b9706867f18d4a36c1e4645fbaacbec2e",
      "tree": "e977fb5eecccf1446296fd196072bd1287b0a92f",
      "parents": [
        "06f9d8c2b50060543fb6e0af87ddb86e654dee6b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:41:44 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: use rlimit helpers\n\nMake sure compiler won\u0027t do weird things with limits.  E.g.  fetching them\ntwice may return 2 different values after writable limits are implemented.\n\nI.e.  either use rlimit helpers added in\n3e10e716abf3c71bdb5d86b8f507f9e72236c9cd (\"resource: add helpers for\nfetching rlimits\") or ACCESS_ONCE if not applicable.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06f9d8c2b50060543fb6e0af87ddb86e654dee6b",
      "tree": "0e0f7687c58e0948334f238208529d65de165eea",
      "parents": [
        "c58267c32429ea6535428ca6b8a036892c1697f2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:43 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: mlock_vma_pages_range() only return success or failure\n\nCurrently, mlock_vma_pages_range() only return len or 0.  then current\nerror handling of mmap_region() is meaningless complex.\n\nThis patch makes simplify and makes consist with brk() code.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamewzawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c58267c32429ea6535428ca6b8a036892c1697f2",
      "tree": "c763a26e45a38b2115a2e09eb01b254284c1198b",
      "parents": [
        "b084d4353ff99d824d3bc5a5c2c22c70b1fba722"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:43 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: mlock_vma_pages_range() never return negative value\n\nCurrently, mlock_vma_pages_range() never return negative value.  Then, we\ncan remove some worthless error check.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamewzawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "b084d4353ff99d824d3bc5a5c2c22c70b1fba722"
}
