)]}'
{
  "log": [
    {
      "commit": "9f4123b78d02ba48e7e6e3cd9de789c9b85b557a",
      "tree": "0faf7f318bd90af043c8e9e056697ca38a1281e4",
      "parents": [
        "337bbfdbffa5c893e80f96a3bf117743ceb0fefc"
      ],
      "author": {
        "name": "Maurus Cuelenaere",
        "email": "mcuelenaere@gmail.com",
        "time": "Mon May 24 14:33:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "s3c rtc driver: add support for S3C64xx\n\nAdd support for the S3C64xx SoC to the generic S3C RTC driver.\n\nSigned-off-by: Maurus Cuelenaere \u003cmcuelenaere@gmail.com\u003e\nAcked-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: Paul Gortmaker \u003cp_gortmaker@yahoo.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "337bbfdbffa5c893e80f96a3bf117743ceb0fefc",
      "tree": "b0540b7ca177ba6821aed1c45108d5fd53ffc6ca",
      "parents": [
        "f3bc3189a001ec85c7b1119ad4aa5e39eea0f05e"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Mon May 24 14:33:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "smbfs: remove duplicated #include\n\nRemove duplicated #include(\u0027s) in fs/smbfs/symlink.c\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@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": "f3bc3189a001ec85c7b1119ad4aa5e39eea0f05e",
      "tree": "952cc9922d06af94491ecee754d4d24f9b1e2312",
      "parents": [
        "a321cedb12904114e2ba5041a3673ca24deb09c9"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon May 24 14:33:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "xen: fix build when SYSRQ is disabled\n\nFix build error when CONFIG_MAGIC_SYSRQ is not enabled:\n\ndrivers/xen/manage.c:223: error: implicit declaration of function \u0027handle_sysrq\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a321cedb12904114e2ba5041a3673ca24deb09c9",
      "tree": "43481f2751380094a9873b3b474ae6e7e0019167",
      "parents": [
        "5db47b009d17d69a2f8d84357e7b24c3e3c2edec"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Mon May 24 14:33:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "drivers/hwmon/coretemp.c: get TjMax value from MSR\n\nThe MSR IA32_TEMPERATURE_TARGET contains the TjMax value in the newer\nIntel processors.\n\nSigned-off-by: Huaxu Wan \u003chuaxu.wan@linux.intel.com\u003e\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Yong Wang \u003cyong.y.wang@linux.intel.com\u003e\nCc: Rudolf Marek \u003cr.marek@assembler.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5db47b009d17d69a2f8d84357e7b24c3e3c2edec",
      "tree": "e2b4b84a7a24bc5eb02581bec4f4fa623d046406",
      "parents": [
        "e0c70b80786296d4f3c35ebe0d52591cebf8f916"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Mon May 24 14:33:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "drivers/hwmon/coretemp.c: detect the thermal sensors by CPUID\n\nThe thermal sensors of Intel(R) CPUs can be detected by CPUID instruction,\nindicated by CPUID.06H.EAX[0].\n\nSigned-off-by: Huaxu Wan \u003chuaxu.wan@linux.intel.com\u003e\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nReviewed-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Yong Wang \u003cyong.y.wang@linux.intel.com\u003e\nCc: Rudolf Marek \u003cr.marek@assembler.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0c70b80786296d4f3c35ebe0d52591cebf8f916",
      "tree": "a7d5193ceb5fed6a2a6647f592912ebeda497602",
      "parents": [
        "4a70a413ccfd1c14ef29a290a4d2dada04ccbefb"
      ],
      "author": {
        "name": "Paul Thomas",
        "email": "pthomas8589@gmail.com",
        "time": "Mon May 24 14:33:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "hwmon: add TI ads7871 a/d converter driver\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Paul Thomas \u003cpthomas8589@gmail.com\u003e\nCc: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a70a413ccfd1c14ef29a290a4d2dada04ccbefb",
      "tree": "ea7469bf991203140efa981788c2bfe6923258b1",
      "parents": [
        "6d94d4081048756df78444a07201156f4930fe48"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon May 24 14:33:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "lis3: setup poll interval limits\n\nSet valid adjustment window (0 - 2000ms).\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nCc: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d94d4081048756df78444a07201156f4930fe48",
      "tree": "7bfecedff2b04284ab45764d0ce6ec183a6594b3",
      "parents": [
        "92ba4fe4b53b4fa5ac71ec4d80572348fca85796"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon May 24 14:33:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "lis3: interrupt handlers for 8bit wakeup and click events\n\nContent for the 8bit device threaded interrupt handlers.  Depending on the\ninterrupt line and chip configuration, either click or wakeup / freefall\nhandler is called.  In case of click, BTN_ event is sent via input device.\n In case of wakeup or freefall, input device ABS_ events are updated\nimmediatelly.\n\nIt is still possible to configure interrupt line 1 for fast freefall\ndetection and use the second line either for click or threshold based\ninterrupts.  Or both lines can be used for click / threshold interrupts.\n\nPolled input device can be set to stopped state and still get coordinate\nupdates via input device using interrupt based method.  Polled mode and\ninterrupt mode can also be used parallel.\n\nBTN_ events are remapped based on existing axis remapping information.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nCc: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92ba4fe4b53b4fa5ac71ec4d80572348fca85796",
      "tree": "c18630d8aac05eacd7320bee91a40d101d72cf5c",
      "parents": [
        "342c5f128140d54961c435d1702eadcaba97a37a"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon May 24 14:33:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "lis3: add skeletons for interrupt handlers\n\nOriginal lis3 driver didn\u0027t provide interrupt handler(s) for click or\nthreshold event handling.  This patch adds threaded handlers for one or\ntwo interrupt lines for 8 bit device.  Actual content for interrupt\nhandling is provided in the separate patch.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nTested-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "342c5f128140d54961c435d1702eadcaba97a37a",
      "tree": "884b712d67b3319c9d8d747d5dd0cd5e0234f842",
      "parents": [
        "ecc437aeee65afeea2e1bed963ccf6c384c555ea"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon May 24 14:33:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "lis3: introduce platform data for second ff / wu unit\n\n8 bit device has two wakeup / free fall units.  It was not possible to\nconfigure the second unit.  This patch introduces configuration entry to\nthe platform data and also corresponding changes to the 8 bit setup\nfunction.\n\nHigh pass filters were enabled by default.  Patch introduces configuration\noption for high pass filter cut off frequency and also possibility to\ndisable or enable the filter via platform data.  Since the control is a\nnew one and default state was filter enabled, new option is used to\ndisable the filter.  This way old platform data is still compatible with\nthe change.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nTested-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecc437aeee65afeea2e1bed963ccf6c384c555ea",
      "tree": "583091c4dc2c01e4de7d936d492a5cf7cc35b336",
      "parents": [
        "58e814227de9e8b5a4a50fb8018a770de9e974a0"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon May 24 14:33:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "lis3: separate configuration function for 8 bit device\n\nSeparate configuration function for 8 bit version of the chip.  This way\ngeneric part of the init function stays little bit more readable.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nTested-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58e814227de9e8b5a4a50fb8018a770de9e974a0",
      "tree": "ecd88204d4b8baa99e73780bf5b41fd36a3c9a3e",
      "parents": [
        "4762bbc1a3a1f22095278b74dd1b8cee04858641"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon May 24 14:33:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "lis3: add missing constants for 8bit device\n\nDefinitions for click were missing.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nTested-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4762bbc1a3a1f22095278b74dd1b8cee04858641",
      "tree": "d80314902f759a2ee1f6bb25384956021c4b2d04",
      "parents": [
        "836e2af92503f1642dbc3c3281ec68ec1dd39d2e"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Mon May 24 14:33:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "crc32: use __BYTE_ORDER macro for endian detection.\n\nSince crc32.c contains a nifty test program that can be executed in user\nspace, make sure endian detection works reliably in user space too.\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "836e2af92503f1642dbc3c3281ec68ec1dd39d2e",
      "tree": "8b68f906e1ca6f39d159f306623da86f4e02f8cb",
      "parents": [
        "d4977c78e9c7dd042f96f4a21d957bc25a561333"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Mon May 24 14:33:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "crc32: major optimization\n\nPrecompute more crc32 values(0xcc00, 0xcc0000 and 0xcc000000) into tables.\n This increases the table size from 1KB to 4KB but the performance benfit\nmakes it worth it:\n\n28% faster on MPC8321, 266 MHz\n2x faster on Core 2 Duo, 3.1GHz\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4977c78e9c7dd042f96f4a21d957bc25a561333",
      "tree": "19a50489a8d974b4841edde9e92aae7ec147756a",
      "parents": [
        "3354957a4f8b9bb4b43625232acdf0626851c82f"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Mon May 24 14:33:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "checkpatch: warn on declaration with storage class not at the beginning\n\nThe C99 specification states in section 6.11.5:\n\nThe placement of a storage-class specifier other than at the beginning\nof the declaration specifiers in a declaration is an obsolescent\nfeature.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3354957a4f8b9bb4b43625232acdf0626851c82f",
      "tree": "8b6b363e9114611a3261c600f937bce75c81cbdd",
      "parents": [
        "965fd9e9a2d6d0a2704815e4579008a9f65282a0"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon May 24 14:33:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "checkpatch: add check for too short Kconfig descriptions\n\nI\u0027ve seen various new Kconfigs with rather unhelpful one liner\ndescriptions.  Add a Kconfig warning for a minimum length of the Kconfig\nhelp section.\n\nRight now I arbitarily chose 4. The exact value can be debated.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "965fd9e9a2d6d0a2704815e4579008a9f65282a0",
      "tree": "221129eef9114c022ccbd397d2519130cc776439",
      "parents": [
        "26355387c21accb0919d34ee59478c23b2030ee5"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "drivers: acpi: don\u0027t use own implementation of hex_to_bin()\n\nRemove own implementation of hex_to_bin().\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nCc: Len Brown \u003clenb@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": "26355387c21accb0919d34ee59478c23b2030ee5",
      "tree": "c6acac2eaf2ebe9f95cbd560e2e3ed279eab59b7",
      "parents": [
        "91f06e66805dd94825885b3ec392c693fe9ef4d9"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "drivers: wireless: use new hex_to_bin() method\n\nInstead of using own implementation involve hex_to_bin() function.\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nAcked-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91f06e66805dd94825885b3ec392c693fe9ef4d9",
      "tree": "047e315e863085b74413af3534a8c682a3bcedc5",
      "parents": [
        "1356de06cea80ffc84cde6a4f8779414f20f211e"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "fs: ldm: don\u0027t use own implementation of hex_to_bin()\n\nRemove own implementation of hex_to_bin().\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nCc: \"Richard Russon (FlatCap)\" \u003cldm@flatcap.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1356de06cea80ffc84cde6a4f8779414f20f211e",
      "tree": "2c39819abf41a97fd332f9e77df8fd5a3c3b5f23",
      "parents": [
        "69e4469a39b67e9923731d5d77d45c04837d5def"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "staging: rt2860: use new hex_to_bin() method\n\nInstead of using own implementation involve hex_to_bin() function.\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69e4469a39b67e9923731d5d77d45c04837d5def",
      "tree": "76c28eba265c6d8b44e31ab7cc16c5940b9f221a",
      "parents": [
        "96b89f323d6af996a7f6bd84d2119cbf7145f9a4"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "sysctl: don\u0027t use own implementation of hex_to_bin()\n\nRemove own implementation of hex_to_bin().\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96b89f323d6af996a7f6bd84d2119cbf7145f9a4",
      "tree": "b709a9586f1be9f4fb06797e354b2bc316f6152c",
      "parents": [
        "0496b55c56d0be80e27f417f66690d97e5370f86"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "usb: atm: speedtch: use new hex_to_bin() method\n\nInstead of using own implementation which potentialy has bugs involve\nhex_to_bin() function.  It requires to have hex_to_bin() implementation\nintroduced by starter patch in series.\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nCc: Duncan Sands \u003cduncan.sands@free.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0496b55c56d0be80e27f417f66690d97e5370f86",
      "tree": "312292995523258b5321f205f5d705a0ca148f15",
      "parents": [
        "903788892ea0fc7fcaf7e8e5fac9a77379fc215b"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "drivers: isdn: use new hex_to_bin() method\n\nRemove own implementation of hex_to_bin().\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nAcked-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "903788892ea0fc7fcaf7e8e5fac9a77379fc215b",
      "tree": "6945c6e623bf6fec7cdcd895a881c4d5bf405fa6",
      "parents": [
        "db0fd97c270f1e80321f7ae55234643ca0978c54"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "lib: introduce common method to convert hex digits\n\nhex_to_bin() is a little method which converts hex digit to its actual\nvalue.  There are plenty of places where such functionality is needed.\n\n[akpm@linux-foundation.org: use tolower(), saving 3 bytes, test the more common case first - it\u0027s quicker]\n[akpm@linux-foundation.org: relocate tolower to make it even faster! (Joe)]\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nCc: Tilman Schmidt \u003ctilman@imap.cc\u003e\nCc: Duncan Sands \u003cduncan.sands@free.fr\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: \"Richard Russon (FlatCap)\" \u003cldm@flatcap.org\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: 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": "db0fd97c270f1e80321f7ae55234643ca0978c54",
      "tree": "1f825911c8c036e24b457873c74f8e9d16830775",
      "parents": [
        "2b2f68b5383ea107295d7f1483256866e2daa1e3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 24 14:33:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "lib/hexdump.c: reduce stack variable size and cleanups\n\nReduce char linebuf[200] to the actual size required., which is 32 * 3 + 2\n+ 32 + 1, ie: linebuf[131].\n\nChange examples to use bool true not int 1.\n\nAlign multiline argument indentation to open parenthesis.\n\nUse temporary for ptr[j] so trigraph fits on single line.\n\nConvert printk ptr from %*p, (int)(2 * sizeof(void *)) to %p as %p uses\nthe same calculation for size.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b2f68b5383ea107295d7f1483256866e2daa1e3",
      "tree": "ab643941ab96fce48117479d321adfa3d9510d23",
      "parents": [
        "ea46c8f774f295c45fac48101d54be347d3d453b"
      ],
      "author": {
        "name": "Florian Ragwitz",
        "email": "rafl@debian.org",
        "time": "Mon May 24 14:33:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "DYNAMIC_DEBUG: fix documentation errors\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Florian Ragwitz \u003crafl@debian.org\u003e\nCc: Jason Baron \u003cjbaron@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": "ea46c8f774f295c45fac48101d54be347d3d453b",
      "tree": "6a0bc2476e82be68b66cad2b77075e4f36beb1ea",
      "parents": [
        "0fa05599009ed36304d490064888d0252d656add"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon May 24 14:33:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "dynamic_debug: small cleanup in ddebug_proc_write()\n\nThis doesn\u0027t change behavior at all.  In the original code, if nwords was\nzero then ddebug_parse_query() would return -EINVAL, now we just do it\nearlier.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@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": "0fa05599009ed36304d490064888d0252d656add",
      "tree": "02035689abffffbf9a461df172dfb05049e2bc24",
      "parents": [
        "368669da205cd7aac33a2c75f4c81b5ad28efd67"
      ],
      "author": {
        "name": "Florian Mickler",
        "email": "florian@mickler.org",
        "time": "Mon May 24 14:33:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "scripts/get_maintainer.pl: default to not include unspecified tags\n\nThis changes the default of the option --git-all-signature-types to be\ndisabled by default.\n\nThe effect being, that only certain (currently Signed-Off-By:, Acked-by:\nand Reviewed-By:) tags are used to get adresses of potential maintainers.\n\nMotivated is this change by the desire to not \u0027spam\u0027 people unnecessary: A\nTested-By or a Reported-By is not ment as a hint that those people want\nto/are able to review patches to the code in question.\n\nIn a quest to find resilient statistics for this i came up with this:\n\nI produced a list of all the tag-signers not already covered with a\nsigned-off/acked/reviewed tag somewhere in the last year of git history.\n\nThose were 650 addresses of \"assumed non-developers\".\n\nAnd to check if those \"assumed non-developers\" are professional\ntesters/reporters worth cc\u0027ing, i then counted their total appearences\nin the git log:\n\n469 were mentioned only once.\n123 were mentioned twice.\n38 three times\n8 four times\n5 six times\n5 five times\n1 eight times\n1 fourteen times\n\nI believe this supports my thesis, that the \u0027\u0027non-maintainer-tags\u0027\u0027 are\nnot actively useful for patch-review.  (except probably the guy mentioned\nfourteen times...)\n\nBut of course one could also find arguments to poke holes in this\nstatistics, for example does this statistic not include code-locality: A\ntested-by on a patch that touches some specific piece of code can be more\nworth than a signed-off in another part of the tree.\n\nBut...  let\u0027s play it safe and let\u0027s err on the \"safe\" side meaning to not\nspam those people when in doubt.  We already have the signed-off\u0027s and\nMaintainers file.  So this should be ok.  And if need be, the maintainers\ncan always forward the patch.\n\n[i probably could make a diploma thesis out of this changelog :)]\n\nSigned-off-by: Florian Mickler \u003cflorian@mickler.org\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: 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": "368669da205cd7aac33a2c75f4c81b5ad28efd67",
      "tree": "4a11753da992d3bc158191bfd4712061eee0f399",
      "parents": [
        "e4d26b027a0b7e289fdc542fe06535329b457dd5"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 24 14:33:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "scripts/get_maintainer.pl: add .get_maintainer.conf default options file\n\nAllow the use of a .get_maintainer.conf file to control the default\noptions applied when scripts/get_maintainer.pl is run.\n\n.get_maintainer.conf can contain any valid command-line argument.\n\nFile contents are prepended to any additional command line arguments.\n\nMultiple lines may be used, blank lines ignored, # is a comment.\n\nUpdated scripts/get_maintainer.pl version to 0.24\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nReviewed-by: Florian Mickler \u003cflorian@mickler.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4d26b027a0b7e289fdc542fe06535329b457dd5",
      "tree": "f2ba7e1816f492533fcbf08809a463057b2485f2",
      "parents": [
        "cf3b429b03e827c718030f42e7e3ceaca980475e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 24 14:33:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "scripts/get_maintainer.pl: optionally ignore non-maintainer signatures\n\nWhen using --git to determine who to send a patch to, get_maintainers will\ncurrently include all signatures.  This can include signers that simply\nreport an issue or test a patch.  Signers that use this tag are not\nnecessarily good candidates to review new patches.\n\nThis patch allows get_maintainers to optionally restrict output to only\nsignatures that use Signed-off-by:, Acked-by:, or Reviewed-by:.\n\nSigned-off-by: is included because those are people who are responsible\nfor the code.\n\nAcked-by: is questionable, but as signers that use this tag tend to be\nactive linux gatekeepers, false positives are tolerable.\n\nReviewed-by: is included because signers responsible for the code thought\nthat the review feedback for a changeset by that signer was valuable.\n\nThis patch has been modified from Florian\u0027s original submission to change\nthe supported signature types to the canonical forms and use slightly\ndifferent spacing.  A couple of spacing issues were also corrected in the\noriginal source.  The command line argument was also renamed.\n\nOriginal-patch-by: Florian Mickler \u003cflorian@mickler.org\u003e\nSigned-off-by: Florian Mickler \u003cflorian@mickler.org\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": "cf3b429b03e827c718030f42e7e3ceaca980475e",
      "tree": "d4d68bdb766f3bd3882dc8f38b2447cfd1dc7419",
      "parents": [
        "59592d0ccc0000d74ea5fc2a59e3ec0c9ef1fb13"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 24 14:33:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "vsprintf.c: use noinline_for_stack\n\nMark static functions with noinline_for_stack\n\nBefore:\n\n  akpm:/usr/src/25\u003e objdump -d lib/vsprintf.o | perl scripts/checkstack.pl\n  0x00000e82 pointer [vsprintf.o]:                        344\n  0x0000198c pointer [vsprintf.o]:                        344\n  0x000025d6 scnprintf [vsprintf.o]:                      216\n  0x00002648 scnprintf [vsprintf.o]:                      216\n  0x00002565 snprintf [vsprintf.o]:                       208\n  0x0000267c sprintf [vsprintf.o]:                        208\n  0x000030a3 bprintf [vsprintf.o]:                        208\n  0x00003b1e sscanf [vsprintf.o]:                         208\n  0x00000608 number [vsprintf.o]:                         136\n  0x00000937 number [vsprintf.o]:                         136\n\nAfter:\n\n  akpm:/usr/src/25\u003e objdump -d lib/vsprintf.o | perl scripts/checkstack.pl\n  0x00000a7c symbol_string [vsprintf.o]:                  248\n  0x00000ae8 symbol_string [vsprintf.o]:                  248\n  0x00002310 scnprintf [vsprintf.o]:                      216\n  0x00002382 scnprintf [vsprintf.o]:                      216\n  0x0000229f snprintf [vsprintf.o]:                       208\n  0x000023b6 sprintf [vsprintf.o]:                        208\n  0x00002ddd bprintf [vsprintf.o]:                        208\n  0x00003858 sscanf [vsprintf.o]:                         208\n  0x00000625 number [vsprintf.o]:                         136\n  0x00000954 number [vsprintf.o]:                         136\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\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": "59592d0ccc0000d74ea5fc2a59e3ec0c9ef1fb13",
      "tree": "7a871ad14dfd9e438684787332663fba6f4db7ed",
      "parents": [
        "c74cba610c9559e72377fd9725a3d329581aa256"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon May 24 14:33:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "ad525x_dpot: add support for one time programmable pots\n\nNew parts supported:\n\tAD5170, AD5171, AD5172, AD5173, AD5273\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c74cba610c9559e72377fd9725a3d329581aa256",
      "tree": "07d19e28be3c83eac3d6175c7b91b966bb28f69a",
      "parents": [
        "e3ae68476ce0636554b5d95a33777f80ba407dc0"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon May 24 14:33:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "ad525x_dpot: add support for ADN2860 and AD528x pots\n\nNew parts supported:\n\tAD5280, AD5282, ADN2860\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3ae68476ce0636554b5d95a33777f80ba407dc0",
      "tree": "3aa1fbefa2d573e1830914fe899f79caf90157d8",
      "parents": [
        "6c536e4ce8edd61fdc4ab68e19ae164a54fc958f"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon May 24 14:33:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "ad525x_dpot: add support for AD524x pots\n\nNew parts supported:\n\tAD5241, AD5242, AD5243, AD5245, AD5246, AD5247, AD5248\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c536e4ce8edd61fdc4ab68e19ae164a54fc958f",
      "tree": "1d09ef6de4c04a4bd597b060d668fce2eac14681",
      "parents": [
        "0c53b9fbcca8870e4f4b248f4ed5fdadd43a01b6"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon May 24 14:33:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "ad525x_dpot: add support for SPI parts\n\nSplit the bus logic out into separate files so that we can handle I2C and\nSPI busses independently.  The new SPI bus logic brings in support for a\nlot more parts:\n\n\tAD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203,\n\tAD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,\n\tAD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,\n\tAD7376, AD8400, AD8402, AD8403, ADN2850\n\n[randy.dunlap@oracle.com: fix ad525X_dpot build]\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c53b9fbcca8870e4f4b248f4ed5fdadd43a01b6",
      "tree": "8577164ee5038cff73eb9711fa24f4b3c0771c32",
      "parents": [
        "0993dbedf2cc2f5fd0701fa3b27afdd303536b87"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon May 24 14:33:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "ad525x_dpot: extend write argument to 16bits\n\nThe possible output data is 16bits, not 8bits, so don\u0027t truncate it.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0993dbedf2cc2f5fd0701fa3b27afdd303536b87",
      "tree": "6ba120759da8e61240062e341d5a9533013a8c2b",
      "parents": [
        "7d52669b14e36f8365070324be009486d387ad00"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon May 24 14:33:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "ad525x_dpot: simplify duplicated sysfs defines\n\nMacro away the duplication to make maintenance easier.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d52669b14e36f8365070324be009486d387ad00",
      "tree": "ed8965175a485f340f3061855773ca34f1e4f586",
      "parents": [
        "aaa04b4875f30659a0eb429e0e5203ae7fb7b18e"
      ],
      "author": {
        "name": "Wenji Huang",
        "email": "wenji.huang@oracle.com",
        "time": "Mon May 24 14:33:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "module: remove duplicate declaration of __ksymtab_gpl_future\n\nMinor cleanup on duplicate __{start/stop}__ksymtab_gpl_future.\n\nSigned-off-by: Wenji Huang \u003cwenji.huang@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aaa04b4875f30659a0eb429e0e5203ae7fb7b18e",
      "tree": "7a7e71455e8e318f08d03748b528fbffca853bfa",
      "parents": [
        "f40c396a9ab04eae526990e2b2cef875b424ed4e"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon May 24 14:33:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "fatfs: ratelimit corruption report\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.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": "f40c396a9ab04eae526990e2b2cef875b424ed4e",
      "tree": "92b87fb6feb9470f9aa3cacc9344f7907ab2489c",
      "parents": [
        "d8521fcc5e0ad3e79bbc4231bb20a6cdc2b50164"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon May 24 14:33:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "ratelimit: add ratelimit_state_init()\n\nFor now, all users of ratelimit_state allocates it statically, so\nDEFINE_RATELIMIT_STATE() is enough.  But, I want to use ratelimit_state\nfor fs, i.e.  per super_block to suppress too many error reports.\n\nSo, this adds ratelimit_state_init() to initialize ratelimite_state\nwhich is dynamically allocated, instead of opencoding.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.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": "d8521fcc5e0ad3e79bbc4231bb20a6cdc2b50164",
      "tree": "7469b407cb8a87d26733cea33a1570c2433e014b",
      "parents": [
        "fa1f68db6ca7ebb6fc4487ac215bffba06c01c28"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon May 24 14:33:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "printk_ratelimited(): fix uninitialized spinlock\n\nratelimit_state initialization of printk_ratelimited() seems broken.  This\nfixes it by using DEFINE_RATELIMIT_STATE() to initialize spinlock\nproperly.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: 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": "fa1f68db6ca7ebb6fc4487ac215bffba06c01c28",
      "tree": "6682b0c8d27c0d0a377125215f54378be37c5b61",
      "parents": [
        "6c5e303afdf2910e58aeda56c10506342545a5af"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon May 24 14:33:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "drivers: misc: pass miscdevice pointer via file private data\n\nFor misc devices, inode-\u003ei_cdev doesn\u0027t point to the device drivers own\ndata.  Link between file operations and device driver internal data is\nlost.  Pass pointer to misc device struct via file private data for driver\nopen function use.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5e303afdf2910e58aeda56c10506342545a5af",
      "tree": "d8c57ef05b6d157044cb457b22ed1375a44deaae",
      "parents": [
        "37682177af68478fa83429b735fa16913c2fbb2b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon May 24 14:33:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "include/asm-generic/kmap_types.h: add helpful reminder\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37682177af68478fa83429b735fa16913c2fbb2b",
      "tree": "989ad96f1e5ca0b47e1a44111e1eb110a33a79eb",
      "parents": [
        "fc62f2f19edf46c9bdbd1a54725b56b18c43e94f"
      ],
      "author": {
        "name": "Peter Fritzsche",
        "email": "peter.fritzsche@gmx.de",
        "time": "Mon May 24 14:33:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "asm-generic: don\u0027t warn that atomic_t is only 24 bit\n\n32-bit Sparc used to only allow usage of 24-bit of it\u0027s atomic_t type.\nThis was corrected with linux 2.6.3 when Keith M Wesolowski changed the\nimplementation to use the parisc approach of having an array of spinlocks\nto protect the atomic_t.\n\nThese warnings were also removed from the sparc implementation when the\nnew implementation was merged in BKrev:402e4949VThdc6D3iaosSFUgabMfvw, but\nthe warning still remained in some other places without any 24-bit-only\natomic_t implementation inside the kernel.\n\nWe should remove these warnings to allow users to rely on the full 32-bit\nrange of atomic_t.\n\nSigned-off-by: Peter Fritzsche \u003cpeter.fritzsche@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc62f2f19edf46c9bdbd1a54725b56b18c43e94f",
      "tree": "1742d181c4c44825df436982cb2f9ea4c386a5f3",
      "parents": [
        "4c99000ac47cbd097e62f1b5cafad745622cedc3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 24 14:33:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "kernel.h: add pr_warn for symmetry to dev_warn, netdev_warn\n\nThe current logging macros are\npr_\u003clevel\u003e, dev_\u003clevel\u003e, netdev_\u003clevel\u003e, and netif_\u003clevel\u003e.\npr_ uses warning, the other use warn.\n\nStandardize these logging macros a bit more by adding pr_warn and\npr_warn_ratelimited.\n\nRight now, there are:\n\n$ for level in emerg alert crit err warn warning notice info ; do \\\n    for prefix in pr dev netdev netif ; do \\\n      echo -n \"${prefix}_${level}:\t`git grep -w \"${prefix}_${level}\" | wc -l`\t\" ; \\\n    done ; \\\n    echo ; \\\n  done\npr_emerg: \t45\tdev_emerg: \t4\tnetdev_emerg: \t1\tnetif_emerg: \t4\npr_alert: \t24\tdev_alert: \t36\tnetdev_alert: \t1\tnetif_alert: \t6\npr_crit: \t24\tdev_crit: \t22\tnetdev_crit: \t1\tnetif_crit: \t4\npr_err:  \t2013\tdev_err: \t8467\tnetdev_err: \t267\tnetif_err: \t240\npr_warn: \t0\tdev_warn: \t1818\tnetdev_warn: \t126\tnetif_warn: \t23\npr_warning: \t773\tdev_warning: \t0\tnetdev_warning:\t0\tnetif_warning: \t0\npr_notice: \t148\tdev_notice: \t111\tnetdev_notice: \t9\tnetif_notice: \t3\npr_info: \t1717\tdev_info: \t3007\tnetdev_info: \t101\tnetif_info: \t85\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": "4c99000ac47cbd097e62f1b5cafad745622cedc3",
      "tree": "9912597a68403c8f02dfbb414e60e0cb3f6577d3",
      "parents": [
        "2ec93b0bf35fe0fad05d2b7ef139d018768cca38"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon May 24 14:33:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "ntfs: use add_to_page_cache_lru()\n\nQuote from Nick piggin\u0027s about btrfs patch\n- http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg04472.html.\n\n\"add_to_page_cache_lru is exported, so it should be used. Benefits over\nusing a private pagevec: neater code, 128 bytes fewer stack used, percpu\nlru ordering is preserved, and finally don\u0027t need to flush pagevec\nbefore returning so batching may be shared with other LRU insertions.\"\n\nLet\u0027s use it instead of private pagevec in ntfs, too.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.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": "2ec93b0bf35fe0fad05d2b7ef139d018768cca38",
      "tree": "60cdf3c7a0ef9ecd27a00d86b1b712ea45461213",
      "parents": [
        "ef7ffe8f06895312aeb08a5f8a1d4c90e34335ea"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon May 24 14:33:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "ntfs: clean up ntfs_attr_extend_initialized\n\ncached_page and lru_pvec have not been used.  Let\u0027s remove the arguments.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef7ffe8f06895312aeb08a5f8a1d4c90e34335ea",
      "tree": "c7d6bc1c559c67b53f6ea7fce5a6bf537a71ca8b",
      "parents": [
        "08a82c6872ac1d37cb993a52f1b35f97f48295bd"
      ],
      "author": {
        "name": "Alex Riesen",
        "email": "raa.lkml@gmail.com",
        "time": "Mon May 24 14:33:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "sunrpc: use formatting of module name in SUNRPC\n\ngcc-4.3.3 produces the warning:\n  \"format not a string literal and no format arguments\"\n\nSigned-off-by: Alex Riesen \u003craa.lkml@gmail.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Chuck Lever \u003ccel@citi.umich.edu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Tom Talpey \u003ctmtalpey@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": "08a82c6872ac1d37cb993a52f1b35f97f48295bd",
      "tree": "43599b0869e8001e3e207e3498a5d510720070f2",
      "parents": [
        "4be929be34f9bdeffa40d815d32d7d60d2c7f03b"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Mon May 24 14:33:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "hvsi: fix messed up error checking getting state name\n\nHandle out-of-range indices before reading what they refer to.  And don\u0027t\naccess the one-past-the-end element of the array either.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4be929be34f9bdeffa40d815d32d7d60d2c7f03b",
      "tree": "4d2c6e2b8ef766e565e2e050ee151de2e02081d3",
      "parents": [
        "940370fc86b920b51a34217a1facc3e9e97c2456"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 24 14:33:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN\n\n- C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not\n  USHORT_MAX/SHORT_MAX/SHORT_MIN.\n\n- Make SHRT_MIN of type s16, not int, for consistency.\n\n[akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]\n[akpm@linux-foundation.org: fix security/keys/keyring.c]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: WANG Cong \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": "940370fc86b920b51a34217a1facc3e9e97c2456",
      "tree": "6d53529bc158408c42df40d78ee728adb399f787",
      "parents": [
        "b3b77c8caef1750ebeea1054e39e358550ea9f55"
      ],
      "author": {
        "name": "Yury Polyanskiy",
        "email": "ypolyans@princeton.edu",
        "time": "Mon May 24 14:33:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "hangcheck-timer: fix x86_32 bugs\n\ndrivers/char/hangcheck-timer.c is doubly broken.  When the overflown value\nof TIMER_FREQ is abnormally low, it spams the syslog with KERN_CRIT\nmessages \"Hangcheck: hangcheck value past margin!\" But whether it happens\nor not depends on HZ and lpj in a complex way.  People have hit it\noccasionally as far as google search can tell.\n\nFirst, the following line overflows unsigned long:\n\n# define TIMER_FREQ (HZ*loops_per_jiffy)\n\nSecond, and more importantly, loops_per_jiffy has little to do with the\ncon\u003d version from the the time scale of get_cycles() (aka rdtsc) to the\ntime scale of jiffies.\n\nThe attached patch resolves both of the problems.\n\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Jan Glauber \u003cjan.glauber@de.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": "b3b77c8caef1750ebeea1054e39e358550ea9f55",
      "tree": "9026ca0b3453226434a4ca8878832a4910b48664",
      "parents": [
        "e47103b1af5df52fa69e18b14d3012472f78817d"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Mon May 24 14:33:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "endian: #define __BYTE_ORDER\n\nLinux does not define __BYTE_ORDER in its endian header files which makes\nsome header files bend backwards to get at the current endian.  Lets\n#define __BYTE_ORDER in big_endian.h/litte_endian.h to make it easier for\nheader files that are used in user space too.\n\nIn userspace the convention is that\n\n  1. _both_ __LITTLE_ENDIAN and __BIG_ENDIAN are defined,\n  2. you have to test for e.g. __BYTE_ORDER \u003d\u003d __BIG_ENDIAN.\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e47103b1af5df52fa69e18b14d3012472f78817d",
      "tree": "6652e56e361415a85ab5a7b888492e5ceef0cd94",
      "parents": [
        "1f85f87d4f81d1e5a2d502d48316a1bdc5acac0b"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "ext-jani.1.nikula@nokia.com",
        "time": "Mon May 24 14:33:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "err.h: add __must_check to error pointer handlers\n\nAdd __must_check to error pointer handlers to have the compiler warn about\nmistakes like:\n\n\tif (err)\n\t\tERR_PTR(err);\n\nIt found two bugs:\n\nMar 12 Nikula Jani [PATCH] enclosure: fix error path - actually return ERR_PTR() on error\nMar 12 Nikula Jani [PATCH] sunrpc: fix error path - actually return ERR_PTR() on error\n\nSigned-off-by: Jani Nikula \u003cext-jani.1.nikula@nokia.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "1f85f87d4f81d1e5a2d502d48316a1bdc5acac0b",
      "tree": "ef9254e52665274ae4d0fd1381cc2ae5a48791f6",
      "parents": [
        "6cdafaae41d52e6ef9a5c5be23602ef083e4d0f9"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon May 24 14:32:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "cpuidle: add a repeating pattern detector to the menu governor\n\nCurrently, the menu governor uses the (corrected) next timer as key item\nfor predicting the idle duration.\n\nIt turns out that there are specific cases where this breaks down: There\nare cases where we have a very repetitive pattern of idle durations, where\nthe idle period is pretty much the same, for reasons completely unrelated\nto the next timer event.  Examples of such repeating patterns are network\nloads with irq mitigation, the mouse moving but in theory also the wifi\nbeacons.\n\nThis patch adds a relatively simple detector for such repeating patterns,\nwhere the standard deviation of the last 8 idle periods is compared to a\nthreshold.\n\nWith this extra predictor in place, measurements show that the DECAY\nfactor can now be increased (the decaying average will now decay slower)\nto get an even more stable result.\n\n[arjan@infradead.org: fix bug identified by Frank]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Corrado Zoccolo \u003cczoccolo@gmail.com\u003e\nCc: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cdafaae41d52e6ef9a5c5be23602ef083e4d0f9",
      "tree": "49091924b0f72f2c91d31eed62b3344ad6bbeecb",
      "parents": [
        "366831615911c51596b2a9e1024a110a1d0939a1"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon May 24 14:32:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "mn10300: set ARCH_KMALLOC_MINALIGN\n\nArchitectures that handle DMA-non-coherent memory need to set\nARCH_KMALLOC_MINALIGN to make sure that kmalloc\u0027ed buffer is DMA-safe: the\nbuffer doesn\u0027t share a cache with the others.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "366831615911c51596b2a9e1024a110a1d0939a1",
      "tree": "acc5e0ecfb462123524bd6af03741457aa39751a",
      "parents": [
        "e9a137cb00d8b0f71c08a9e67d993f53e7713d21"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Mon May 24 14:32:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "mn10300: use generic atomic.h\n\nasm-generic/atomic.h has been derived from the mn10300 implementation.\nRemove the now duplicated mn10300 implementation by including the generic\nversion instead.\n\nThis adds cmpxchg_local() and cmpxchg64_local() for free to the\narchitecture, as they are implemented in asm-generic/atomic.h.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Peter Fritzsche \u003cpeter.fritzsche@gmx.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Jamie Lokier \u003cjamie@shareable.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Keith M Wesolowski \u003cwesolows@foobazco.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.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": "e9a137cb00d8b0f71c08a9e67d993f53e7713d21",
      "tree": "b55b5360bedfc1fb66a6d568b80d93ae0e6597b7",
      "parents": [
        "69dcf3db03626c4f18de624e8632454ea12ff260"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Mon May 24 14:32:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "m68knommu: fix broken use of BUAD_TABLE_SIZE in 68328serial driver\n\nCommit 8b505ca8e2600eb9e7dd2d6b2682a81717671374 (\"serial: 68328serial.c:\nremove BAUD_TABLE_SIZE macro\") misses one use of BAUD_TABLE_SIZE.  So the\nresulting 68328serial.c does not compile:\n\ndrivers/serial/68328serial.c: In function `m68328_console_setup\u0027:\ndrivers/serial/68328serial.c:1439: error: `BAUD_TABLE_SIZE\u0027 undeclared (first use in this function)\ndrivers/serial/68328serial.c:1439: error: (Each undeclared identifier is reported only once\ndrivers/serial/68328serial.c:1439: error: for each function it appears in.)\n\nFix that last use of it.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Thiago Farina \u003ctfransosi@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\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": "69dcf3db03626c4f18de624e8632454ea12ff260",
      "tree": "615c72af11acf7153bd60808e970e55398f19593",
      "parents": [
        "7ca8b9c0dafd1cb36289aa4c92c7beae7adcd34f"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon May 24 14:32:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "frv: set ARCH_KMALLOC_MINALIGN\n\nArchitectures that handle DMA-non-coherent memory need to set\nARCH_KMALLOC_MINALIGN to make sure that kmalloc\u0027ed buffer is DMA-safe: the\nbuffer doesn\u0027t share a cache with the others.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "7ca8b9c0dafd1cb36289aa4c92c7beae7adcd34f",
      "tree": "a762d0b8bbb090b423eafae7f009839592e23290",
      "parents": [
        "c6f6b596a5a73e63e5e930c414375c0c389199ab"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon May 24 14:32:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "frv: extend gdbstub to support more features of gdb\n\nExtend gdbstub to support more features of gdb remote protocol to keep\ngdb-7 and emacs gud mode happy:\n\n (*) The D command.  Detach debugger.\n\n (*) The H command.  Handle setting the target thread by ignoring it.\n\n (*) The qAttached command.  Indicate we \u0027attached\u0027 to an existing process.\n\n (*) The qC command.  Indicate that the current thread ID is 0.\n\n (*) The qOffsets command.  Indicate that no relocation has been done.\n\n (*) The qSymbol:: command.  Indicate that we\u0027re not interested in looking up\n     any symbol addresses.\n\n (*) The qSupported command.  Indicate the maximum packet size and the fact\n     that reverse step and continue aren\u0027t supported.\n\n (*) The vCont? command.  Indicate that we don\u0027t support any of its variants.\n\nAlso make it possible to trace the commands and replies without tracing\nthe individual character I/O.\n\n[akpm@linux-foundation.org: make gdbstub_handle_query() static]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6f6b596a5a73e63e5e930c414375c0c389199ab",
      "tree": "900d4b3a6d198edc2045511b5b8d6001755bcfbf",
      "parents": [
        "4eaf3f64397c3db3c5785eee508270d62a9fabd9"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon May 24 14:32:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "mm: make lowmem_page_address() use PFN_PHYS() for improved portability\n\nThis ensures that platforms with lowmem PAs above 32 bits work correctly\nby avoiding truncating the PA during a left shift.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Barry Song \u003c21cnbao@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": "4eaf3f64397c3db3c5785eee508270d62a9fabd9",
      "tree": "bfd986a7e974876755ea6fe0de394199c68e2e36",
      "parents": [
        "1f522509c77a5dea8dc384b735314f03908a6415"
      ],
      "author": {
        "name": "Haicheng Li",
        "email": "haicheng.li@linux.intel.com",
        "time": "Mon May 24 14:32:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "mem-hotplug: fix potential race while building zonelist for new populated zone\n\nAdd global mutex zonelists_mutex to fix the possible race:\n\n     CPU0                                  CPU1                    CPU2\n(1) zone-\u003epresent_pages +\u003d online_pages;\n(2)                                       build_all_zonelists();\n(3)                                                               alloc_page();\n(4)                                                               free_page();\n(5) build_all_zonelists();\n(6)   __build_all_zonelists();\n(7)     zone-\u003epageset \u003d alloc_percpu();\n\nIn step (3,4), zone-\u003epageset still points to boot_pageset, so bad\nthings may happen if 2+ nodes are in this state. Even if only 1 node\nis accessing the boot_pageset, (3) may still consume too much memory\nto fail the memory allocations in step (7).\n\nBesides, atomic operation ensures alloc_percpu() in step (7) will never fail\nsince there is a new fresh memory block added in step(6).\n\n[haicheng.li@linux.intel.com: hold zonelists_mutex when build_all_zonelists]\nSigned-off-by: Haicheng Li \u003chaicheng.li@linux.intel.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nReviewed-by: Andi Kleen \u003candi.kleen@intel.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f522509c77a5dea8dc384b735314f03908a6415",
      "tree": "4b848527b90877a8a64c46e8e2d76723405c319d",
      "parents": [
        "319774e25fa4b7641bdc3b0a464dd84e62103347"
      ],
      "author": {
        "name": "Haicheng Li",
        "email": "haicheng.li@linux.intel.com",
        "time": "Mon May 24 14:32:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:01 2010 -0700"
      },
      "message": "mem-hotplug: avoid multiple zones sharing same boot strapping boot_pageset\n\nFor each new populated zone of hotadded node, need to update its pagesets\nwith dynamically allocated per_cpu_pageset struct for all possible CPUs:\n\n    1) Detach zone-\u003epageset from the shared boot_pageset\n       at end of __build_all_zonelists().\n\n    2) Use mutex to protect zone-\u003epageset when it\u0027s still\n       shared in onlined_pages()\n\nOtherwises, multiple zones of different nodes would share same boot strapping\nboot_pageset for same CPU, which will finally cause below kernel panic:\n\n  ------------[ cut here ]------------\n  kernel BUG at mm/page_alloc.c:1239!\n  invalid opcode: 0000 [#1] SMP\n  ...\n  Call Trace:\n   [\u003cffffffff811300c1\u003e] __alloc_pages_nodemask+0x131/0x7b0\n   [\u003cffffffff81162e67\u003e] alloc_pages_current+0x87/0xd0\n   [\u003cffffffff81128407\u003e] __page_cache_alloc+0x67/0x70\n   [\u003cffffffff811325f0\u003e] __do_page_cache_readahead+0x120/0x260\n   [\u003cffffffff81132751\u003e] ra_submit+0x21/0x30\n   [\u003cffffffff811329c6\u003e] ondemand_readahead+0x166/0x2c0\n   [\u003cffffffff81132ba0\u003e] page_cache_async_readahead+0x80/0xa0\n   [\u003cffffffff8112a0e4\u003e] generic_file_aio_read+0x364/0x670\n   [\u003cffffffff81266cfa\u003e] nfs_file_read+0xca/0x130\n   [\u003cffffffff8117b20a\u003e] do_sync_read+0xfa/0x140\n   [\u003cffffffff8117bf75\u003e] vfs_read+0xb5/0x1a0\n   [\u003cffffffff8117c151\u003e] sys_read+0x51/0x80\n   [\u003cffffffff8103c032\u003e] system_call_fastpath+0x16/0x1b\n  RIP  [\u003cffffffff8112ff13\u003e] get_page_from_freelist+0x883/0x900\n   RSP \u003cffff88000d1e78a8\u003e\n  ---[ end trace 4bda28328b9990db ]\n\n[akpm@linux-foundation.org: merge fix]\nSigned-off-by: Haicheng Li \u003chaicheng.li@linux.intel.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nReviewed-by: Andi Kleen \u003candi.kleen@intel.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "319774e25fa4b7641bdc3b0a464dd84e62103347",
      "tree": "6865aee1b58fff5d7042fbdcb989ee7751660bcc",
      "parents": [
        "0faa56389c793cda7f967117415717bbab24fe4e"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon May 24 14:32:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:01 2010 -0700"
      },
      "message": "mem-hotplug: separate setup_per_cpu_pageset() into separate functions\n\nNo behavior change here.\n\nMove some of setup_per_cpu_pageset() code into a new function\nsetup_zone_pageset() that will be useful for memory hotplug.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Haicheng Li \u003chaicheng.li@linux.intel.com\u003e\nReviewed-by: Andi Kleen \u003candi.kleen@intel.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0faa56389c793cda7f967117415717bbab24fe4e",
      "tree": "b0d5f12579a4448adff2b6e462488f3cc6d75326",
      "parents": [
        "ff3d58c22b6827039983911d3460cf0c1657f8cc"
      ],
      "author": {
        "name": "Marcelo Roberto Jimenez",
        "email": "mroberto@cpti.cetuc.puc-rio.br",
        "time": "Mon May 24 14:32:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:01 2010 -0700"
      },
      "message": "mm: fix NR_SECTION_ROOTS \u003d\u003d 0 when using using sparsemem extreme.\n\nGot this while compiling for ARM/SA1100:\n\nmm/sparse.c: In function \u0027__section_nr\u0027:\nmm/sparse.c:135: warning: \u0027root\u0027 is used uninitialized in this function\n\nThis patch follows Russell King\u0027s suggestion for a new calculation for\nNR_SECTION_ROOTS.  Thanks also to Sergei Shtylyov for pointing out the\nexistence of the macro DIV_ROUND_UP.\n\nAtsushi Nemoto observed:\n: This fix doesn\u0027t just silence the warning - it fixes a real problem.\n:\n: Without this fix, mem_section[] might have 0 size so mem_section[0]\n: will share other variable area.  For example, I got:\n:\n: c030c700 b __warned.16478\n: c030c700 B mem_section\n: c030c701 b __warned.16483\n:\n: This might cause very strange behavior.  Your patch actually fixes it.\n\nSigned-off-by: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCc: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Sergei Shtylyov \u003csshtylyov@mvista.com\u003e\nCc: Russell King \u003crmk@arm.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": "ff3d58c22b6827039983911d3460cf0c1657f8cc",
      "tree": "bed2f2f98760425976a45858326de80aa5e7760b",
      "parents": [
        "fd23855e38d2a7275a786238459c070b4e9f7975"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon May 24 14:32:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:01 2010 -0700"
      },
      "message": "highmem: remove unneeded #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT for debug_kmap_atomic()\n\nIn f4112de6b679d84bd9b9681c7504be7bdfb7c7d5 (\"mm: introduce\ndebug_kmap_atomic\") I said that debug_kmap_atomic() needs\nCONFIG_TRACE_IRQFLAGS_SUPPORT.\n\nIt was wrong.  (I thought irqs_disabled() is only available when the\narchitecture has CONFIG_TRACE_IRQFLAGS_SUPPORT)\n\nRemove the #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT check to enable\nkmap_atomic() debugging for the architectures which do not have\nCONFIG_TRACE_IRQFLAGS_SUPPORT.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\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": "fd23855e38d2a7275a786238459c070b4e9f7975",
      "tree": "e390a91f70a428b2a70bb1fa95fcb53dd662908a",
      "parents": [
        "263ff5d8e82e577202d2b8393585b0e2436b7ffc"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfmooney@gmail.com",
        "time": "Mon May 24 14:32:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:01 2010 -0700"
      },
      "message": "include/linux/gfp.h: fix coding style\n\nAdd parenthesis in a define.  This doesn\u0027t change functionality.\n\ncheckpatch errors:\n1) white space fixes\n2) add spaces after comas\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nCc: Dan Carpenter \u003cerror27@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": "263ff5d8e82e577202d2b8393585b0e2436b7ffc",
      "tree": "d8a1c1e7f854ae09bef85a280b365d7bb2340583",
      "parents": [
        "cf23422b9d76215316855253da491d4c9f294372"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfmooney@gmail.com",
        "time": "Mon May 24 14:32:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "include/linux/gfp.h: spelling fixes\n\nFix minor spelling errors in a few comments; no code changes.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nCc: Dan Carpenter \u003cerror27@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": "cf23422b9d76215316855253da491d4c9f294372",
      "tree": "5663d2519d83d830d24dffdf2571d58d3e55d3f6",
      "parents": [
        "8b25c6d2231b978ccce9c401e771932bde79aa9f"
      ],
      "author": {
        "name": "minskey guo",
        "email": "chaohong_guo@linux.intel.com",
        "time": "Mon May 24 14:32:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "cpu/mem hotplug: enable CPUs online before local memory online\n\nEnable users to online CPUs even if the CPUs belongs to a numa node which\ndoesn\u0027t have onlined local memory.\n\nThe zonlists(pg_data_t.node_zonelists[]) of a numa node are created either\nin system boot/init period, or at the time of local memory online.  For a\nnuma node without onlined local memory, its zonelists are not initialized\nat present.  As a result, any memory allocation operations executed by\nCPUs within this node will fail.  In fact, an out-of-memory error is\ntriggered when attempt to online CPUs before memory comes to online.\n\nThis patch tries to create zonelists for such numa nodes, so that the\nmemory allocation for this node can be fallback\u0027ed to other nodes.\n\n[akpm@linux-foundation.org: remove unneeded export]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: minskey guo\u003cchaohong.guo@intel.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b25c6d2231b978ccce9c401e771932bde79aa9f",
      "tree": "13845799e14e49465de1529680df7def59dcfeb8",
      "parents": [
        "0aeb2339e54e40d0788a7017ecaeac7f5271e262"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "vmscan: remove isolate_pages callback scan control\n\nFor now, we have global isolation vs.  memory control group isolation, do\nnot allow the reclaim entry function to set an arbitrary page isolation\ncallback, we do not need that flexibility.\n\nAnd since we already pass around the group descriptor for the memory\ncontrol group isolation case, just use it to decide which one of the two\nisolator functions to use.\n\nThe decisions can be merged into nearby branches, so no extra cost there.\nIn fact, we save the indirect calls.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0aeb2339e54e40d0788a7017ecaeac7f5271e262",
      "tree": "66889ce248257e7e24c998a22994ccef222e4622",
      "parents": [
        "142762bd8d8c46345e79f0f68d3374564306972f"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "vmscan: remove all_unreclaimable scan control\n\nThis scan control is abused to communicate a return value from\nshrink_zones().  Write this idiomatically and remove the knob.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\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\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "142762bd8d8c46345e79f0f68d3374564306972f",
      "tree": "c33360b872883d24b068ba7b8f01466fccb9dfc9",
      "parents": [
        "58a9d3d8db06ca2ec31f64ec49ab0aeb89971b85"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "mm: document follow_page()\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Izik Eidus \u003cieidus@redhat.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": "58a9d3d8db06ca2ec31f64ec49ab0aeb89971b85",
      "tree": "70c695b6473d4d25b32a2946e053742f6c49755e",
      "parents": [
        "ec95f53aa6ed62ba68660cb19c8474ebe9025cce"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Mon May 24 14:32:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "fs-writeback: check sync bit earlier in inode_wait_for_writeback\n\nWhen wb_writeback() hasn\u0027t written anything it will re-acquire the inode\nlock before calling inode_wait_for_writeback.\n\nThis change tests the sync bit first so that is doesn\u0027t need to drop \u0026\nre-acquire the lock if the inode became available while wb_writeback() was\nwaiting to get the lock.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.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": "ec95f53aa6ed62ba68660cb19c8474ebe9025cce",
      "tree": "953ad71c8ee0373ca76f17ee9df65358ad2fe7b7",
      "parents": [
        "5f53e76299ceebd68bdf9495e8ff80db77711236"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon May 24 14:32:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "mm: introduce free_pages_prepare()\n\nfree_hot_cold_page() and __free_pages_ok() have very similar freeing\npreparation.  Consolidate them.\n\n[akpm@linux-foundation.org: fix busted coding style]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f53e76299ceebd68bdf9495e8ff80db77711236",
      "tree": "2ecb8324a6593a49868161d85511cc14d474900a",
      "parents": [
        "bf8abe8b926f7546eb763fd2a088fe461dde6317"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon May 24 14:32:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "vmscan: page_check_references(): check low order lumpy reclaim properly\n\nIf vmscan is under lumpy reclaim mode, it have to ignore referenced bit\nfor making contenious free pages.  but current page_check_references()\ndoesn\u0027t.\n\nFix it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.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": "bf8abe8b926f7546eb763fd2a088fe461dde6317",
      "tree": "e9bba65d267d974c2c429b01dde393363789ee7f",
      "parents": [
        "76a33fc380c9a65e01eb15b3b87c05863a0d51db"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon May 24 14:32:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "readahead.c: fix comment\n\nFix a wrong comment over page_cache_async_readahead().\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nAcked-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": "76a33fc380c9a65e01eb15b3b87c05863a0d51db",
      "tree": "506db7a03eb41e245a859ac241ff0680097427e5",
      "parents": [
        "6ec3a12712ac67ffa4b80d16e0767ffd2431a68d"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon May 24 14:32:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "vmscan: prevent get_scan_ratio() rounding errors\n\nget_scan_ratio() calculates percentage and if the percentage is \u003c 1%, it\nwill round percentage down to 0% and cause we completely ignore scanning\nanon/file pages to reclaim memory even the total anon/file pages are very\nbig.\n\nTo avoid underflow, we don\u0027t use percentage, instead we directly calculate\nhow many pages should be scaned.  In this way, we should get several\nscanned pages for \u003c 1% percent.\n\nThis has some benefits:\n\n1. increase our calculation precision\n\n2.  making our scan more smoothly.  Without this, if percent[x] is\n   underflow, shrink_zone() doesn\u0027t scan any pages and suddenly it scans\n   all pages when priority is zero.  With this, even priority isn\u0027t zero,\n   shrink_zone() gets chance to scan some pages.\n\nNote, this patch doesn\u0027t really change logics, but just increase\nprecision.  For system with a lot of memory, this might slightly changes\nbehavior.  For example, in a sequential file read workload, without the\npatch, we don\u0027t swap any anon pages.  With it, if anon memory size is\nbigger than 16G, we will see one anon page swapped.  The 16G is calculated\nas PAGE_SIZE * priority(4096) * (fp/ap).  fp/ap is assumed to be 1024\nwhich is common in this workload.  So the impact sounds not a big deal.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "6ec3a12712ac67ffa4b80d16e0767ffd2431a68d",
      "tree": "7348f7ce38efe041429a2477706181686992e801",
      "parents": [
        "4f92e2586b43a2402e116055d4edda704f911b5b"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Mon May 24 14:32:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "mm: consider the entire user address space during node migration\n\nUse mm-\u003etask_size instead of TASK_SIZE to ensure that the entire user\naddress space is migrated.  mm-\u003etask_size is independent of the calling\ntask context.  TASK SIZE may be dependant on the address space size of the\ncalling process.  Usage of TASK_SIZE can lead to partial address space\nmigration if the calling process was 32 bit and the migrating process was\n64 bit.\n\nHere is the test script used on 64 system with a 32 bit echo process:\n\n  mount -t cgroup none /cgroup -o cpuset\n  cd /cgroup\n\n  mkdir 0\n  echo 1 \u003e 0/cpuset.cpus\n  echo 0 \u003e 0/cpuset.mems\n  echo 1 \u003e 0/cpuset.memory_migrate\n\n  mkdir 1\n  echo 1 \u003e 1/cpuset.cpus\n  echo 1 \u003e 1/cpuset.mems\n  echo 1 \u003e 1/cpuset.memory_migrate\n\n  echo $$ \u003e 0/tasks\n  64_bit_process \u0026\n  pid\u003d$!\n\n  echo $pid \u003e 1/tasks   # This does not migrate all process pages without\n                        # this patch.  If 64 bit echo is used or this patch is\n                        # applied, then the full address space of $pid is\n                        # migrated.\n\nTo check memory migration, I watched:\n  grep MemUsed /sys/devices/system/node/node*/meminfo\n\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "4f92e2586b43a2402e116055d4edda704f911b5b",
      "tree": "6a765ebeba951c02a7878bcea52a4769ad2e45c2",
      "parents": [
        "5e7719058079a1423ccce56148b0aaa56b2df821"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "mm: compaction: defer compaction using an exponential backoff when compaction fails\n\nThe fragmentation index may indicate that a failure is due to external\nfragmentation but after a compaction run completes, it is still possible\nfor an allocation to fail.  There are two obvious reasons as to why\n\n  o Page migration cannot move all pages so fragmentation remains\n  o A suitable page may exist but watermarks are not met\n\nIn the event of compaction followed by an allocation failure, this patch\ndefers further compaction in the zone (1 \u003c\u003c compact_defer_shift) times.\nIf the next compaction attempt also fails, compact_defer_shift is\nincreased up to a maximum of 6.  If compaction succeeds, the defer\ncounters are reset again.\n\nThe zone that is deferred is the first zone in the zonelist - i.e.  the\npreferred zone.  To defer compaction in the other zones, the information\nwould need to be stored in the zonelist or implemented similar to the\nzonelist_cache.  This would impact the fast-paths and is not justified at\nthis time.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "5e7719058079a1423ccce56148b0aaa56b2df821",
      "tree": "3666cb3d5540dcaa3d8e7df8c293a0ad603a181c",
      "parents": [
        "56de7263fcf3eb10c8dcdf8d59a9cec831795f3f"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: add a tunable that decides when memory should be compacted and when it should be reclaimed\n\nThe kernel applies some heuristics when deciding if memory should be\ncompacted or reclaimed to satisfy a high-order allocation.  One of these\nis based on the fragmentation.  If the index is below 500, memory will not\nbe compacted.  This choice is arbitrary and not based on data.  To help\noptimise the system and set a sensible default for this value, this patch\nadds a sysctl extfrag_threshold.  The kernel will only compact memory if\nthe fragmentation index is above the extfrag_threshold.\n\n[randy.dunlap@oracle.com: Fix build errors when proc fs is not configured]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "56de7263fcf3eb10c8dcdf8d59a9cec831795f3f",
      "tree": "164637c0b678e20adfdcec4129563d9234faf405",
      "parents": [
        "ed4a6d7f0676db50b5023cc01f6cda82a2f2a307"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: direct compact when a high-order allocation fails\n\nOrdinarily when a high-order allocation fails, direct reclaim is entered\nto free pages to satisfy the allocation.  With this patch, it is\ndetermined if an allocation failed due to external fragmentation instead\nof low memory and if so, the calling process will compact until a suitable\npage is freed.  Compaction by moving pages in memory is considerably\ncheaper than paging out to disk and works where there are locked pages or\nno swap.  If compaction fails to free a page of a suitable size, then\nreclaim will still occur.\n\nDirect compaction returns as soon as possible.  As each block is\ncompacted, it is checked if a suitable page has been freed and if so, it\nreturns.\n\n[akpm@linux-foundation.org: Fix build errors]\n[aarcange@redhat.com: fix count_vm_event preempt in memory compaction direct reclaim]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: 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": "ed4a6d7f0676db50b5023cc01f6cda82a2f2a307",
      "tree": "6496343ba964e105cf30f8703714471f22edc806",
      "parents": [
        "76ab0f530e4a01d4dc20cdc1d5e87753c579dc18"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: add /sys trigger for per-node memory compaction\n\nAdd a per-node sysfs file called compact.  When the file is written to,\neach zone in that node is compacted.  The intention that this would be\nused by something like a job scheduler in a batch system before a job\nstarts so that the job can allocate the maximum number of hugepages\nwithout significant start-up cost.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "76ab0f530e4a01d4dc20cdc1d5e87753c579dc18",
      "tree": "8e1566df85e02f67876685c36d217fec4845f79f",
      "parents": [
        "748446bb6b5a9390b546af38ec899c868a9dbcf0"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: add /proc trigger for memory compaction\n\nAdd a proc file /proc/sys/vm/compact_memory.  When an arbitrary value is\nwritten to the file, all zones are compacted.  The expected user of such a\ntrigger is a job scheduler that prepares the system before the target\napplication runs.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-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\nReviewed-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": "748446bb6b5a9390b546af38ec899c868a9dbcf0",
      "tree": "4c27d0805a5e094b39ff938ad60dd270b953a79f",
      "parents": [
        "c175a0ce7584e5b498fff8cbdb9aa7912aa9fbba"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: compaction: memory compaction core\n\nThis patch is the core of a mechanism which compacts memory in a zone by\nrelocating movable pages towards the end of the zone.\n\nA single compaction run involves a migration scanner and a free scanner.\nBoth scanners operate on pageblock-sized areas in the zone.  The migration\nscanner starts at the bottom of the zone and searches for all movable\npages within each area, isolating them onto a private list called\nmigratelist.  The free scanner starts at the top of the zone and searches\nfor suitable areas and consumes the free pages within making them\navailable for the migration scanner.  The pages isolated for migration are\nthen migrated to the newly isolated free pages.\n\n[aarcange@redhat.com: Fix unsafe optimisation]\n[mel@csn.ul.ie: do not schedule work on other CPUs for compaction]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "c175a0ce7584e5b498fff8cbdb9aa7912aa9fbba",
      "tree": "dd924daef4a9e0ac9729c5b61c30b8e3cc96f971",
      "parents": [
        "f1a5ab1210579e2d3ac8c0c227645823af5aafb0"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: move definition for LRU isolation modes to a header\n\nCurrently, vmscan.c defines the isolation modes for __isolate_lru_page().\nMemory compaction needs access to these modes for isolating pages for\nmigration.  This patch exports them.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "f1a5ab1210579e2d3ac8c0c227645823af5aafb0",
      "tree": "c646a3d58150eab1a8280d02e6254ef6b90a6f37",
      "parents": [
        "d7a5752c0c19750312efab3a2a80d350e11fa4a2"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: export fragmentation index via debugfs\n\nThe fragmentation fragmentation index, is only meaningful if an allocation\nwould fail and indicates what the failure is due to.  A value of -1 such\nas in many of the examples above states that the allocation would succeed.\n If it would fail, the value is between 0 and 1.  A value tending towards\n0 implies the allocation failed due to a lack of memory.  A value tending\ntowards 1 implies it failed due to external fragmentation.\n\nFor the most part, the huge page size will be the size of interest but not\nnecessarily so it is exported on a per-order and per-zo basis via\n/sys/kernel/debug/extfrag/extfrag_index\n\n\u003e cat /sys/kernel/debug/extfrag/extfrag_index\nNode 0, zone      DMA -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.00\nNode 0, zone   Normal -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.954\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "d7a5752c0c19750312efab3a2a80d350e11fa4a2",
      "tree": "f604d9ae1d7f689e3314120e2d4edac36c1b5f22",
      "parents": [
        "a8bef8ff6ea15fa4c67433cab0f5f3484574ef7c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: export unusable free space index via debugfs\n\nThe unusable free space index measures how much of the available free\nmemory cannot be used to satisfy an allocation of a given size and is a\nvalue between 0 and 1.  The higher the value, the more of free memory is\nunusable and by implication, the worse the external fragmentation is.  For\nthe most part, the huge page size will be the size of interest but not\nnecessarily so it is exported on a per-order and per-zone basis via\n/sys/kernel/debug/extfrag/unusable_index.\n\n\u003e cat /sys/kernel/debug/extfrag/unusable_index\nNode 0, zone      DMA 0.000 0.000 0.000 0.001 0.005 0.013 0.021 0.037 0.037 0.101 0.230\nNode 0, zone   Normal 0.000 0.000 0.000 0.001 0.002 0.002 0.005 0.015 0.028 0.028 0.054\n\n[akpm@linux-foundation.org: Fix allnoconfig]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "a8bef8ff6ea15fa4c67433cab0f5f3484574ef7c",
      "tree": "3ea9c122e02f523379d4560ee2134124d097895c",
      "parents": [
        "e9e96b39f932a065e14f5d5bab0797ae261d03b5"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: migration: avoid race between shift_arg_pages() and rmap_walk() during migration by not migrating temporary stacks\n\nPage migration requires rmap to be able to find all ptes mapping a page\nat all times, otherwise the migration entry can be instantiated, but it\nis possible to leave one behind if the second rmap_walk fails to find\nthe page.  If this page is later faulted, migration_entry_to_page() will\ncall BUG because the page is locked indicating the page was migrated by\nthe migration PTE not cleaned up. For example\n\n  kernel BUG at include/linux/swapops.h:105!\n  invalid opcode: 0000 [#1] PREEMPT SMP\n  ...\n  Call Trace:\n   [\u003cffffffff810e951a\u003e] handle_mm_fault+0x3f8/0x76a\n   [\u003cffffffff8130c7a2\u003e] do_page_fault+0x44a/0x46e\n   [\u003cffffffff813099b5\u003e] page_fault+0x25/0x30\n   [\u003cffffffff8114de33\u003e] load_elf_binary+0x152a/0x192b\n   [\u003cffffffff8111329b\u003e] search_binary_handler+0x173/0x313\n   [\u003cffffffff81114896\u003e] do_execve+0x219/0x30a\n   [\u003cffffffff8100a5c6\u003e] sys_execve+0x43/0x5e\n   [\u003cffffffff8100320a\u003e] stub_execve+0x6a/0xc0\n  RIP  [\u003cffffffff811094ff\u003e] migration_entry_wait+0xc1/0x129\n\nThere is a race between shift_arg_pages and migration that triggers this\nbug.  A temporary stack is setup during exec and later moved.  If\nmigration moves a page in the temporary stack and the VMA is then removed\nbefore migration completes, the migration PTE may not be found leading to\na BUG when the stack is faulted.\n\nThis patch causes pages within the temporary stack during exec to be\nskipped by migration.  It does this by marking the VMA covering the\ntemporary stack with an otherwise impossible combination of VMA flags.\nThese flags are cleared when the temporary stack is moved to its final\nlocation.\n\n[kamezawa.hiroyu@jp.fujitsu.com: idea for having migration skip temporary stacks]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.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": "e9e96b39f932a065e14f5d5bab0797ae261d03b5",
      "tree": "1164a4bf40c34715944b47da035ba823f1d8b60a",
      "parents": [
        "3fe2011ff51e92500010a495df4be86745fbbda9"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: allow CONFIG_MIGRATION to be set without CONFIG_NUMA or memory hot-remove\n\nCONFIG_MIGRATION currently depends on CONFIG_NUMA or on the architecture\nbeing able to hot-remove memory.  The main users of page migration such as\nsys_move_pages(), sys_migrate_pages() and cpuset process migration are\nonly beneficial on NUMA so it makes sense.\n\nAs memory compaction will operate within a zone and is useful on both NUMA\nand non-NUMA systems, this patch allows CONFIG_MIGRATION to be set if the\nuser selects CONFIG_COMPACTION as an option.\n\n[akpm@linux-foundation.org: Depend on CONFIG_HUGETLB_PAGE]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fe2011ff51e92500010a495df4be86745fbbda9",
      "tree": "f3dc07b9d41ce5ba15805c2d3b4bc0a1a7916832",
      "parents": [
        "67b9509b2c68ae38cecb83a239881cb0ddf087dc"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: migration: allow the migration of PageSwapCache pages\n\nPageAnon pages that are unmapped may or may not have an anon_vma so are\nnot currently migrated.  However, a swap cache page can be migrated and\nfits this description.  This patch identifies page swap caches and allows\nthem to be migrated but ensures that no attempt to made to remap the pages\nwould would potentially try to access an already freed anon_vma.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: 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": "67b9509b2c68ae38cecb83a239881cb0ddf087dc",
      "tree": "a8cee4f4bec57ab44a993ce81df2a10a4980f0f8",
      "parents": [
        "7f60c214fd3a360461f3286c6908084f7f8b1950"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mm: migration: do not try to migrate unmapped anonymous pages\n\nrmap_walk_anon() was triggering errors in memory compaction that look like\nuse-after-free errors.  The problem is that between the page being\nisolated from the LRU and rcu_read_lock() being taken, the mapcount of the\npage dropped to 0 and the anon_vma gets freed.  This can happen during\nmemory compaction if pages being migrated belong to a process that exits\nbefore migration completes.  Hence, the use-after-free race looks like\n\n 1. Page isolated for migration\n 2. Process exits\n 3. page_mapcount(page) drops to zero so anon_vma was no longer reliable\n 4. unmap_and_move() takes the rcu_lock but the anon_vma is already garbage\n 4. call try_to_unmap, looks up tha anon_vma and \"locks\" it but the lock\n    is garbage.\n\nThis patch checks the mapcount after the rcu lock is taken.  If the\nmapcount is zero, the anon_vma is assumed to be freed and no further\naction is taken.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: 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": "7f60c214fd3a360461f3286c6908084f7f8b1950",
      "tree": "dba48cf988a22a40796187c7274f7903a288f7f4",
      "parents": [
        "3f6c82728f4e31a97c3a1b32abccb512fed0b573"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mm: migration: share the anon_vma ref counts between KSM and page migration\n\nFor clarity of review, KSM and page migration have separate refcounts on\nthe anon_vma.  While clear, this is a waste of memory.  This patch gets\nKSM and page migration to share their toys in a spirit of harmony.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f6c82728f4e31a97c3a1b32abccb512fed0b573",
      "tree": "4b577e789a5daef91e40d10bc71c8134b3874ae8",
      "parents": [
        "e325c90ffc13b698fa2814102e05275b21c26bec"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mm: migration: take a reference to the anon_vma before migrating\n\nThis patchset is a memory compaction mechanism that reduces external\nfragmentation memory by moving GFP_MOVABLE pages to a fewer number of\npageblocks.  The term \"compaction\" was chosen as there are is a number of\nmechanisms that are not mutually exclusive that can be used to defragment\nmemory.  For example, lumpy reclaim is a form of defragmentation as was\nslub \"defragmentation\" (really a form of targeted reclaim).  Hence, this\nis called \"compaction\" to distinguish it from other forms of\ndefragmentation.\n\nIn this implementation, a full compaction run involves two scanners\noperating within a zone - a migration and a free scanner.  The migration\nscanner starts at the beginning of a zone and finds all movable pages\nwithin one pageblock_nr_pages-sized area and isolates them on a\nmigratepages list.  The free scanner begins at the end of the zone and\nsearches on a per-area basis for enough free pages to migrate all the\npages on the migratepages list.  As each area is respectively migrated or\nexhausted of free pages, the scanners are advanced one area.  A compaction\nrun completes within a zone when the two scanners meet.\n\nThis method is a bit primitive but is easy to understand and greater\nsophistication would require maintenance of counters on a per-pageblock\nbasis.  This would have a big impact on allocator fast-paths to improve\ncompaction which is a poor trade-off.\n\nIt also does not try relocate virtually contiguous pages to be physically\ncontiguous.  However, assuming transparent hugepages were in use, a\nhypothetical khugepaged might reuse compaction code to isolate free pages,\nsplit them and relocate userspace pages for promotion.\n\nMemory compaction can be triggered in one of three ways.  It may be\ntriggered explicitly by writing any value to /proc/sys/vm/compact_memory\nand compacting all of memory.  It can be triggered on a per-node basis by\nwriting any value to /sys/devices/system/node/nodeN/compact where N is the\nnode ID to be compacted.  When a process fails to allocate a high-order\npage, it may compact memory in an attempt to satisfy the allocation\ninstead of entering direct reclaim.  Explicit compaction does not finish\nuntil the two scanners meet and direct compaction ends if a suitable page\nbecomes available that would meet watermarks.\n\nThe series is in 14 patches.  The first three are not \"core\" to the series\nbut are important pre-requisites.\n\nPatch 1 reference counts anon_vma for rmap_walk_anon(). Without this\n\tpatch, it\u0027s possible to use anon_vma after free if the caller is\n\tnot holding a VMA or mmap_sem for the pages in question. While\n\tthere should be no existing user that causes this problem,\n\tit\u0027s a requirement for memory compaction to be stable. The patch\n\tis at the start of the series for bisection reasons.\nPatch 2 merges the KSM and migrate counts. It could be merged with patch 1\n\tbut would be slightly harder to review.\nPatch 3 skips over unmapped anon pages during migration as there are no\n\tguarantees about the anon_vma existing. There is a window between\n\twhen a page was isolated and migration started during which anon_vma\n\tcould disappear.\nPatch 4 notes that PageSwapCache pages can still be migrated even if they\n\tare unmapped.\nPatch 5 allows CONFIG_MIGRATION to be set without CONFIG_NUMA\nPatch 6 exports a \"unusable free space index\" via debugfs. It\u0027s\n\ta measure of external fragmentation that takes the size of the\n\tallocation request into account. It can also be calculated from\n\tuserspace so can be dropped if requested\nPatch 7 exports a \"fragmentation index\" which only has meaning when an\n\tallocation request fails. It determines if an allocation failure\n\twould be due to a lack of memory or external fragmentation.\nPatch 8 moves the definition for LRU isolation modes for use by compaction\nPatch 9 is the compaction mechanism although it\u0027s unreachable at this point\nPatch 10 adds a means of compacting all of memory with a proc trgger\nPatch 11 adds a means of compacting a specific node with a sysfs trigger\nPatch 12 adds \"direct compaction\" before \"direct reclaim\" if it is\n\tdetermined there is a good chance of success.\nPatch 13 adds a sysctl that allows tuning of the threshold at which the\n\tkernel will compact or direct reclaim\nPatch 14 temporarily disables compaction if an allocation failure occurs\n\tafter compaction.\n\nTesting of compaction was in three stages.  For the test, debugging,\npreempt, the sleep watchdog and lockdep were all enabled but nothing nasty\npopped out.  min_free_kbytes was tuned as recommended by hugeadm to help\nfragmentation avoidance and high-order allocations.  It was tested on X86,\nX86-64 and PPC64.\n\nThs first test represents one of the easiest cases that can be faced for\nlumpy reclaim or memory compaction.\n\n1. Machine freshly booted and configured for hugepage usage with\n\ta) hugeadm --create-global-mounts\n\tb) hugeadm --pool-pages-max DEFAULT:8G\n\tc) hugeadm --set-recommended-min_free_kbytes\n\td) hugeadm --set-recommended-shmmax\n\n\tThe min_free_kbytes here is important. Anti-fragmentation works best\n\twhen pageblocks don\u0027t mix. hugeadm knows how to calculate a value that\n\twill significantly reduce the worst of external-fragmentation-related\n\tevents as reported by the mm_page_alloc_extfrag tracepoint.\n\n2. Load up memory\n\ta) Start updatedb\n\tb) Create in parallel a X files of pagesize*128 in size. Wait\n\t   until files are created. By parallel, I mean that 4096 instances\n\t   of dd were launched, one after the other using \u0026. The crude\n\t   objective being to mix filesystem metadata allocations with\n\t   the buffer cache.\n\tc) Delete every second file so that pageblocks are likely to\n\t   have holes\n\td) kill updatedb if it\u0027s still running\n\n\tAt this point, the system is quiet, memory is full but it\u0027s full with\n\tclean filesystem metadata and clean buffer cache that is unmapped.\n\tThis is readily migrated or discarded so you\u0027d expect lumpy reclaim\n\tto have no significant advantage over compaction but this is at\n\tthe POC stage.\n\n3. In increments, attempt to allocate 5% of memory as hugepages.\n\t   Measure how long it took, how successful it was, how many\n\t   direct reclaims took place and how how many compactions. Note\n\t   the compaction figures might not fully add up as compactions\n\t   can take place for orders other than the hugepage size\n\nX86\t\t\t\tvanilla\t\tcompaction\nFinal page count                    913                916 (attempted 1002)\npages reclaimed                   68296               9791\n\nX86-64\t\t\t\tvanilla\t\tcompaction\nFinal page count:                   901                902 (attempted 1002)\nTotal pages reclaimed:           112599              53234\n\nPPC64\t\t\t\tvanilla\t\tcompaction\nFinal page count:                    93                 94 (attempted 110)\nTotal pages reclaimed:           103216              61838\n\nThere was not a dramatic improvement in success rates but it wouldn\u0027t be\nexpected in this case either.  What was important is that fewer pages were\nreclaimed in all cases reducing the amount of IO required to satisfy a\nhuge page allocation.\n\nThe second tests were all performance related - kernbench, netperf, iozone\nand sysbench.  None showed anything too remarkable.\n\nThe last test was a high-order allocation stress test.  Many kernel\ncompiles are started to fill memory with a pressured mix of unmovable and\nmovable allocations.  During this, an attempt is made to allocate 90% of\nmemory as huge pages - one at a time with small delays between attempts to\navoid flooding the IO queue.\n\n                                             vanilla   compaction\nPercentage of request allocated X86               98           99\nPercentage of request allocated X86-64            95           98\nPercentage of request allocated PPC64             55           70\n\nThis patch:\n\nrmap_walk_anon() does not use page_lock_anon_vma() for looking up and\nlocking an anon_vma and it does not appear to have sufficient locking to\nensure the anon_vma does not disappear from under it.\n\nThis patch copies an approach used by KSM to take a reference on the\nanon_vma while pages are being migrated.  This should prevent rmap_walk()\nrunning into nasty surprises later because anon_vma has been freed.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "e325c90ffc13b698fa2814102e05275b21c26bec",
      "tree": "dcb20cad204132e08476d3cb4da66f9a2e08b9fe",
      "parents": [
        "1a5cb81465b66b74bf3d6ad36e5382238de6a132"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon May 24 14:32:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mm: default to node zonelist ordering when nodes have only lowmem\n\nThere are two types of zonelist ordering methodologies:\n\n - node order, preferring allocations on a node to stay local to and\n\n - zone order, preferring allocations come from a higher zone to avoid\n   allocating in lowmem zones even though they may not be local.\n\nThe ordering technique used by the kernel is configurable on the command\nline, but also has some logic to determine what the default should be.\n\nThis logic currently lacks knowledge of systems where a node may only have\nlowmem.  For such systems, it is necessary to use node order so that\nGFP_KERNEL allocations may be satisfied by nodes consisting of only\nlowmem.\n\nIf zone order is used, GFP_KERNEL allocations to such nodes are actually\nallocated on a node with local affinity that includes ZONE_NORMAL.\n\nThis change defaults to node zonelist ordering if any node lacks\nZONE_NORMAL.\n\nTo force zone order, append \u0027numa_zonelist_order\u003dzone\u0027 to the kernel\ncommand line.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "1a5cb81465b66b74bf3d6ad36e5382238de6a132",
      "tree": "28494edfea96752f57c88601d80819759085fade",
      "parents": [
        "e48293fd75b3aa67f43ad6e3d2ff397caa55d58b"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Mon May 24 14:32:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "pagemap: add #ifdefs CONFIG_HUGETLB_PAGE on code walking hugetlb vma\n\nIf !CONFIG_HUGETLB_PAGE, pagemap_hugetlb_range() is never called.  So put\nit (and its calling function) into #ifdef block.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nAcked-by: 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": "e48293fd75b3aa67f43ad6e3d2ff397caa55d58b",
      "tree": "8f163687833fb5e1fa84f72e2e72e1ab83aca91e",
      "parents": [
        "25ef0e50cca790370ad7838e3ad74db6a6a2d829"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mincore: do nested page table walks\n\nDo page table walks with the well-known nested loops we use in several\nother places already.\n\nThis avoids doing full page table walks after every pte range and also\nallows to handle unmapped areas bigger than one pte range in one go.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25ef0e50cca790370ad7838e3ad74db6a6a2d829",
      "tree": "9fef482df352beaeeb0ae1c6a176448cf795d045",
      "parents": [
        "f488401076c5570130c018e573f450a9a6c43365"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mincore: pass ranges as start,end address pairs\n\nInstead of passing a start address and a number of pages into the helper\nfunctions, convert them to use a start and an end address.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f488401076c5570130c018e573f450a9a6c43365",
      "tree": "0e704c52a45e44ba8cbb0dac529e9ad251d9edbd",
      "parents": [
        "6a60f1b3588aef6ddceaa14192df475d430cce45"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mincore: break do_mincore() into logical pieces\n\nSplit out functions to handle hugetlb ranges, pte ranges and unmapped\nranges, to improve readability but also to prepare the file structure for\nnested page table walks.\n\nNo semantic changes intended.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a60f1b3588aef6ddceaa14192df475d430cce45",
      "tree": "4469beefed2e610eef9204b1a4d63cddc5d9aae4",
      "parents": [
        "c0ff7453bb5c7c98e0885fb94279f2571946f280"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon May 24 14:32:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "mincore: cleanups\n\nThis fixes some minor issues that bugged me while going over the code:\n\no adjust argument order of do_mincore() to match the syscall\no simplify range length calculation\no drop superfluous shift in huge tlb calculation, address is page aligned\no drop dead nr_huge calculation\no check pte_none() before pte_present()\no comment and whitespace fixes\n\nNo semantic changes intended.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c0ff7453bb5c7c98e0885fb94279f2571946f280",
      "tree": "8bb2b169a5145f0496575dbd2f48bb4b1c83f819",
      "parents": [
        "708c1bbc9d0c3e57f40501794d9b0eed29d10fce"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon May 24 14:32:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "cpuset,mm: fix no node to alloc memory when changing cpuset\u0027s mems\n\nBefore applying this patch, cpuset updates task-\u003emems_allowed and\nmempolicy by setting all new bits in the nodemask first, and clearing all\nold unallowed bits later.  But in the way, the allocator may find that\nthere is no node to alloc memory.\n\nThe reason is that cpuset rebinds the task\u0027s mempolicy, it cleans the\nnodes which the allocater can alloc pages on, for example:\n\n(mpol: mempolicy)\n\ttask1\t\t\ttask1\u0027s mpol\ttask2\n\talloc page\t\t1\n\t  alloc on node0? NO\t1\n\t\t\t\t1\t\tchange mems from 1 to 0\n\t\t\t\t1\t\trebind task1\u0027s mpol\n\t\t\t\t0-1\t\t  set new bits\n\t\t\t\t0\t  \t  clear disallowed bits\n\t  alloc on node1? NO\t0\n\t  ...\n\tcan\u0027t alloc page\n\t  goto oom\n\nThis patch fixes this problem by expanding the nodes range first(set newly\nallowed bits) and shrink it lazily(clear newly disallowed bits).  So we\nuse a variable to tell the write-side task that read-side task is reading\nnodemask, and the write-side task clears newly disallowed nodes after\nread-side task ends the current memory allocation.\n\n[akpm@linux-foundation.org: fix spello]\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "708c1bbc9d0c3e57f40501794d9b0eed29d10fce",
      "tree": "4b19caf68c420b32abdf05af3d413b1320f04fbe",
      "parents": [
        "971ada0f6659488c3f36aed4c6f7670ff5ce4368"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon May 24 14:32:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: restructure rebinding-mempolicy functions\n\nNick Piggin reported that the allocator may see an empty nodemask when\nchanging cpuset\u0027s mems[1].  It happens only on the kernel that do not do\natomic nodemask_t stores.  (MAX_NUMNODES \u003e BITS_PER_LONG)\n\nBut I found that there is also a problem on the kernel that can do atomic\nnodemask_t stores.  The problem is that the allocator can\u0027t find a node to\nalloc page when changing cpuset\u0027s mems though there is a lot of free\nmemory.  The reason is like this:\n\n(mpol: mempolicy)\n\ttask1\t\t\ttask1\u0027s mpol\ttask2\n\talloc page\t\t1\n\t  alloc on node0? NO\t1\n\t\t\t\t1\t\tchange mems from 1 to 0\n\t\t\t\t1\t\trebind task1\u0027s mpol\n\t\t\t\t0-1\t\t  set new bits\n\t\t\t\t0\t  \t  clear disallowed bits\n\t  alloc on node1? NO\t0\n\t  ...\n\tcan\u0027t alloc page\n\t  goto oom\n\nI can use the attached program reproduce it by the following step:\n\n# mkdir /dev/cpuset\n# mount -t cpuset cpuset /dev/cpuset\n# mkdir /dev/cpuset/1\n# echo `cat /dev/cpuset/cpus` \u003e /dev/cpuset/1/cpus\n# echo `cat /dev/cpuset/mems` \u003e /dev/cpuset/1/mems\n# echo $$ \u003e /dev/cpuset/1/tasks\n# numactl --membind\u003d`cat /dev/cpuset/mems` ./cpuset_mem_hog \u003cnr_tasks\u003e \u0026\n   \u003cnr_tasks\u003e \u003d max(nr_cpus - 1, 1)\n# killall -s SIGUSR1 cpuset_mem_hog\n# ./change_mems.sh\n\nseveral hours later, oom will happen though there is a lot of free memory.\n\nThis patchset fixes this problem by expanding the nodes range first(set\nnewly allowed bits) and shrink it lazily(clear newly disallowed bits).  So\nwe use a variable to tell the write-side task that read-side task is\nreading nodemask, and the write-side task clears newly disallowed nodes\nafter read-side task ends the current memory allocation.\n\nThis patch:\n\nIn order to fix no node to alloc memory, when we want to update mempolicy\nand mems_allowed, we expand the set of nodes first (set all the newly\nnodes) and shrink the set of nodes lazily(clean disallowed nodes), But the\nmempolicy\u0027s rebind functions may breaks the expanding.\n\nSo we restructure the mempolicy\u0027s rebind functions and split the rebind\nwork to two steps, just like the update of cpuset\u0027s mems: The 1st step:\nexpand the set of the mempolicy\u0027s nodes.  The 2nd step: shrink the set of\nthe mempolicy\u0027s nodes.  It is used when there is no real lock to protect\nthe mempolicy in the read-side.  Otherwise we can do rebind work at once.\n\nIn order to implement it, we define\n\n\tenum mpol_rebind_step {\n\t\tMPOL_REBIND_ONCE,\n\t\tMPOL_REBIND_STEP1,\n\t\tMPOL_REBIND_STEP2,\n\t\tMPOL_REBIND_NSTEP,\n\t};\n\nIf the mempolicy needn\u0027t be updated by two steps, we can pass\nMPOL_REBIND_ONCE to the rebind functions.  Or we can pass\nMPOL_REBIND_STEP1 to do the first step of the rebind work and pass\nMPOL_REBIND_STEP2 to do the second step work.\n\nBesides that, it maybe long time between these two step and we have to\nrelease the lock that protects mempolicy and mems_allowed.  If we hold the\nlock once again, we must check whether the current mempolicy is under the\nrebinding (the first step has been done) or not, because the task may\nalloc a new mempolicy when we don\u0027t hold the lock.  So we defined the\nfollowing flag to identify it:\n\n#define MPOL_F_REBINDING (1 \u003c\u003c 2)\n\nThe new functions will be used in the next patch.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "971ada0f6659488c3f36aed4c6f7670ff5ce4368"
}
