)]}'
{
  "log": [
    {
      "commit": "fc0d8d944df0c58cd810f33db82f87dcf5dcc190",
      "tree": "2fb3f712ce4ef5ddd615e145ec1f4afe8f03a689",
      "parents": [
        "45b588d6e5cc172704bac0c998ce54873b149b22"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: add missing kerneldoc annotations\n\nAdd kerneldoc annotations for function formals of type struct flex_array\nand gfp_t which are currently lacking.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.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": "45b588d6e5cc172704bac0c998ce54873b149b22",
      "tree": "57a9d3478af60fcf6932c1f61b083b9203ef1ee8",
      "parents": [
        "4af5a2f770cc8575840ccb1514ec76ecb592985c"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: introduce DEFINE_FLEX_ARRAY\n\nFLEX_ARRAY_INIT(element_size, total_nr_elements) cannot determine if\neither parameter is valid, so flex arrays which are statically allocated\nwith this interface can easily become corrupted or reference beyond its\nallocated memory.\n\nThis removes FLEX_ARRAY_INIT() as a struct flex_array initializer since no\ninitializer may perform the required checking.  Instead, the array is now\ndefined with a new interface:\n\n\tDEFINE_FLEX_ARRAY(name, element_size, total_nr_elements)\n\nThis may be prefixed with `static\u0027 for file scope.\n\nThis interface includes compile-time checking of the parameters to ensure\nthey are valid.  Since the validity of both element_size and\ntotal_nr_elements depend on FLEX_ARRAY_BASE_SIZE and FLEX_ARRAY_PART_SIZE,\nthe kernel build will fail if either of these predefined values changes\nsuch that the array parameters are no longer valid.\n\nSince BUILD_BUG_ON() requires compile time constants, several of the\nstatic inline functions that were once local to lib/flex_array.c had to be\nmoved to include/linux/flex_array.h.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4af5a2f770cc8575840ccb1514ec76ecb592985c",
      "tree": "7af18234d7d171a946925e65e987fd51648be3aa",
      "parents": [
        "19da3dd157f8db6fe727ff268dab4791d55a6371"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: add flex_array_shrink function\n\nAdd a new function to the flex_array API:\n\n\tint flex_array_shrink(struct flex_array *fa)\n\nThis function will free all unused second-level pages.  Since elements are\nnow poisoned if they are not allocated with __GFP_ZERO, it\u0027s possible to\nidentify parts that consist solely of unused elements.\n\nflex_array_shrink() returns the number of pages freed.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19da3dd157f8db6fe727ff268dab4791d55a6371",
      "tree": "4259074638b384e765c73542d74dd8f44750068b",
      "parents": [
        "e6de3988aa52debb25a427d085061f3bf1181d54"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: poison free elements\n\nNewly initialized flex_array\u0027s and/or flex_array_part\u0027s are now poisoned\nwith a new poison value, FLEX_ARRAY_FREE.  It\u0027s value is similar to\nPOISON_FREE used in the various slab allocators, but is different to\ndistinguish between flex array\u0027s poisoned kmem and slab allocator poisoned\nkmem.\n\nThis will allow us to identify flex_array_part\u0027s that only contain free\nelements (and free them with an addition to the flex_array API).  This\ncould also be extended in the future to identify `get\u0027 uses on elements\nthat have not been `put\u0027.\n\nIf __GFP_ZERO is passed for a part\u0027s gfp mask, the poisoning is avoided.\nThese elements are considered to be in-use since they have been\ninitialized.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6de3988aa52debb25a427d085061f3bf1181d54",
      "tree": "4a5dd6acac3e73049918c646bd977894335e5560",
      "parents": [
        "2f30b1f9e1b612cdd1a17daeecf514229e8d6a5f"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: add flex_array_clear function\n\nAdd a new function to the flex_array API:\n\n\tint flex_array_clear(struct flex_array *fa,\n\t\t\t\tunsigned int element_nr)\n\nThis function will zero the element at element_nr in the flex_array.\n\nAlthough this is equivalent to using flex_array_put() and passing a\npointer to zero\u0027d memory, flex_array_clear() does not require such a\npointer to memory that would most likely need to be allocated on the\ncaller\u0027s stack which could be significantly large depending on\nelement_size.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f30b1f9e1b612cdd1a17daeecf514229e8d6a5f",
      "tree": "78be4b31e0fee84c34bcd53270257290098ee058",
      "parents": [
        "efc03ecb9d674588a13aee27289c2af2afe5e6b4"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Mon Sep 21 17:04:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "vsprintf: use WARN_ON_ONCE\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efc03ecb9d674588a13aee27289c2af2afe5e6b4",
      "tree": "b56e72a17bc11c548eeb31a6dd8a593dbab104f2",
      "parents": [
        "076cfaaece1c4e57ea7d924f38b911b9a5502365"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "MAINTAINERS: move ARM lists to infradead\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Krzysztof Halasa \u003ckhc@pm.waw.pl\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": "076cfaaece1c4e57ea7d924f38b911b9a5502365",
      "tree": "a3a69b96fd5e7ec37c98ee89b732e0ea02a76251",
      "parents": [
        "4e04d5a3d57accb0b05d381aa84d93d3749b15e2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "MAINTAINERS: integrate P:/M: lines\n\nA couple of new uses of separate \"P: name\" \"M: address\" lines are\nconverted to single line \"M: name \u003caddress\u003e\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Anil Ravindranath \u003canil_ravindranath@pmc-sierra.com\u003e\nCc: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e04d5a3d57accb0b05d381aa84d93d3749b15e2",
      "tree": "a77c1f4160ae54042cba85780768b8a400521697",
      "parents": [
        "43368e74d126f8e874fce2c248f094edfcf0baa6"
      ],
      "author": {
        "name": "Felipe Contreras",
        "email": "felipe.contreras@gmail.com",
        "time": "Mon Sep 21 17:04:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "MAINTAINERS: omap: fix regex\n\nOtherwise \u0027arch/arm/*omap*/foo.c\u0027 wouldn\u0027t match\n\nSigned-off-by: Felipe Contreras \u003cfelipe.contreras@gmail.com\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": "43368e74d126f8e874fce2c248f094edfcf0baa6",
      "tree": "0a252d2981c8d968a05ca7d1498360c543aee2fe",
      "parents": [
        "b781655a6f6d15bdcc96f2cc1d56b0658f9cf0b4"
      ],
      "author": {
        "name": "Felipe Contreras",
        "email": "felipe.contreras@gmail.com",
        "time": "Mon Sep 21 17:04:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "MAINTAINERS: acpi: add \u0027include/acpi\u0027\n\nSigned-off-by: Felipe Contreras \u003cfelipe.contreras@gmail.com\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": "b781655a6f6d15bdcc96f2cc1d56b0658f9cf0b4",
      "tree": "b2b2b1f0cc825333160b929aa48546b587cc4ace",
      "parents": [
        "11ecf53c97863a0609db3816d82f1d0ddf3d2bc2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "scripts/get_maintainer.pl: add maintainers in order listed in matched section\n\nPrevious behavior was \"bottom-up\" in each section from the pattern \"F:\"\nentry that matched.  Now information is entered into the various lists in\nthe \"as entered\" order for each matched section.\n\nThis also allows the F: entry to be put anywhere in a section, not just as\nthe last entries in the section.\n\nAnd a couple of improvements:\n\nDon\u0027t alphabetically sort before outputting the matched scm, status,\nsubsystem and web sections.\n\nIgnore content after a single email address so these entries are acceptable\nM:\tname \u003caddress\u003e whatever other comment\n\nAnd a fix:\n\nMake an M: entry without a name again use the name from an immediately\npreceding P: line if it exists.\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": "11ecf53c97863a0609db3816d82f1d0ddf3d2bc2",
      "tree": "bea4e471f97f7a5535e03c1e38cdbd588b1a747e",
      "parents": [
        "42498316132e89ca2835b977a7cfb32a83e97b35"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "scripts/get_maintainer.pl: add --remove-duplicates\n\nAllow control over the elimination of duplicate email names and addresses\n\n--remove-duplicates will use the first email name or address presented\n--noremove-duplicates will emit all names and addresses\n\n--remove-duplicates is enabled by default\n\nFor instance:\n\n$ ./scripts/get_maintainer.pl -f drivers/char/tty_ioctl.c\nGreg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAlan Cox \u003calan@linux.intel.com\u003e\nMike Frysinger \u003cvapier@gentoo.org\u003e\nAlexey Dobriyan \u003cadobriyan@gmail.com\u003e\nlinux-kernel@vger.kernel.org\n\n$ ./scripts/get_maintainer.pl -f --noremove-duplicates drivers/char/tty_ioctl.c\nGreg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAlan Cox \u003calan@redhat.com\u003e\nAlan Cox \u003calan@linux.intel.com\u003e\nAlan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nMike Frysinger \u003cvapier@gentoo.org\u003e\nAlexey Dobriyan \u003cadobriyan@gmail.com\u003e\nlinux-kernel@vger.kernel.org\n\nUsing --remove-duplicates could eliminate multiple maintainers that\nshare the same name but not the same email address.\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": "42498316132e89ca2835b977a7cfb32a83e97b35",
      "tree": "1854b2321f90fc546c135b11adcded4429fe299c",
      "parents": [
        "8cbb3a77e1a91073fb279a495a11d5093461dfe5"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "scripts/get_maintainer.pl: using --separator implies --nomultiline\n\nIf a person sets a separator, it\u0027s only used if --nomultiline is set.\nDon\u0027t make the command line also include --nomultiline in that case.\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": "8cbb3a77e1a91073fb279a495a11d5093461dfe5",
      "tree": "847d483a9605e0974df243a4de45487aa31b2aa0",
      "parents": [
        "0e70e83dfd40cac47e1fc3e2f1c7b893ea0cd2f8"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "scripts/get_maintainer.pl: add .mailmap use, shell and email cleanups\n\nAdd reading and using .mailmap file if it exists\nConvert address entries in .mailmap to first encountered address\nDon\u0027t terminate shell commands with \\n\nStrip characters found after sign-offs by: name \u003caddress\u003e [stripped]\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": "0e70e83dfd40cac47e1fc3e2f1c7b893ea0cd2f8",
      "tree": "119b588cff1fb709402dd88be1204e5b7795c70e",
      "parents": [
        "3fb55652b9f754990e286723f209ce3c07c96d69"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "scripts/get_maintainer.pl: better email routines, use perl not shell where possible\n\nAdded format_email and parse_email routines to reduce inline use.\n\nAdded email_address_inuse to eliminate multiple maintainer entries\nfor the same email address, the first name encountered is used.\n\nUsed internal perl equivalents of shell cmd use of grep|cut|sort|uniq\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": "3fb55652b9f754990e286723f209ce3c07c96d69",
      "tree": "6578fa841ae3207a3bb88d2d2c40356f53d637a6",
      "parents": [
        "1d606b4e0bf8fe45e3f88543dfce83207ae0027d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "scripts/get_maintainer.pl: add --pattern-depth\n\n--pattern-depth is used to control how many levels of directory traversal\nshould be performed to find maintainers.  default is 0 (all directory levels).\n\nFor instance:\n\nMAINTAINERS currently has multiple M: and F: entries that match\nnet/netfilter/ipvs/ip_vs_app.c\n\nIPVS\nM:\tWensong Zhang \u003cwensong@linux-vs.org\u003e\nM:\tSimon Horman \u003chorms@verge.net.au\u003e\nM:\tJulian Anastasov \u003cja@ssi.bg\u003e\n[...]\nF:\tnet/netfilter/ipvs/\n\nNETFILTER/IPTABLES/IPCHAINS\n[...]\nM:\tPatrick McHardy \u003ckaber@trash.net\u003e\n[...]\nF:\tnet/netfilter/\n\nNETWORKING [GENERAL]\nM:\t\"David S. Miller\" \u003cdavem@davemloft.net\u003e\n[...]\nF:\tnet/\n\nTHE REST\nM:\tLinus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n[...]\nF:\t*/\n\nUsing this command will return all of those maintainers:\n(except Linus unless --git-chief-maintainers is specified)\n\n$ ./scripts/get_maintainer.pl --nogit -nol \\\n\t-f net/netfilter/ipvs/ip_vs_app.c\nJulian Anastasov \u003cja@ssi.bg\u003e\nSimon Horman \u003chorms@verge.net.au\u003e\nWensong Zhang \u003cwensong@linux-vs.org\u003e\nPatrick McHardy \u003ckaber@trash.net\u003e\nDavid S. Miller \u003cdavem@davemloft.net\u003e\n\nAdding --pattern-depth\u003d1 will match at the deepest level\n$ ./scripts/get_maintainer.pl --nogit -nol --pattern-depth\u003d1 \\\n\t-f net/netfilter/ipvs/ip_vs_app.c\nJulian Anastasov \u003cja@ssi.bg\u003e\nSimon Horman \u003chorms@verge.net.au\u003e\nWensong Zhang \u003cwensong@linux-vs.org\u003e\n\nAdding --pattern-depth\u003d2 will match at the deepest level and 1 higher\n$ ./scripts/get_maintainer.pl --nogit -nol --pattern-depth\u003d2 \\\n\t-f net/netfilter/ipvs/ip_vs_app.c\nJulian Anastasov \u003cja@ssi.bg\u003e\nSimon Horman \u003chorms@verge.net.au\u003e\nWensong Zhang \u003cwensong@linux-vs.org\u003e\nPatrick McHardy \u003ckaber@trash.net\u003e\n\nand so on.\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": "1d606b4e0bf8fe45e3f88543dfce83207ae0027d",
      "tree": "3ce6a2d59ce2240b21d60afc929d58999e9efbc7",
      "parents": [
        "f5492666a3b62344de9026a960c11888160362c9"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "scripts/get_maintainer.pl: add sections in pattern match depth order\n\nBefore this change, matched sections were added in the order\nof appearance in the normally alphabetic section order of\nthe MAINTAINERS file.\n\nFor instance, finding the maintainer for drivers/scsi/wd7000.c\nwould first find \"SCSI SUBSYSTEM\", then \"WD7000 SCSI SUBSYSTEM\",\nthen \"THE REST\".\n\nbefore patch:\n\n$ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c\nJames E.J. Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nMiroslav Zagorac \u003czaga@fly.cc.fer.hr\u003e\nlinux-scsi@vger.kernel.org\nlinux-kernel@vger.kernel.org\n\nget_maintainer.pl now selects matched sections by longest pattern match.\nLongest is the number of \"/\"s and any specific file pattern.\n\nThis changes the example output order of MAINTAINERS to whatever is\nselected in \"WD7000 SUBSYSTEM\", then \"SCSI SYSTEM\", then \"THE REST\".\n\nafter patch:\n\n$ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c\nMiroslav Zagorac \u003czaga@fly.cc.fer.hr\u003e\nJames E.J. Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nlinux-scsi@vger.kernel.org\nlinux-kernel@vger.kernel.org\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": "f5492666a3b62344de9026a960c11888160362c9",
      "tree": "e9f491186ac1f778817c8b493857d9c84478cb85",
      "parents": [
        "b61d4a71e483fe1aa1c4b170c28d85be77edce4f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 21 17:04:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "scripts/get_maintainer.pl: add --git-blame\n\nJulia Lawall suggested that get_maintainers.pl should have the\nability to include signatories of commits that are modified by\na particular patch.\n\nVegard Nossum did something similar once.\nhttp://lkml.org/lkml/2008/5/29/449\n\nThe modified script looks the commits for all lines in the\npatch, and includes the \"-by:\" signatories for those commits.\nIt uses the same git-min-percent, git-max-maintainers, and\ngit-min-signatures options.  git-since is ignored.\n\nIt can be used independently from the --git default, so\n        ./scripts/get_maintainers.pl --nogit --git-blame \u003cpatch\u003e\nor\n        ./scripts/get_maintainers.pl --nogit --git-blame -f \u003cfile\u003e\nis acceptable.\n\nIf used with -f \u003cfile\u003e, all lines/commits for the file are\nchecked.\n\n--git-blame can be slow if used with -f \u003cfile\u003e\n--git-blame does not work with -f \u003cdirectory\u003e\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": "b61d4a71e483fe1aa1c4b170c28d85be77edce4f",
      "tree": "125f223e8f97c1ebbeadc8d5b0681c4d535092ea",
      "parents": [
        "4d04c70754eec6d0fd342a5bc3f684db69cc2226"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "heder@google.com",
        "time": "Mon Sep 21 17:04:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:46 2009 -0700"
      },
      "message": "MAINTAINERS: add IPVS include files\n\nSigned-off-by: Hannes Eder \u003cheder@google.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d04c70754eec6d0fd342a5bc3f684db69cc2226",
      "tree": "4001855784fddcec748e2f9754933a537d04c7d4",
      "parents": [
        "db4e5cbe2f201c6abd51f7dfe41dbd2589affeba"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Sep 21 17:04:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:45 2009 -0700"
      },
      "message": "uml: fix order of pud and pmd_free()\n\nIf pmd_alloc() fails we should only free the prior allocated pud, if\npte_alloc_map() fails, we should free pmd as well.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db4e5cbe2f201c6abd51f7dfe41dbd2589affeba",
      "tree": "e1db462b358d7242faae23e46bd74fd3f246d7bb",
      "parents": [
        "672917dcc781ead7652a8b11b1fba14e38ac15b8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Sep 21 17:04:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:45 2009 -0700"
      },
      "message": "um: convert to asm-generic/hardirq.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "672917dcc781ead7652a8b11b1fba14e38ac15b8",
      "tree": "c504b7f60737ba8d82eabfa662585d463ae5ea66",
      "parents": [
        "69d25870f20c4b2563304f2b79c5300dd60a067e"
      ],
      "author": {
        "name": "Corrado Zoccolo",
        "email": "czoccolo@gmail.com",
        "time": "Mon Sep 21 17:04:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:45 2009 -0700"
      },
      "message": "cpuidle: menu governor: reduce latency on exit\n\nMove the state residency accounting and statistics computation off the hot\nexit path.\n\nOn exit, the need to recompute statistics is recorded, and new statistics\nwill be computed when menu_select is called again.\n\nThe expected effect is to reduce processor wakeup latency from sleep\n(C-states).  We are speaking of few hundreds of cycles reduction out of a\nseveral microseconds latency (determined by the hardware transition), so\nit is difficult to measure.\n\nSigned-off-by: Corrado Zoccolo \u003cczoccolo@gmail.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Adam Belay \u003cabelay@novell.com\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69d25870f20c4b2563304f2b79c5300dd60a067e",
      "tree": "cda2b2d65c1be95420c6ba92ae2d40fade4232c4",
      "parents": [
        "45d80eea87c9f8292d2d33173d6866c0ec57238a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Sep 21 17:04:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:45 2009 -0700"
      },
      "message": "cpuidle: fix the menu governor to boost IO performance\n\nFix the menu idle governor which balances power savings, energy efficiency\nand performance impact.\n\nThe reason for a reworked governor is that there have been serious\nperformance issues reported with the existing code on Nehalem server\nsystems.\n\nTo show this I\u0027m sure Andrew wants to see benchmark results:\n(benchmark is \"fio\", \"no cstates\" is using \"idle\u003dpoll\")\n\n\t\tno cstates\tcurrent linux\tnew algorithm\n1 disk\t\t107 Mb/s\t85 Mb/s\t\t105 Mb/s\n2 disks\t\t215 Mb/s\t123 Mb/s\t209 Mb/s\n12 disks\t590 Mb/s\t320 Mb/s\t585 Mb/s\n\nIn various power benchmark measurements, no degredation was found by our\nmeasurement\u0026diagnostics team.  Obviously a small percentage more power was\nused in the \"fio\" benchmark, due to the much higher performance.\n\nWhile it would be a novel idea to describe the new algorithm in this\ncommit message, I cheaped out and described it in comments in the code\ninstead.\n\n[changes since first post: spelling fixes from akpm, review feedback,\nfolded menu-tng into menu.c]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@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": "45d80eea87c9f8292d2d33173d6866c0ec57238a",
      "tree": "2286da07cdadfb600200679cf9d0090278a39230",
      "parents": [
        "4ad4c76b7afb71774b846b322ad2ae42f814331a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Sep 21 17:04:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:44 2009 -0700"
      },
      "message": "m68k: convert to asm-generic/hardirq.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\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": "4ad4c76b7afb71774b846b322ad2ae42f814331a",
      "tree": "eae834caeb70f70c1112113628cf6f94a0bdfd14",
      "parents": [
        "ef187fd799c50e15dbb56a0286c81bf467bd0201"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Sep 21 17:04:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "m68k: convert to use arch_gettimeoffset()\n\nConvert m68k to use GENERIC_TIME via the arch_getoffset() infrastructure,\nreducing the amount of arch specific code we need to maintain.\n\nI\u0027ve taken my best swing at converting this, but I\u0027m not 100% confident\nI got it right. My cross-compiler is now out of date (gcc4.2) so I\nwasn\u0027t able to  check if it compiled. Any assistance from arch\nmaintainers or testers to get this merged would be great.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@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": "ef187fd799c50e15dbb56a0286c81bf467bd0201",
      "tree": "34753f6f10b3bd07c0d832c06338bfbdd73342b2",
      "parents": [
        "95ad759c6b0f30ad9aa5efbdbcecb9597238c00f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Sep 21 17:04:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "m32r: convert to asm-generic/hardirq.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95ad759c6b0f30ad9aa5efbdbcecb9597238c00f",
      "tree": "596e961f86340694d205b652de02c90a16546b90",
      "parents": [
        "d5a6d1739526ed8c383db3dabc232bc15603439a"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Sep 21 17:04:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "m32r: convert to use arch_gettimeoffset()\n\nConvert m32r to use GENERIC_TIME via the arch_getoffset() infrastructure,\nreducing the amount of arch specific code we need to maintain.\n\nI also noted that m32r doesn\u0027t seem to be taking the xtime write lock\nbefore calling do_timer()!  That looks like a pretty bad bug to me.  If\nfolks agree, let me know and I can move the lock grab to the correct spot.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5a6d1739526ed8c383db3dabc232bc15603439a",
      "tree": "8562c06469f310df7cdd8fe46be428207be839da",
      "parents": [
        "1f693665457539e919856149151b7a7e96550d70"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Sep 21 17:04:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "m32r: remove redundant tests on unsigned\n\n`off\u0027 and `max_cpus\u0027 are unsigned.  When negative they are wrapped and\ncaught by the other test.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f693665457539e919856149151b7a7e96550d70",
      "tree": "20e042535ff01d419dd981845bcd2820fac63d28",
      "parents": [
        "621731980fe1b19f0a107e17e2af5f8d4411db3e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Sep 21 17:04:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "alpha: convert to asm-generic/hardirq.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "621731980fe1b19f0a107e17e2af5f8d4411db3e",
      "tree": "3c1168b17a32a5134bf23cce93341149020676e4",
      "parents": [
        "27258e448eb301cf89e351df87aa8cb916653bf2"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Mon Sep 21 17:04:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "alpha: use printk_once\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27258e448eb301cf89e351df87aa8cb916653bf2",
      "tree": "02ac13d99be71f0f623d176e6ee5125e9507d965",
      "parents": [
        "4f543fa41e78bd366123424a3378f2f4918c0f33"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Sep 21 17:04:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "arch/alpha/boot/tools/objstrip.c: wrong variable tested after open()\n\nThe incorrect variable is tested. fd is used for another open()\nand is already tested.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f543fa41e78bd366123424a3378f2f4918c0f33",
      "tree": "bf6e9fdb30c41de9833dcf2a363177ea0dc28a5d",
      "parents": [
        "6e0c9e77771e08b171c4abeb073285d8fb03f528"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Sep 21 17:04:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "alpha: convert to use arch_gettimeoffset()\n\nConverts alpha to use GENERIC_TIME via the arch_getoffset()\ninfrastructure, reducing the amount of arch specific code we need to\nmaintain.\n\nI suspect the alpha arch could even be further improved to provide and\nrpcc() based clocksource, but not having the hardware, I don\u0027t feel\ncomfortable attempting the more complicated conversion (but I\u0027d be glad to\nhelp if anyone else is interested).\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e0c9e77771e08b171c4abeb073285d8fb03f528",
      "tree": "826c32f5e9e346e68b53e070284d06d1641f58db",
      "parents": [
        "eb8cdec4a984fde123a91250dcc9e0bddf5eafdc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Sep 21 17:03:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "h8300: convert to asm-generic/hardirq.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb8cdec4a984fde123a91250dcc9e0bddf5eafdc",
      "tree": "9f97b5949e6e63ae947363149b62ed224dad5ab9",
      "parents": [
        "02e87d1a934c70e3599eb7a29db783806d329e17"
      ],
      "author": {
        "name": "Bernd Schmidt",
        "email": "bernds_cb1@t-online.de",
        "time": "Mon Sep 21 17:03:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:43 2009 -0700"
      },
      "message": "nommu: add support for Memory Protection Units (MPU)\n\nSome architectures (like the Blackfin arch) implement some of the\n\"simpler\" features that one would expect out of a MMU such as memory\nprotection.\n\nIn our case, we actually get read/write/exec protection down to the page\nboundary so processes can\u0027t stomp on each other let alone the kernel.\n\nThere is a performance decrease (which depends greatly on the workload)\nhowever as the hardware/software interaction was not optimized at design\ntime.\n\nSigned-off-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02e87d1a934c70e3599eb7a29db783806d329e17",
      "tree": "74e469003183fb3cbea4ce8081e7b186c656179b",
      "parents": [
        "e6be4a8c26d0a9bacd811084c468e25863e3d069"
      ],
      "author": {
        "name": "Kristoffer Ericson",
        "email": "kristoffer.ericson@gmail.com",
        "time": "Mon Sep 21 17:03:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "pcmcia: cleanup/fixup patch for sa1100_jornada_pcmcia driver\n\nClean up the /drivers/pcmcia/sa1100_jornada.c file with respect to\nformatting.  It also changes a build warning into a code comment (since\nits a pain to watch every build and havent seen any problems with driver\nin 3.5years).\n\nSigned-off-by: Kristoffer Ericson \u003ckristoffer.ericson@gmail.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6be4a8c26d0a9bacd811084c468e25863e3d069",
      "tree": "51f0e91aab763fc2af3235336ab501dc7c24263d",
      "parents": [
        "470967dc6c38696f853b7f338eb9d743c28a9e11"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:03:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "pcmcia: switch /proc/bus/pccard/drivers to seq_file\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "470967dc6c38696f853b7f338eb9d743c28a9e11",
      "tree": "9dac40e966a5bb4a902f9cdb8ea0701fe964b85f",
      "parents": [
        "734f3fa18d460995c8621cf2331b7fba88c977ce"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Sep 21 17:03:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "pcmcia: fix read buffer overflow\n\nIf count \u003e 0 and dev-\u003erlen \u003d\u003d dev-\u003erpos and dev-\u003eproto \u003d\u003d 0 then we read\nand write dev-\u003erbuf[-1];\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Harald Welte \u003claforge@gnumonks.org\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "734f3fa18d460995c8621cf2331b7fba88c977ce",
      "tree": "64efcf651bcb43ce6d361fa1accffbf07056422d",
      "parents": [
        "f68e14805085972b4e0b0ab684af37f713b9c262"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Sep 21 17:03:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "pcmcia: yenta: add missing __devexit marking\n\nThe remove member of the pci_driver yenta_cardbus_driver uses\n__devexit_p(), so the remove function itself should be marked with\n__devexit.  Even more so considering the probe function is marked with\n__devinit.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Daniel Ritz \u003cdaniel.ritz-ml@swissonline.ch\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f68e14805085972b4e0b0ab684af37f713b9c262",
      "tree": "6e0cc9e1e3f29b36ec3d7acfaf863cf9bb39ea5b",
      "parents": [
        "3d2d827f5ca5e32816194119d5c980c7e04474a6"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 21 17:03:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "mm: reduce atomic use on use_mm fast path\n\nWhen the mm being switched to matches the active mm, we don\u0027t need to\nincrement and then drop the mm count.  In a simple benchmark this happens\nin about 50% of time.  Making that conditional reduces contention on that\ncacheline on SMP systems.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@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": "3d2d827f5ca5e32816194119d5c980c7e04474a6",
      "tree": "fe0e84669f5f20e1dff8e3dc6b191b4d5dfc0145",
      "parents": [
        "425fbf047cc70bb30dff368a6da02c8c2d229318"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 21 17:03:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "mm: move use_mm/unuse_mm from aio.c to mm/\n\nAnyone who wants to do copy to/from user from a kernel thread, needs\nuse_mm (like what fs/aio has).  Move that into mm/, to make reusing and\nexporting easier down the line, and make aio use it.  Next intended user,\nbesides aio, will be vhost-net.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@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": "425fbf047cc70bb30dff368a6da02c8c2d229318",
      "tree": "7e71fc7a73c799debba250998ab3b3f56c124e90",
      "parents": [
        "6e17b17f1fc7b2f24383a693d63550d9e1460081"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Sep 21 17:03:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "shmem: initialize struct shmem_sb_info to zero\n\nFixes the following kmemcheck false positive (the compiler is using\na 32-bit mov to load the 16-bit sbinfo-\u003emode in shmem_fill_super):\n\n[    0.337000] Total of 1 processors activated (3088.38 BogoMIPS).\n[    0.352000] CPU0 attaching NULL sched-domain.\n[    0.360000] WARNING: kmemcheck: Caught 32-bit read from uninitialized\nmemory (9f8020fc)\n[    0.361000]\na44240820000000041f6998100000000000000000000000000000000ff030000\n[    0.368000]  i i i i i i i i i i i i i i i i u u u u i i i i i i i i i i u\nu\n[    0.375000]                                                          ^\n[    0.376000]\n[    0.377000] Pid: 9, comm: khelper Not tainted (2.6.31-tip #206) P4DC6\n[    0.378000] EIP: 0060:[\u003c810a3a95\u003e] EFLAGS: 00010246 CPU: 0\n[    0.379000] EIP is at shmem_fill_super+0xb5/0x120\n[    0.380000] EAX: 00000000 EBX: 9f845400 ECX: 824042a4 EDX: 8199f641\n[    0.381000] ESI: 9f8020c0 EDI: 9f845400 EBP: 9f81af68 ESP: 81cd6eec\n[    0.382000]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n[    0.383000] CR0: 8005003b CR2: 9f806200 CR3: 01ccd000 CR4: 000006d0\n[    0.384000] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\n[    0.385000] DR6: ffff4ff0 DR7: 00000400\n[    0.386000]  [\u003c810c25fc\u003e] get_sb_nodev+0x3c/0x80\n[    0.388000]  [\u003c810a3514\u003e] shmem_get_sb+0x14/0x20\n[    0.390000]  [\u003c810c207f\u003e] vfs_kern_mount+0x4f/0x120\n[    0.392000]  [\u003c81b2849e\u003e] init_tmpfs+0x7e/0xb0\n[    0.394000]  [\u003c81b11597\u003e] do_basic_setup+0x17/0x30\n[    0.396000]  [\u003c81b11907\u003e] kernel_init+0x57/0xa0\n[    0.398000]  [\u003c810039b7\u003e] kernel_thread_helper+0x7/0x10\n[    0.400000]  [\u003cffffffff\u003e] 0xffffffff\n[    0.402000] khelper used greatest stack depth: 2820 bytes left\n[    0.407000] calling  init_mmap_min_addr+0x0/0x10 @ 1\n[    0.408000] initcall init_mmap_min_addr+0x0/0x10 returned 0 after 0 usecs\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAnalysed-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e17b17f1fc7b2f24383a693d63550d9e1460081",
      "tree": "146a9921760755dfd5398c3fd56df918e391fe0d",
      "parents": [
        "94bf5ceac095c7d4cb5e4d40fa7e2dd81d722b75"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Sep 21 17:03:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "mm: remove duplicate asm/mman.h files\n\nA number of architectures have identical asm/mman.h files so they can all\nbe merged by using the new generic file.\n\nThe remaining asm/mman.h files are substantially different from each\nother.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94bf5ceac095c7d4cb5e4d40fa7e2dd81d722b75",
      "tree": "5e41a60cbc7281cb68df1d4a2139933877096616",
      "parents": [
        "4e52780d41a741fb4861ae1df2413dd816ec11b1"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Mon Sep 21 17:03:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "hugetlb: add MAP_HUGETLB example\n\nAdd an example of how to use the MAP_HUGETLB flag to the vm documentation\ndirectory and a reference to the example in hugetlbpage.txt.\n\nSigned-off-by: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e52780d41a741fb4861ae1df2413dd816ec11b1",
      "tree": "b3722349661ed0ce87841b110f568616892cf719",
      "parents": [
        "90f72aa58bbf076b68e289fbd71eb829bc505923"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Mon Sep 21 17:03:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "hugetlb: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions\n\nAdd a flag for mmap that will be used to request a huge page region that\nwill look like anonymous memory to userspace.  This is accomplished by\nusing a file on the internal vfsmount.  MAP_HUGETLB is a modifier of\nMAP_ANONYMOUS and so must be specified with it.  The region will behave\nthe same as a MAP_ANONYMOUS region using small pages.\n\n[akpm@linux-foundation.org: fix arch definitions of MAP_HUGETLB]\nSigned-off-by: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90f72aa58bbf076b68e289fbd71eb829bc505923",
      "tree": "992e5f59086cc77581fa10b52fb4a46fb3baf3f0",
      "parents": [
        "6bfde05bf5c9682e255c6a2c669dc80f91af6296"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Sep 21 17:03:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions\n\nAdd a flag for mmap that will be used to request a huge page region that\nwill look like anonymous memory to user space.  This is accomplished by\nusing a file on the internal vfsmount.  MAP_HUGETLB is a modifier of\nMAP_ANONYMOUS and so must be specified with it.  The region will behave\nthe same as a MAP_ANONYMOUS region using small pages.\n\nThe patch also adds the MAP_STACK flag, which was previously defined only\non some architectures but not on others.  Since MAP_STACK is meant to be a\nhint only, architectures can define it without assigning a specific\nmeaning to it.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bfde05bf5c9682e255c6a2c669dc80f91af6296",
      "tree": "3ff62bb87fc12c1ce808a54f789c42c35be7c049",
      "parents": [
        "f8dbf0a7a4c5d98e8b70da9f7f4f6a89f3b7a7bb"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Mon Sep 21 17:03:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "hugetlbfs: allow the creation of files suitable for MAP_PRIVATE on the vfs internal mount\n\nThis patchset adds a flag to mmap that allows the user to request that an\nanonymous mapping be backed with huge pages.  This mapping will borrow\nfunctionality from the huge page shm code to create a file on the kernel\ninternal mount and use it to approximate an anonymous mapping.  The\nMAP_HUGETLB flag is a modifier to MAP_ANONYMOUS and will not work without\nboth flags being preset.\n\nA new flag is necessary because there is no other way to hook into huge\npages without creating a file on a hugetlbfs mount which wouldn\u0027t be\nMAP_ANONYMOUS.\n\nTo userspace, this mapping will behave just like an anonymous mapping\nbecause the file is not accessible outside of the kernel.\n\nThis patchset is meant to simplify the programming model.  Presently there\nis a large chunk of boiler platecode, contained in libhugetlbfs, required\nto create private, hugepage backed mappings.  This patch set would allow\nuse of hugepages without linking to libhugetlbfs or having hugetblfs\nmounted.\n\nUnification of the VM code would provide these same benefits, but it has\nbeen resisted each time that it has been suggested for several reasons: it\nwould break PAGE_SIZE assumptions across the kernel, it makes page-table\nabstractions really expensive, and it does not provide any benefit on\narchitectures that do not support huge pages, incurring fast path\npenalties without providing any benefit on these architectures.\n\nThis patch:\n\nThere are two means of creating mappings backed by huge pages:\n\n        1. mmap() a file created on hugetlbfs\n        2. Use shm which creates a file on an internal mount which essentially\n           maps it MAP_SHARED\n\nThe internal mount is only used for shared mappings but there is very\nlittle that stops it being used for private mappings. This patch extends\nhugetlbfs_file_setup() to deal with the creation of files that will be\nmapped MAP_PRIVATE on the internal hugetlbfs mount. This extended API is\nused in a subsequent patch to implement the MAP_HUGETLB mmap() flag.\n\nSigned-off-by: Eric Munson \u003cebmunson@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8dbf0a7a4c5d98e8b70da9f7f4f6a89f3b7a7bb",
      "tree": "1f40d51f39965017999c36e3a5ae78b67e43f5d5",
      "parents": [
        "252c5f94d944487e9f50ece7942b0fbf659c5c31"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon Sep 21 17:03:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mmap: save some cycles for the shared anonymous mapping\n\nshmem_zero_setup() does not change vm_start, pgoff or vm_flags, only some\ndrivers change them (such as /driver/video/bfin-t350mcqb-fb.c).\n\nMove these codes to a more proper place to save cycles for shared\nanonymous mapping.\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "252c5f94d944487e9f50ece7942b0fbf659c5c31",
      "tree": "0dd21bdb968ce5bd3f30fadce261984d3b1abf98",
      "parents": [
        "3f96b79ad96263cc0ece7bb340cddf9b2ddfb1b3"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Sep 21 17:03:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mmap: avoid unnecessary anon_vma lock acquisition in vma_adjust()\n\nWe noticed very erratic behavior [throughput] with the AIM7 shared\nworkload running on recent distro [SLES11] and mainline kernels on an\n8-socket, 32-core, 256GB x86_64 platform.  On the SLES11 kernel\n[2.6.27.19+] with Barcelona processors, as we increased the load [10s of\nthousands of tasks], the throughput would vary between two \"plateaus\"--one\nat ~65K jobs per minute and one at ~130K jpm.  The simple patch below\ncauses the results to smooth out at the ~130k plateau.\n\nBut wait, there\u0027s more:\n\nWe do not see this behavior on smaller platforms--e.g., 4 socket/8 core.\nThis could be the result of the larger number of cpus on the larger\nplatform--a scalability issue--or it could be the result of the larger\nnumber of interconnect \"hops\" between some nodes in this platform and how\nthe tasks for a given load end up distributed over the nodes\u0027 cpus and\nmemories--a stochastic NUMA effect.\n\nThe variability in the results are less pronounced [on the same platform]\nwith Shanghai processors and with mainline kernels.  With 31-rc6 on\nShanghai processors and 288 file systems on 288 fibre attached storage\nvolumes, the curves [jpm vs load] are both quite flat with the patched\nkernel consistently producing ~3.9% better throughput [~80K jpm vs ~77K\njpm] than the unpatched kernel.\n\nProfiling indicated that the \"slow\" runs were incurring high[er]\ncontention on an anon_vma lock in vma_adjust(), apparently called from the\nsbrk() system call.\n\nThe patch:\n\nA comment in mm/mmap.c:vma_adjust() suggests that we don\u0027t really need the\nanon_vma lock when we\u0027re only adjusting the end of a vma, as is the case\nfor brk().  The comment questions whether it\u0027s worth while to optimize for\nthis case.  Apparently, on the newer, larger x86_64 platforms, with\ninteresting NUMA topologies, it is worth while--especially considering\nthat the patch [if correct!] is quite simple.\n\nWe can detect this condition--no overlap with next vma--by noting a NULL\n\"importer\".  The anon_vma pointer will also be NULL in this case, so\nsimply avoid loading vma-\u003eanon_vma to avoid the lock.\n\nHowever, we DO need to take the anon_vma lock when we\u0027re inserting a vma\n[\u0027insert\u0027 non-NULL] even when we have no overlap [NULL \"importer\"], so we\nneed to check for \u0027insert\u0027, as well.  And Hugh points out that we should\nalso take it when adjusting vm_start (so that rmap.c can rely upon\nvma_address() while it holds the anon_vma lock).\n\nakpm: Zhang Yanmin reprts a 150% throughput improvement with aim7, so it\nmight be -stable material even though thiss isn\u0027t a regression: \"this\nissue is not clear on dual socket Nehalem machine (2*4*2 cpu), but is\nsevere on large machine (4*8*2 cpu)\"\n\n[hugh.dickins@tiscali.co.uk: test vma start too]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nTested-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f96b79ad96263cc0ece7bb340cddf9b2ddfb1b3",
      "tree": "0da9828c16543164f1b055fd927ea3e222ca05e5",
      "parents": [
        "cdf7b3418ad5a8783efe8f9124023d9b869fec0f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "tmpfs: depend on shmem\n\nCONFIG_SHMEM off gives you (ramfs masquerading as) tmpfs, even when\nCONFIG_TMPFS is off: that\u0027s a little anomalous, and I\u0027d intended to make\nmore sense of it by removing CONFIG_TMPFS altogether, always enabling its\ncode when CONFIG_SHMEM; but so many defconfigs have CONFIG_SHMEM on\nCONFIG_TMPFS off that we\u0027d better leave that as is.\n\nBut there is no point in asking for CONFIG_TMPFS if CONFIG_SHMEM is off:\nmake TMPFS depend on SHMEM, which also prevents TMPFS_POSIX_ACL\nshmem_acl.o being pointlessly built into the kernel when SHMEM is off.\n\nAnd a selfish change, to prevent the world from being rebuilt when I\nswitch between CONFIG_SHMEM on and off: the only CONFIG_SHMEM in the\nheader files is mm.h shmem_lock() - give that a shmem.c stub instead.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\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": "cdf7b3418ad5a8783efe8f9124023d9b869fec0f",
      "tree": "0504a26ba5d7cbbaa71bdd2911d55c6934de8be5",
      "parents": [
        "03f6462a3ae78f36eb1f0ee8b4d5ae2f7859c1d5"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon Sep 21 17:03:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mmap: remove unnecessary code\n\nIf (flags \u0026 MAP_LOCKED) is true, it means vm_flags has already contained\nthe bit VM_LOCKED which is set by calc_vm_flag_bits().\n\nSo there is no need to reset it again, just remove it.\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03f6462a3ae78f36eb1f0ee8b4d5ae2f7859c1d5",
      "tree": "bf19c5019705796e90ef592233aca5f09025a92f",
      "parents": [
        "62eede62dafb4a6633eae7ffbeb34c60dba5e7b1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mm: move highest_memmap_pfn\n\nMove highest_memmap_pfn __read_mostly from page_alloc.c next to zero_pfn\n__read_mostly in memory.c: to help them share a cacheline, since they\u0027re\nvery often tested together in vm_normal_page().\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62eede62dafb4a6633eae7ffbeb34c60dba5e7b1",
      "tree": "e55a0ca4ad0c55ad162443146268cfb4c473750f",
      "parents": [
        "3ae77f43b1118a76ea37952d444319c15e002c03"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mm: ZERO_PAGE without PTE_SPECIAL\n\nReinstate anonymous use of ZERO_PAGE to all architectures, not just to\nthose which __HAVE_ARCH_PTE_SPECIAL: as suggested by Nick Piggin.\n\nContrary to how I\u0027d imagined it, there\u0027s nothing ugly about this, just a\nzero_pfn test built into one or another block of vm_normal_page().\n\nBut the MIPS ZERO_PAGE-of-many-colours case demands is_zero_pfn() and\nmy_zero_pfn() inlines.  Reinstate its mremap move_pte() shuffling of\nZERO_PAGEs we did from 2.6.17 to 2.6.19?  Not unless someone shouts for\nthat: it would have to take vm_flags to weed out some cases.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae77f43b1118a76ea37952d444319c15e002c03",
      "tree": "78152c28d4c8be8da36148e2e38e87e1b08b839b",
      "parents": [
        "6e919717c82c5773ac671816c8392c70d261685f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mm: hugetlbfs_pagecache_present\n\nRename hugetlbfs_backed() to hugetlbfs_pagecache_present()\nand add more comments, as suggested by Mel Gorman.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e919717c82c5773ac671816c8392c70d261685f",
      "tree": "76e22da3ba5000e4ea408315723cc67f3e4b6352",
      "parents": [
        "58fa879e1e640a1856f736b418984ebeccee1c95"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: m(un)lock avoid ZERO_PAGE\n\nI\u0027m still reluctant to clutter __get_user_pages() with another flag, just\nto avoid touching ZERO_PAGE count in mlock(); though we can add that later\nif it shows up as an issue in practice.\n\nBut when mlocking, we can test page-\u003emapping slightly earlier, to avoid\nthe potentially bouncy rescheduling of lock_page on ZERO_PAGE - mlock\ndidn\u0027t lock_page in olden ZERO_PAGE days, so we might have regressed.\n\nAnd when munlocking, it turns out that FOLL_DUMP coincidentally does\nwhat\u0027s needed to avoid all updates to ZERO_PAGE, so use that here also.\nPlus add comment suggested by KAMEZAWA Hiroyuki.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58fa879e1e640a1856f736b418984ebeccee1c95",
      "tree": "dc37bce8379e29c46e79f105cc71d137b14965cf",
      "parents": [
        "a13ea5b759645a0779edc6dbfec9abfd83220844"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: FOLL flags for GUP flags\n\n__get_user_pages() has been taking its own GUP flags, then processing\nthem into FOLL flags for follow_page().  Though oddly named, the FOLL\nflags are more widely used, so pass them to __get_user_pages() now.\nSorry, VM flags, VM_FAULT flags and FAULT_FLAGs are still distinct.\n\n(The patch to __get_user_pages() looks peculiar, with both gup_flags\nand foll_flags: the gup_flags remain constant; but as before there\u0027s\nan exceptional case, out of scope of the patch, in which foll_flags\nper page have FOLL_WRITE masked off.)\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a13ea5b759645a0779edc6dbfec9abfd83220844",
      "tree": "864dd495718195bd065d9f26edac2504e6de5af0",
      "parents": [
        "1ac0cb5d0e22d5e483f56b2bc12172dec1cf7536"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: reinstate ZERO_PAGE\n\nKAMEZAWA Hiroyuki has observed customers of earlier kernels taking\nadvantage of the ZERO_PAGE: which we stopped do_anonymous_page() from\nusing in 2.6.24.  And there were a couple of regression reports on LKML.\n\nFollowing suggestions from Linus, reinstate do_anonymous_page() use of\nthe ZERO_PAGE; but this time avoid dirtying its struct page cacheline\nwith (map)count updates - let vm_normal_page() regard it as abnormal.\n\nUse it only on arches which __HAVE_ARCH_PTE_SPECIAL (x86, s390, sh32,\nmost powerpc): that\u0027s not essential, but minimizes additional branches\n(keeping them in the unlikely pte_special case); and incidentally\nexcludes mips (some models of which needed eight colours of ZERO_PAGE\nto avoid costly exceptions).\n\nDon\u0027t be fanatical about avoiding ZERO_PAGE updates: get_user_pages()\ncallers won\u0027t want to make exceptions for it, so increment its count\nthere.  Changes to mlock and migration? happily seems not needed.\n\nIn most places it\u0027s quicker to check pfn than struct page address:\nprepare a __read_mostly zero_pfn for that.  Does get_dump_page()\nstill need its ZERO_PAGE check? probably not, but keep it anyway.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ac0cb5d0e22d5e483f56b2bc12172dec1cf7536",
      "tree": "68114711dc747a557895896af991623438034c2d",
      "parents": [
        "2a15efc953b26ad57d7d38b9e6782d57e53b4ab2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: fix anonymous dirtying\n\ndo_anonymous_page() has been wrong to dirty the pte regardless.\nIf it\u0027s not going to mark the pte writable, then it won\u0027t help\nto mark it dirty here, and clogs up memory with pages which will\nneed swap instead of being thrown away.  Especially wrong if no\novercommit is chosen, and this vma is not yet VM_ACCOUNTed -\nwe could exceed the limit and OOM despite no overcommit.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a15efc953b26ad57d7d38b9e6782d57e53b4ab2",
      "tree": "f4d04903b3303e80460d2fa3f38da2b7eea82d22",
      "parents": [
        "8e4b9a60718970bbc02dfd3abd0b956ab65af231"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: follow_hugetlb_page flags\n\nfollow_hugetlb_page() shouldn\u0027t be guessing about the coredump case\neither: pass the foll_flags down to it, instead of just the write bit.\n\nRemove that obscure huge_zeropage_ok() test.  The decision is easy,\nthough unlike the non-huge case - here vm_ops-\u003efault is always set.\nBut we know that a fault would serve up zeroes, unless there\u0027s\nalready a hugetlbfs pagecache page to back the range.\n\n(Alternatively, since hugetlb pages aren\u0027t swapped out under pressure,\nyou could save more dump space by arguing that a page not yet faulted\ninto this process cannot be relevant to the dump; but that would be\nmore surprising.)\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e4b9a60718970bbc02dfd3abd0b956ab65af231",
      "tree": "4c19152cea19882071a74f92c0cf6a16d5711f41",
      "parents": [
        "f3e8fccd06d27773186a0094371daf2d84c79469"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: FOLL_DUMP replace FOLL_ANON\n\nThe \"FOLL_ANON optimization\" and its use_zero_page() test have caused\nconfusion and bugs: why does it test VM_SHARED? for the very good but\nunsatisfying reason that VMware crashed without.  As we look to maybe\nreinstating anonymous use of the ZERO_PAGE, we need to sort this out.\n\nEasily done: it\u0027s silly for __get_user_pages() and follow_page() to\nbe guessing whether it\u0027s safe to assume that they\u0027re being used for\na coredump (which can take a shortcut snapshot where other uses must\nhandle a fault) - just tell them with GUP_FLAGS_DUMP and FOLL_DUMP.\n\nget_dump_page() doesn\u0027t even want a ZERO_PAGE: an error suits fine.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@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": "f3e8fccd06d27773186a0094371daf2d84c79469",
      "tree": "46e652e6ac3588a26c6d3e38ea10274eb3fc2ea8",
      "parents": [
        "1c3aff1ceec2cc86810e2690e67873ff0c505862"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: add get_dump_page\n\nIn preparation for the next patch, add a simple get_dump_page(addr)\ninterface for the CONFIG_ELF_CORE dumpers to use, instead of calling\nget_user_pages() directly.  They\u0027re not interested in errors: they\njust want to use holes as much as possible, to save space and make\nsure that the data is aligned where the headers said it would be.\n\nOh, and don\u0027t use that horrid DUMP_SEEK(off) macro!\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c3aff1ceec2cc86810e2690e67873ff0c505862",
      "tree": "bf2f1badfd3f8859299f00c8a95c0a11e5cfa778",
      "parents": [
        "408e82b78bcc9f1b47c76e833c3df97f675947de"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: remove unused GUP flags\n\nGUP_FLAGS_IGNORE_VMA_PERMISSIONS and GUP_FLAGS_IGNORE_SIGKILL were\nflags added solely to prevent __get_user_pages() from doing some of\nwhat it usually does, in the munlock case: we can now remove them.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "408e82b78bcc9f1b47c76e833c3df97f675947de",
      "tree": "393fb1c659f3fe23928c722d3cffcac3429c1aee",
      "parents": [
        "5d3bc2709114b416cab588c577e02c2470e40a6c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: munlock use follow_page\n\nHiroaki Wakabayashi points out that when mlock() has been interrupted\nby SIGKILL, the subsequent munlock() takes unnecessarily long because\nits use of __get_user_pages() insists on faulting in all the pages\nwhich mlock() never reached.\n\nIt\u0027s worse than slowness if mlock() is terminated by Out Of Memory kill:\nthe munlock_vma_pages_all() in exit_mmap() insists on faulting in all the\npages which mlock() could not find memory for; so innocent bystanders are\nkilled too, and perhaps the system hangs.\n\n__get_user_pages() does a lot that\u0027s silly for munlock(): so remove the\nmunlock option from __mlock_vma_pages_range(), and use a simple loop of\nfollow_page()s in munlock_vma_pages_range() instead; ignoring absent\npages, and not marking present pages as accessed or dirty.\n\n(Change munlock() to only go so far as mlock() reached?  That does not\nwork out, given the convention that mlock() claims complete success even\nwhen it has to give up early - in part so that an underlying file can be\nextended later, and those pages locked which earlier would give SIGBUS.)\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Hiroaki Wakabayashi \u003cprimulaelatior@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": "5d3bc2709114b416cab588c577e02c2470e40a6c",
      "tree": "155d04471863539a03cf94376f6b03f78f9daf16",
      "parents": [
        "a6f9edd65beaef24836e8934c8912c1e974dd45c"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon Sep 21 17:03:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "mm: fix NUMA accounting in numastat.txt\n\nIn Documentation/numastat.txt, it confused me.  For example, there are\nnodes [0,1] in system.\n\nbarrios:~$ cat /proc/zoneinfo | egrep \u0027numa|zone\u0027\nNode 0, zone\tDMA\n\tnuma_hit\t33226\n\tnuma_miss\t1739\n\tnuma_foreign\t27978\n\t..\n\t..\nNode 1, zone\tDMA\n\tnuma_hit\t307\n\tnuma_miss\t46900\n\tnuma_foreign\t0\n\n1) In node 0,  NUMA_MISS means it wanted to allocate page\nin node 1 but ended up with page in node 0\n\n2) In node 0, NUMA_FOREIGN means it wanted to allocate page\nin node 0 but ended up with page from Node 1.\n\nBut now, numastat explains it oppositely about (MISS, FOREIGN).\nLet\u0027s fix up with viewpoint of zone.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-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": "a6f9edd65beaef24836e8934c8912c1e974dd45c",
      "tree": "041c60ed559d3bc1f289d0040e75cfdd78f0acd0",
      "parents": [
        "5f8dcc21211a3d4e3a7a5ca366b469fb88117f61"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:03:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "page-allocator: maintain rolling count of pages to free from the PCP\n\nWhen round-robin freeing pages from the PCP lists, empty lists may be\nencountered.  In the event one of the lists has more pages than another,\nthere may be numerous checks for list_empty() which is undesirable.  This\npatch maintains a count of pages to free which is incremented when empty\nlists are encountered.  The intention is that more pages will then be\nfreed from fuller lists than the empty ones reducing the number of empty\nlist checks in the free path.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f8dcc21211a3d4e3a7a5ca366b469fb88117f61",
      "tree": "4bbb1b55c7787462fe313c7c003e77823c032422",
      "parents": [
        "5d863b89688e5811cd9e5bd0082cb38abe03adf3"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:03:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "page-allocator: split per-cpu list into one-list-per-migrate-type\n\nThe following two patches remove searching in the page allocator fast-path\nby maintaining multiple free-lists in the per-cpu structure.  At the time\nthe search was introduced, increasing the per-cpu structures would waste a\nlot of memory as per-cpu structures were statically allocated at\ncompile-time.  This is no longer the case.\n\nThe patches are as follows. They are based on mmotm-2009-08-27.\n\nPatch 1 adds multiple lists to struct per_cpu_pages, one per\n\tmigratetype that can be stored on the PCP lists.\n\nPatch 2 notes that the pcpu drain path check empty lists multiple times. The\n\tpatch reduces the number of checks by maintaining a count of free\n\tlists encountered. Lists containing pages will then free multiple\n\tpages in batch\n\nThe patches were tested with kernbench, netperf udp/tcp, hackbench and\nsysbench.  The netperf tests were not bound to any CPU in particular and\nwere run such that the results should be 99% confidence that the reported\nresults are within 1% of the estimated mean.  sysbench was run with a\npostgres background and read-only tests.  Similar to netperf, it was run\nmultiple times so that it\u0027s 99% confidence results are within 1%.  The\npatches were tested on x86, x86-64 and ppc64 as\n\nx86:\tIntel Pentium D 3GHz with 8G RAM (no-brand machine)\n\tkernbench\t- No significant difference, variance well within noise\n\tnetperf-udp\t- 1.34% to 2.28% gain\n\tnetperf-tcp\t- 0.45% to 1.22% gain\n\thackbench\t- Small variances, very close to noise\n\tsysbench\t- Very small gains\n\nx86-64:\tAMD Phenom 9950 1.3GHz with 8G RAM (no-brand machine)\n\tkernbench\t- No significant difference, variance well within noise\n\tnetperf-udp\t- 1.83% to 10.42% gains\n\tnetperf-tcp\t- No conclusive until buffer \u003e\u003d PAGE_SIZE\n\t\t\t\t4096\t+15.83%\n\t\t\t\t8192\t+ 0.34% (not significant)\n\t\t\t\t16384\t+ 1%\n\thackbench\t- Small gains, very close to noise\n\tsysbench\t- 0.79% to 1.6% gain\n\nppc64:\tPPC970MP 2.5GHz with 10GB RAM (it\u0027s a terrasoft powerstation)\n\tkernbench\t- No significant difference, variance well within noise\n\tnetperf-udp\t- 2-3% gain for almost all buffer sizes tested\n\tnetperf-tcp\t- losses on small buffers, gains on larger buffers\n\t\t\t  possibly indicates some bad caching effect.\n\thackbench\t- No significant difference\n\tsysbench\t- 2-4% gain\n\nThis patch:\n\nCurrently the per-cpu page allocator searches the PCP list for pages of\nthe correct migrate-type to reduce the possibility of pages being\ninappropriate placed from a fragmentation perspective.  This search is\npotentially expensive in a fast-path and undesirable.  Splitting the\nper-cpu list into multiple lists increases the size of a per-cpu structure\nand this was potentially a major problem at the time the search was\nintroduced.  These problem has been mitigated as now only the necessary\nnumber of structures is allocated for the running system.\n\nThis patch replaces a list search in the per-cpu allocator with one list\nper migrate type.  The potential snag with this approach is when bulk\nfreeing pages.  We round-robin free pages based on migrate type which has\nlittle bearing on the cache hotness of the page and potentially checks\nempty lists repeatedly in the event the majority of PCP pages are of one\ntype.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d863b89688e5811cd9e5bd0082cb38abe03adf3",
      "tree": "6041584a854fc70cd497843f134e2cf983741230",
      "parents": [
        "8c5cd6f3a1721085652da204d454af4f8b92eda2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:03:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "oom: fix oom_adjust_write() input sanity check\n\nAndrew Morton pointed out oom_adjust_write() has very strange EIO\nand new line handling. this patch fixes it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@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": "8c5cd6f3a1721085652da204d454af4f8b92eda2",
      "tree": "3fcb6f4cd7e5981c2713f05340ec931574768cff",
      "parents": [
        "495789a51a91cb8c015d8d77fecbac1caf20b186"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:03:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "oom: oom_kill doesn\u0027t kill vfork parent (or child)\n\nCurrent oom_kill doesn\u0027t only kill the victim process, but also kill all\nthas shread the same mm.  it mean vfork parent will be killed.\n\nThis is definitely incorrect.  another process have another oom_adj.  we\nshouldn\u0027t ignore their oom_adj (it might have OOM_DISABLE).\n\nfollowing caller hit the minefield.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n        switch (constraint) {\n        case CONSTRAINT_MEMORY_POLICY:\n                oom_kill_process(current, gfp_mask, order, 0, NULL,\n                                \"No available memory (MPOL_BIND)\");\n                break;\n\nNote: force_sig(SIGKILL) send SIGKILL to all thread in the process.\nWe don\u0027t need to care multi thread in here.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@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": "495789a51a91cb8c015d8d77fecbac1caf20b186",
      "tree": "ac2a71ed40ed84f5673326aa6bf7f278b54d989a",
      "parents": [
        "28b83c5193e7ab951e402252278f2cc79dc4d298"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:03:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "oom: make oom_score to per-process value\n\noom-killer kills a process, not task.  Then oom_score should be calculated\nas per-process too.  it makes consistency more and makes speed up\nselect_bad_process().\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@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": "28b83c5193e7ab951e402252278f2cc79dc4d298",
      "tree": "10080e8d3957c2a03f8419ab44c9ecb0ffcdaee0",
      "parents": [
        "f168e1b6390e2d79cf57e48e6ae6d9b0a9e2851a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:03:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "oom: move oom_adj value from task_struct to signal_struct\n\nCurrently, OOM logic callflow is here.\n\n    __out_of_memory()\n        select_bad_process()            for each task\n            badness()                   calculate badness of one task\n                oom_kill_process()      search child\n                    oom_kill_task()     kill target task and mm shared tasks with it\n\nexample, process-A have two thread, thread-A and thread-B and it have very\nfat memory and each thread have following oom_adj and oom_score.\n\n     thread-A: oom_adj \u003d OOM_DISABLE, oom_score \u003d 0\n     thread-B: oom_adj \u003d 0,           oom_score \u003d very-high\n\nThen, select_bad_process() select thread-B, but oom_kill_task() refuse\nkill the task because thread-A have OOM_DISABLE.  Thus __out_of_memory()\ncall select_bad_process() again.  but select_bad_process() select the same\ntask.  It mean kernel fall in livelock.\n\nThe fact is, select_bad_process() must select killable task.  otherwise\nOOM logic go into livelock.\n\nAnd root cause is, oom_adj shouldn\u0027t be per-thread value.  it should be\nper-process value because OOM-killer kill a process, not thread.  Thus\nThis patch moves oomkilladj (now more appropriately named oom_adj) from\nstruct task_struct to struct signal_struct.  it naturally prevent\nselect_bad_process() choose wrong task.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@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": "f168e1b6390e2d79cf57e48e6ae6d9b0a9e2851a",
      "tree": "8b265240661b26cea90aebd279cd420bfbfcd368",
      "parents": [
        "f86296317434b21585e229f6c49a33cb9ebab4d3"
      ],
      "author": {
        "name": "Vincent Li",
        "email": "macli@brc.ubc.ca",
        "time": "Mon Sep 21 17:03:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "mm/vmscan: remove page_queue_congested() comment\n\nCommit 084f71ae5c(kill page_queue_congested()) removed\npage_queue_congested().  Remove the page_queue_congested() comment in\nvmscan pageout() too.\n\nSigned-off-by: Vincent Li \u003cmacli@brc.ubc.ca\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": "f86296317434b21585e229f6c49a33cb9ebab4d3",
      "tree": "d4fb05d4aee1a8e373ec053e7316dc9847b2c417",
      "parents": [
        "1a8670a29b5277cbe601f74ab63d2c5211fb3005"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Sep 21 17:03:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "mm: do batched scans for mem_cgroup\n\nFor mem_cgroup, shrink_zone() may call shrink_list() with nr_to_scan\u003d1, in\nwhich case shrink_list() _still_ calls isolate_pages() with the much\nlarger SWAP_CLUSTER_MAX.  It effectively scales up the inactive list scan\nrate by up to 32 times.\n\nFor example, with 16k inactive pages and DEF_PRIORITY\u003d12, (16k \u003e\u003e 12)\u003d4.\nSo when shrink_zone() expects to scan 4 pages in the active/inactive list,\nthe active list will be scanned 4 pages, while the inactive list will be\n(over) scanned SWAP_CLUSTER_MAX\u003d32 pages in effect.  And that could break\nthe balance between the two lists.\n\nIt can further impact the scan of anon active list, due to the anon\nactive/inactive ratio rebalance logic in balance_pgdat()/shrink_zone():\n\ninactive anon list over scanned \u003d\u003e inactive_anon_is_low() \u003d\u003d TRUE\n                                \u003d\u003e shrink_active_list()\n                                \u003d\u003e active anon list over scanned\n\nSo the end result may be\n\n- anon inactive  \u003d\u003e over scanned\n- anon active    \u003d\u003e over scanned (maybe not as much)\n- file inactive  \u003d\u003e over scanned\n- file active    \u003d\u003e under scanned (relatively)\n\nThe accesses to nr_saved_scan are not lock protected and so not 100%\naccurate, however we can tolerate small errors and the resulted small\nimbalanced scan rates between zones.\n\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-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": "1a8670a29b5277cbe601f74ab63d2c5211fb3005",
      "tree": "1b2ca94009c1f3d7ff05bbda3b8956631e3f38d9",
      "parents": [
        "0b21767637c3c99890a248fe47ac414e51cf5eb7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:03:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "oom: move oom_killer_enable()/oom_killer_disable to where they belong\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b21767637c3c99890a248fe47ac414e51cf5eb7",
      "tree": "ebedeecddd3e8d7d665464c4fadbea40ee43a317",
      "parents": [
        "2c85f51d222ccdd8c401d77a36b723a89156810d"
      ],
      "author": {
        "name": "Vincent Li",
        "email": "macli@brc.ubc.ca",
        "time": "Mon Sep 21 17:03:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm/vmscan: rename zone_nr_pages() to zone_nr_lru_pages()\n\nThe name `zone_nr_pages\u0027 can be mis-read as zone\u0027s (total) number pages,\nbut it actually returns zone\u0027s LRU list number pages.\n\nSigned-off-by: Vincent Li \u003cmacli@brc.ubc.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\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": "2c85f51d222ccdd8c401d77a36b723a89156810d",
      "tree": "fb94c6ea243504043e434f0a7d26cfd4831b33a9",
      "parents": [
        "3c1596efe167322dae87f8390d36f91ce2d7f936"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: also use alloc_large_system_hash() for the PID hash table\n\nThis is being done by allowing boot time allocations to specify that they\nmay want a sub-page sized amount of memory.\n\nOverall this seems more consistent with the other hash table allocations,\nand allows making two supposedly mm-only variables really mm-only\n(nr_{kernel,all}_pages).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c1596efe167322dae87f8390d36f91ce2d7f936",
      "tree": "b086435695f71312e79986a28a703a23760066ec",
      "parents": [
        "4481374ce88ba8f460c8b89f2572027bd27057d0"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: don\u0027t use alloc_bootmem_low() where not strictly needed\n\nSince alloc_bootmem() will never return inaccessible (via virtual\naddressing) memory anyway, using the ..._low() variant only makes sense\nwhen the physical address range of the allocated memory must fulfill\nfurther constraints, espacially since on 64-bits (or more generally in all\ncases where the pools the two variants allocate from are than the full\navailable range.\n\nProbably the use in alloc_tce_table() could also be eliminated (based on\ncode inspection of pci-calgary_64.c), but that seems too risky given I\nknow nothing about that hardware and have no way to test it.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4481374ce88ba8f460c8b89f2572027bd27057d0",
      "tree": "6896601b6a1da0e3e932ffa75fcff966c834c02c",
      "parents": [
        "4738e1b9cf8f9e28d7de080a5e6ce5d0095ea18f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: replace various uses of num_physpages by totalram_pages\n\nSizing of memory allocations shouldn\u0027t depend on the number of physical\npages found in a system, as that generally includes (perhaps a huge amount\nof) non-RAM pages.  The amount of what actually is usable as storage\nshould instead be used as a basis here.\n\nSome of the calculations (i.e.  those not intending to use high memory)\nshould likely even use (totalram_pages - totalhigh_pages).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4738e1b9cf8f9e28d7de080a5e6ce5d0095ea18f",
      "tree": "96804aacfd79495dbb787055473f92ccb6dab65d",
      "parents": [
        "78986a678f6ec3759a01976749f4437d8bf2d6c3"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "memory hotplug: fix updating of num_physpages for hot plugged memory\n\nSizing of memory allocations shouldn\u0027t depend on the number of physical\npages found in a system, as that generally includes (perhaps a huge amount\nof) non-RAM pages.  The amount of what actually is usable as storage\nshould instead be used as a basis here.\n\nIn line with that, the memory hotplug code should update num_physpages in\na way that it retains its original (post-boot) meaning; in particular,\ndecreasing the value should at best be done with great care - this patch\ndoesn\u0027t try to ever decrease this value at all as it doesn\u0027t really seem\nmeaningful to do so.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.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": "78986a678f6ec3759a01976749f4437d8bf2d6c3",
      "tree": "ec3a4f4d3fe5a40f8809657341ad34a9fc8eb61c",
      "parents": [
        "ceddc3a52d783fabbf1ba623601419b9d6337194"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:03:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "page-allocator: limit the number of MIGRATE_RESERVE pageblocks per zone\n\nAfter anti-fragmentation was merged, a bug was reported whereby devices\nthat depended on high-order atomic allocations were failing.  The solution\nwas to preserve a property in the buddy allocator which tended to keep the\nminimum number of free pages in the zone at the lower physical addresses\nand contiguous.  To preserve this property, MIGRATE_RESERVE was introduced\nand a number of pageblocks at the start of a zone would be marked\n\"reserve\", the number of which depended on min_free_kbytes.\n\nAnti-fragmentation works by avoiding the mixing of page migratetypes\nwithin the same pageblock.  One way of helping this is to increase\nmin_free_kbytes because it becomes less like that it will be necessary to\nplace pages of of MIGRATE_RESERVE is unbounded, the free memory is kept\nthere in large contiguous blocks instead of helping anti-fragmentation as\nmuch as it should.  With the page-allocator tracepoint patches applied, it\nwas found during anti-fragmentation tests that the number of\nfragmentation-related events were far higher than expected even with\nmin_free_kbytes at higher values.\n\nThis patch limits the number of MIGRATE_RESERVE blocks that exist per zone\nto two.  For example, with a sufficient min_free_kbytes, 4MB of memory\nwill be kept aside on an x86-64 and remain more or less free and\ncontiguous for the systems uptime.  This should be sufficient for devices\ndepending on high-order atomic allocations while helping fragmentation\ncontrol when min_free_kbytes is tuned appropriately.  As side-effect of\nthis patch is that the reserve variable is converted to int as unsigned\nlong was the wrong type to use when ensuring that only the required number\nof reserve blocks are created.\n\nWith the patches applied, fragmentation-related events as measured by the\npage allocator tracepoints were significantly reduced when running some\nfragmentation stress-tests on systems with min_free_kbytes tuned to a\nvalue appropriate for hugepage allocations at runtime.  On x86, the events\nrecorded were reduced by 99.8%, on x86-64 by 99.72% and on ppc64 by\n99.83%.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\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": "ceddc3a52d783fabbf1ba623601419b9d6337194",
      "tree": "651d0fd4d5bf2455468f90364b88f01f982d79af",
      "parents": [
        "edcf4748cd56adcdf0856cc99ef108a4ea3ac7fe"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:03:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: document is_page_cache_freeable()\n\nEnlighten the reader of this code about what reference count makes a page\ncache page freeable.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edcf4748cd56adcdf0856cc99ef108a4ea3ac7fe",
      "tree": "317d477d08dea82f5eef2e9c17294d0f0639ea81",
      "parents": [
        "6c0b13519d1c755d874e82c8fb8a6dcef0ee402c"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:02:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: return boolean from page_has_private()\n\nMake page_has_private() return a true boolean value and remove the double\nnegations from the two callsites using it for arithmetic.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c0b13519d1c755d874e82c8fb8a6dcef0ee402c",
      "tree": "0fe6e6902a488ad6c59ecee971fe64c81edbcce3",
      "parents": [
        "401a8e1c1670085b8177330ca47d4f7c4ac88761"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:02:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:37 2009 -0700"
      },
      "message": "mm: return boolean from page_is_file_cache()\n\npage_is_file_cache() has been used for both boolean checks and LRU\narithmetic, which was always a bit weird.\n\nNow that page_lru_base_type() exists for LRU arithmetic, make\npage_is_file_cache() a real predicate function and adjust the\nboolean-using callsites to drop those pesky double negations.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.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": "401a8e1c1670085b8177330ca47d4f7c4ac88761",
      "tree": "5883daaed42fa2a186e5769bab1c10535dc39a41",
      "parents": [
        "b7c46d151cb82856a429709d1227ba1648028232"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:02:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: introduce page_lru_base_type()\n\nInstead of abusing page_is_file_cache() for LRU list index arithmetic, add\nanother helper with a more appropriate name and convert the non-boolean\nusers of page_is_file_cache() accordingly.\n\nThis new helper gives the LRU base type a page is supposed to live on,\ninactive anon or inactive file.\n\n[hugh.dickins@tiscali.co.uk: convert del_page_from_lru() also]\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\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": "b7c46d151cb82856a429709d1227ba1648028232",
      "tree": "b93012b4bb2ffd603c020b38d8f1f6f3b4714ff7",
      "parents": [
        "bba78819548a59a52e60f0b259997bbd011164ae"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:02:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: drop unneeded double negations\n\nRemove double negations where the operand is already boolean.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bba78819548a59a52e60f0b259997bbd011164ae",
      "tree": "1d788069848ba86906269d8eb8b1b13119260e5a",
      "parents": [
        "bbba809e96539672f775a3d70102657d05816a5b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Sep 21 17:02:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: remove broken \u0027kzalloc\u0027 mempool\n\nThe kzalloc mempool zeros items when they are initially allocated, but\ndoes not rezero used items that are returned to the pool.  Consequently\nmempool_alloc()s may return non-zeroed memory.\n\nSince there are/were only two in-tree users for\nmempool_create_kzalloc_pool(), and \u0027fixing\u0027 this in a way that will\nre-zero used (but not new) items before first use is non-trivial, just\nremove it.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbba809e96539672f775a3d70102657d05816a5b",
      "tree": "6cd9f7b028316f50fa3a06d78cb11ee982c3d09b",
      "parents": [
        "72ff13b7036bc7923e0f2b5f4a724ca260d49aab"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Sep 21 17:02:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "md: avoid use of broken kzalloc mempool\n\nThe kzalloc mempool does not re-zero items that have been used and then\nreturned to the pool.  Manually zero the allocated multipath_bh instead.\n\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72ff13b7036bc7923e0f2b5f4a724ca260d49aab",
      "tree": "5c2cd317f9001ce5a49341852ccb1f1bf291e089",
      "parents": [
        "cff397e6b3c5bd67e26946792e81ab064c9acc1f"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Mon Sep 21 17:02:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: includecheck fix for mm/nommu.c\n\nFix the following \u0027make includecheck\u0027 warning:\n\n  mm/nommu.c: internal.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cff397e6b3c5bd67e26946792e81ab064c9acc1f",
      "tree": "2edb4c761d81ed9d2c99b03ce1ab928f7caa5951",
      "parents": [
        "2ca4532a49be92d7b2766c3244b30fa8bfb0114d"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Mon Sep 21 17:02:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: includecheck fix for mm/shmem.c\n\nFix the following \u0027make includecheck\u0027 warning:\n\n  mm/shmem.c: linux/vfs.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ca4532a49be92d7b2766c3244b30fa8bfb0114d",
      "tree": "1dc838cebacb10317dff78ceccd50b97e24c4f7f",
      "parents": [
        "31a5639623a487d6db996c8138c9e53fef2e2d91"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Mon Sep 21 17:02:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: add_to_swap_cache() does not return -EEXIST\n\nAfter commit 355cfa73 (\"mm: modify swap_map and add SWAP_HAS_CACHE flag\"),\nonly the context which have set SWAP_HAS_CACHE flag by swapcache_prepare()\nor get_swap_page() would call add_to_swap_cache().  So add_to_swap_cache()\ndoesn\u0027t return -EEXIST any more.\n\nEven though it doesn\u0027t return -EEXIST, it\u0027s not good behavior conceptually\nto call swapcache_prepare() in the -EEXIST case, because it means clearing\nSWAP_HAS_CACHE flag while the entry is on swap cache.\n\nThis patch removes redundant codes and comments from callers of it, and\nadds VM_BUG_ON() in error path of add_to_swap_cache() and some comments.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31a5639623a487d6db996c8138c9e53fef2e2d91",
      "tree": "4fff22b4a0333df084a6cd89e8ecbc332dbfa299",
      "parents": [
        "8fbb398f5c78832ee61e0d5ed0793fa8857bd853"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Mon Sep 21 17:02:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: add_to_swap_cache() must not sleep\n\nAfter commit 355cfa73 (\"mm: modify swap_map and add SWAP_HAS_CACHE flag\"),\nread_swap_cache_async() will busy-wait while a entry doesn\u0027t exist in swap\ncache but it has SWAP_HAS_CACHE flag.\n\nSuch entries can exist on add/delete path of swap cache.  On add path,\nadd_to_swap_cache() is called soon after SWAP_HAS_CACHE flag is set, and\non delete path, swapcache_free() will be called (SWAP_HAS_CACHE flag is\ncleared) soon after __delete_from_swap_cache() is called.  So, the\nbusy-wait works well in most cases.\n\nBut this mechanism can cause soft lockup if add_to_swap_cache() sleeps and\nread_swap_cache_async() tries to swap-in the same entry on the same cpu.\n\nThis patch calls radix_tree_preload() before swapcache_prepare() and\ndivides add_to_swap_cache() into two part: radix_tree_preload() part and\nradix_tree_insert() part(define it as __add_to_swap_cache()).\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8fbb398f5c78832ee61e0d5ed0793fa8857bd853",
      "tree": "889fc12c8eefc642ce9f368e76f9baf2bc3ef2ee",
      "parents": [
        "bb72222086260695d71afe60fa105649c1ea9463"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:02:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "tracing, documentation: Add a document on the kmem tracepoints\n\nKnowing tracepoints exist is not quite the same as knowing what they\nshould be used for.  This patch adds a document giving a basic description\nof the kmem tracepoints and why they might be useful to a performance\nanalyst.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb72222086260695d71afe60fa105649c1ea9463",
      "tree": "10c86e8e03c4c55747d198446543972dbc1f3a89",
      "parents": [
        "c9d05cfc001fef3d6d37651e19ab9227a32b71f5"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:02:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "tracing, documentation: add a document describing how to do some performance analysis with tracepoints\n\nThe documentation for ftrace, events and tracepoints is pretty extensive.\nSimilarly, the perf PCL tools help files --help are there and the code\nsimple enough to figure out what much of the switches mean.  However,\npulling the discrete bits and pieces together and translating that into\n\"how do I solve a problem\" requires a fair amount of imagination.\n\nThis patch adds a simple document intended to get someone started on the\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9d05cfc001fef3d6d37651e19ab9227a32b71f5",
      "tree": "ac5f54c9fcf8336c7787fca63875b18621ee3fd1",
      "parents": [
        "0d3d062a6e289e065bd0aa537a6806a1806bf8aa"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:02:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "tracing, page-allocator: add a postprocessing script for page-allocator-related ftrace events\n\nThis patch adds a simple post-processing script for the\npage-allocator-related trace events.  It can be used to give an indication\nof who the most allocator-intensive processes are and how often the zone\nlock was taken during the tracing period.  Example output looks like\n\nProcess                   Pages      Pages      Pages    Pages       PCPU     PCPU     PCPU   Fragment Fragment  MigType Fragment Fragment  Unknown\ndetails                  allocd     allocd      freed    freed      pages   drains  refills   Fallback  Causing  Changed   Severe Moderate\n                                under lock     direct  pagevec      drain\nswapper-0                     0          0          2        0          0        0        0          0        0        0        0        0        0\nXorg-3770                 10603       5952       3685     6978       5996      194      192          0        0        0        0        0        0\nmodprobe-21397               51          0          0       86         31        1        0          0        0        0        0        0        0\nxchat-5370                  228         93          0        0          0        0        3          0        0        0        0        0        0\nawesome-4317                 32         32          0        0          0        0       32          0        0        0        0        0        0\nthinkfan-3863                 2          0          1        1          0        0        0          0        0        0        0        0        0\nhald-addon-stor-3935          2          0          0        0          0        0        0          0        0        0        0        0        0\nakregator-4506                1          1          0        0          0        0        1          0        0        0        0        0        0\nxmms-14888                    0          0          1        0          0        0        0          0        0        0        0        0        0\nkhelper-12                    1          0          0        0          0        0        0          0        0        0        0        0        0\n\nOptionally, the output can include information on the parent or aggregate\nbased on process name instead of aggregating based on each pid. Example output\nincluding parent information and stripped out the PID looks something like;\n\nProcess                        Pages      Pages      Pages    Pages       PCPU     PCPU     PCPU   Fragment Fragment  MigType Fragment Fragment  Unknown\ndetails                       allocd     allocd      freed    freed      pages   drains  refills   Fallback  Causing  Changed   Severe Moderate\n                                     under lock     direct  pagevec      drain\ngdm-3756 :: Xorg-3770           3796       2976         99     3813       3224      104       98          0        0        0        0        0        0\ninit-1 :: hald-3892                1          0          0        0          0        0        0          0        0        0        0        0        0\ngit-21447 :: editor-21448          4          0          4        0          0        0        0          0        0        0        0        0        0\n\nThis says that Xorg allocated 3796 pages and it\u0027s parent process is gdm\nwith a PID of 3756;\n\nThe postprocessor parses the text output of tracing.  While there is a\nbinary format, the expectation is that the binary output can be readily\ntranslated into text and post-processed offline.  Obviously if the text\nformat changes, the parser will break but the regular expression parser is\nfairly rudimentary so should be readily adjustable.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d3d062a6e289e065bd0aa537a6806a1806bf8aa",
      "tree": "9895e9cb48674d072885af3424e1ef145ec81f28",
      "parents": [
        "e0fff1bd12469c45dab088e353d8882761387bb6"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:02:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "tracing, page-allocator: add trace event for page traffic related to the buddy lists\n\nThe page allocation trace event reports that a page was successfully\nallocated but it does not specify where it came from.  When analysing\nperformance, it can be important to distinguish between pages coming from\nthe per-cpu allocator and pages coming from the buddy lists as the latter\nrequires the zone lock to the taken and more data structures to be\nexamined.\n\nThis patch adds a trace event for __rmqueue reporting when a page is being\nallocated from the buddy lists.  It distinguishes between being called to\nrefill the per-cpu lists or whether it is a high-order allocation.\nSimilarly, this patch adds an event to catch when the PCP lists are being\ndrained a little and pages are going back to the buddy lists.\n\nThis is trickier to draw conclusions from but high activity on those\nevents could explain why there were a large number of cache misses on a\npage-allocator-intensive workload.  The coalescing and splitting of\nbuddies involves a lot of writing of page metadata and cache line bounces\nnot to mention the acquisition of an interrupt-safe lock necessary to\nenter this path.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\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": "e0fff1bd12469c45dab088e353d8882761387bb6",
      "tree": "dc120a7597bbd4f3841f951346dbe1f7b85dd3fb",
      "parents": [
        "4b4f278c030aa4b6ee0915f396e9a9478d92d610"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:02:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "tracing, page-allocator: add trace events for anti-fragmentation falling back to other migratetypes\n\nFragmentation avoidance depends on being able to use free pages from lists\nof the appropriate migrate type.  In the event this is not possible,\n__rmqueue_fallback() selects a different list and in some circumstances\nchange the migratetype of the pageblock.  Simplistically, the more times\nthis event occurs, the more likely that fragmentation will be a problem\nlater for hugepage allocation at least but there are other considerations\nsuch as the order of page being split to satisfy the allocation.\n\nThis patch adds a trace event for __rmqueue_fallback() that reports what\npage is being used for the fallback, the orders of relevant pages, the\ndesired migratetype and the migratetype of the lists being used, whether\nthe pageblock changed type and whether this event is important with\nrespect to fragmentation avoidance or not.  This information can be used\nto help analyse fragmentation avoidance and help decide whether\nmin_free_kbytes should be increased or not.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b4f278c030aa4b6ee0915f396e9a9478d92d610",
      "tree": "10825c2d197977bc9080093a6ecbd3ce80723876",
      "parents": [
        "38a398572fa2d8124f7479e40db581b5b72719c9"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:02:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "tracing, page-allocator: add trace events for page allocation and page freeing\n\nThis patch adds trace events for the allocation and freeing of pages,\nincluding the freeing of pagevecs.  Using the events, it will be known\nwhat struct page and pfns are being allocated and freed and what the call\nsite was in many cases.\n\nThe page alloc tracepoints be used as an indicator as to whether the\nworkload was heavily dependant on the page allocator or not.  You can make\na guess based on vmstat but you can\u0027t get a per-process breakdown.\nDepending on the call path, the call_site for page allocation may be\n__get_free_pages() instead of a useful callsite.  Instead of passing down\na return address similar to slab debugging, the user should enable the\nstacktrace and seg-addr options to get a proper stack trace.\n\nThe pagevec free tracepoint has a different usecase.  It can be used to\nget a idea of how many pages are being dumped off the LRU and whether it\nis kswapd doing the work or a process doing direct reclaim.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Ming Chun \u003cmacli@brc.ubc.ca\u003e\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": "38a398572fa2d8124f7479e40db581b5b72719c9",
      "tree": "cad43f1cb00b760507278cc7b55f8e7fa4ab4fab",
      "parents": [
        "cc013a88906bad9d2832d6316de1c7dbc1c2a794"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:02:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "page-allocator: remove dead function free_cold_page()\n\nThe function free_cold_page() has no callers so delete it.\n\nSigned-off-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": "cc013a88906bad9d2832d6316de1c7dbc1c2a794",
      "tree": "c47d1bc76cf9bbf94c328ca6e15ac99ddbab7603",
      "parents": [
        "73d7c33e81aed92ac185950a20407c1a2ea65a83"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Mon Sep 21 17:02:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "arches: drop superfluous casts in nr_free_pages() callers\n\nCommit 96177299416dbccb73b54e6b344260154a445375 (\"Drop free_pages()\")\nmodified nr_free_pages() to return \u0027unsigned long\u0027 instead of \u0027unsigned\nint\u0027.  This made the casts to \u0027unsigned long\u0027 in most callers superfluous,\nso remove them.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Chris Zankel \u003czankel@tensilica.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73d7c33e81aed92ac185950a20407c1a2ea65a83",
      "tree": "e178b87c69034a6487db9bdfbf7ffc932056002f",
      "parents": [
        "d0107eb07320b5d37c0f8a9f015534caebb28a48"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Sep 21 17:02:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "kcore: /proc/kcore should use vread\n\n/proc/kcore has its own routine to access vmallc area.  It can be replaced\nwith vread().  And by this, /proc/kcore can do safe access to vmalloc\narea.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Mike Smith \u003cscgtrp@gmail.com\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": "d0107eb07320b5d37c0f8a9f015534caebb28a48",
      "tree": "9f4f1000af3919d1118356ae7c6b298c6aa81769",
      "parents": [
        "dd32c279983bf77fdcc8a9aa4a05b0ffdc75859c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Sep 21 17:02:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "kcore: fix vread/vwrite to be aware of holes\n\nvread/vwrite access vmalloc area without checking there is a page or not.\nIn most case, this works well.\n\nIn old ages, the caller of get_vm_ara() is only IOREMAP and there is no\nmemory hole within vm_struct\u0027s [addr...addr + size - PAGE_SIZE] (\n-PAGE_SIZE is for a guard page.)\n\nAfter per-cpu-alloc patch, it uses get_vm_area() for reserve continuous\nvirtual address but remap _later_.  There tend to be a hole in valid\nvmalloc area in vm_struct lists.  Then, skip the hole (not mapped page) is\nnecessary.  This patch updates vread/vwrite() for avoiding memory hole.\n\nRoutines which access vmalloc area without knowing for which addr is used\nare\n  - /proc/kcore\n  - /dev/kmem\n\nkcore checks IOREMAP, /dev/kmem doesn\u0027t.  After this patch, IOREMAP is\nchecked and /dev/kmem will avoid to read/write it.  Fixes to /proc/kcore\nwill be in the next patch in series.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Mike Smith \u003cscgtrp@gmail.com\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": "dd32c279983bf77fdcc8a9aa4a05b0ffdc75859c",
      "tree": "399737a47e6ab1b3a39f6f2950fec325421d082d",
      "parents": [
        "2f66a68f3fac2e94da360c342ff78ab45553f86c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Sep 21 17:02:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:33 2009 -0700"
      },
      "message": "vmalloc: unmap vmalloc area after hiding it\n\nvmap area should be purged after vm_struct is removed from the list\nbecause vread/vwrite etc...believes the range is valid while it\u0027s on\nvm_struct list.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Mike Smith \u003cscgtrp@gmail.com\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"
    }
  ],
  "next": "2f66a68f3fac2e94da360c342ff78ab45553f86c"
}
