)]}'
{
  "log": [
    {
      "commit": "ff9b00a226ccea66e6ce70e9083c42f5b6001f73",
      "tree": "6a9c1446f0465f13ebb4fc6939e0df3edb9bd9fa",
      "parents": [
        "fa59530267e1006b7180e9ce1dee4136907b2b65"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Oct 01 16:03:13 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Oct 01 16:03:13 2009 +0200"
      },
      "message": "HID: fix kerneldoc comment for hid_input_report()\n\nThe kerneldoc comment for \u0027interrupt\u0027 has already confused a lot\nof people, as it is simply wrong. It doesn\u0027t carry the information\nabout the context, but is used to distinguish between two fundamental\ntypes of low-level transport transfers -- interrupt vs. control.\n\nMake this clear in the comment.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "fa59530267e1006b7180e9ce1dee4136907b2b65",
      "tree": "646a6c22631d4489b1c6da3195062b69baf1dc32",
      "parents": [
        "7fa07729e439a6184bd824746d06a49cca553f15"
      ],
      "author": {
        "name": "Peter Huewe",
        "email": "peterhuewe@gmx.de",
        "time": "Tue Sep 29 03:24:55 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Sep 29 13:58:20 2009 +0200"
      },
      "message": "HID: add __init/__exit macros to twinhan.c\n\nTrivial patch which adds the __init/__exit macros to the module_init/\nmodule_exit functions of the twinhan driver in hid.\n\nSigned-off-by: Peter Huewe \u003cpeterhuewe@gmx.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "7fa07729e439a6184bd824746d06a49cca553f15",
      "tree": "9037f5c36d64f842a030a1284f76a354ef6f76e6",
      "parents": [
        "991d79b0d1255f89267a350b0048eca59f100cbb",
        "a8f90e906783f1f815120eefe813b23cb396e9bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 08:11:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 08:11:04 2009 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_event, powerpc: Fix compilation after big perf_counter rename\n"
    },
    {
      "commit": "991d79b0d1255f89267a350b0048eca59f100cbb",
      "tree": "65ddf4160f959952d9f4955fda8844374768b83e",
      "parents": [
        "a87e84b5cdfacf11af4e8a85c4bca9793658536f",
        "181f7c5dd3832763bdf2756b6d2d8a49bdf12791"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 08:07:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 08:07:54 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck:\n  kmemcheck: add missing braces to do-while in kmemcheck_annotate_bitfield\n  kmemcheck: update documentation\n  kmemcheck: depend on HAVE_ARCH_KMEMCHECK\n  kmemcheck: remove useless check\n  kmemcheck: remove duplicated #include\n"
    },
    {
      "commit": "a87e84b5cdfacf11af4e8a85c4bca9793658536f",
      "tree": "f8e3cb2d339d8ed0e987d55f725e501730cdc81d",
      "parents": [
        "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
        "3c394ddaa7ea4205f933fd9b481166b2669368a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux: (68 commits)\n  nfsd4: nfsv4 clients should cross mountpoints\n  nfsd: revise 4.1 status documentation\n  sunrpc/cache: avoid variable over-loading in cache_defer_req\n  sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req\n  nfsd: return success for non-NFS4 nfs4_state_start\n  nfsd41: Refactor create_client()\n  nfsd41: modify nfsd4.1 backchannel to use new xprt class\n  nfsd41: Backchannel: Implement cb_recall over NFSv4.1\n  nfsd41: Backchannel: cb_sequence callback\n  nfsd41: Backchannel: Setup sequence information\n  nfsd41: Backchannel: Server backchannel RPC wait queue\n  nfsd41: Backchannel: Add sequence arguments to callback RPC arguments\n  nfsd41: Backchannel: callback infrastructure\n  nfsd4: use common rpc_cred for all callbacks\n  nfsd4: allow nfs4 state startup to fail\n  SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous\n  nfsd4: fix null dereference creating nfsv4 callback client\n  nfsd4: fix whitespace in NFSPROC4_CLNT_CB_NULL definition\n  nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\n  sunrpc/cache: simplify cache_fresh_locked and cache_fresh_unlocked.\n  ...\n"
    },
    {
      "commit": "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
      "tree": "1f967f283dade6e03897169bb29513354f49f910",
      "parents": [
        "50223e486cabdcf7e540e519da1f26bab3084e5d",
        "24ed7a97464db44592495f98cff8bcee02f92bc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:45 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)\n  trivial: fix typo in aic7xxx comment\n  trivial: fix comment typo in drivers/ata/pata_hpt37x.c\n  trivial: typo in kernel-parameters.txt\n  trivial: fix typo in tracing documentation\n  trivial: add __init/__exit macros in drivers/gpio/bt8xxgpio.c\n  trivial: add __init macro/ fix of __exit macro location in ipmi_poweroff.c\n  trivial: remove unnecessary semicolons\n  trivial: Fix duplicated word \"options\" in comment\n  trivial: kbuild: remove extraneous blank line after declaration of usage()\n  trivial: improve help text for mm debug config options\n  trivial: doc: hpfall: accept disk device to unload as argument\n  trivial: doc: hpfall: reduce risk that hpfall can do harm\n  trivial: SubmittingPatches: Fix reference to renumbered step\n  trivial: fix typos \"man[ae]g?ment\" -\u003e \"management\"\n  trivial: media/video/cx88: add __init/__exit macros to cx88 drivers\n  trivial: fix typo in CONFIG_DEBUG_FS in gcov doc\n  trivial: fix missing printk space in amd_k7_smp_check\n  trivial: fix typo s/ketymap/keymap/ in comment\n  trivial: fix typo \"to to\" in multiple files\n  trivial: fix typos in comments s/DGBU/DBGU/\n  ...\n"
    },
    {
      "commit": "50223e486cabdcf7e540e519da1f26bab3084e5d",
      "tree": "c5eedda167c7ea83e342f80a9344646c7a99ba35",
      "parents": [
        "e258b80e691f1f3ae83a60aa80eaf7322bd55ec4",
        "a2d693cf650f000ea22351484ee66cf4c2651eef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:28 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: Remove duplicate Kconfig entry\n  HID: consolidate connect and disconnect into core code\n  HID: fix non-atomic allocation in hid_input_report\n"
    },
    {
      "commit": "e258b80e691f1f3ae83a60aa80eaf7322bd55ec4",
      "tree": "2233f4d43dede000a210db87733e04c912fdcb31",
      "parents": [
        "abd6633c67925f90775bb74755f9c547e30f1f20"
      ],
      "author": {
        "name": "David Härdeman",
        "email": "david@hardeman.nu",
        "time": "Mon Sep 21 17:04:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "input: add a driver for the Winbond WPCD376I Consumer IR hardware\n\nAdd a driver for the the Consumer IR (CIR) functionality of the Winbond\nWPCD376I chipset (found on e.g. Intel DG45FC motherboards).\n\nSigned-off-by: David Härdeman \u003cdavid@hardeman.nu\u003e\nReviewed-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "abd6633c67925f90775bb74755f9c547e30f1f20",
      "tree": "9cb974febc1a30e3914720655cd406cea84c063e",
      "parents": [
        "a976f150a6953da5ccbd40fa6dba3bd7d56f9f67"
      ],
      "author": {
        "name": "David Härdeman",
        "email": "david@hardeman.nu",
        "time": "Mon Sep 21 17:04:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "pnp: add a shutdown method to pnp drivers\n\nThe shutdown method is used by the winbond cir driver to setup the\nhardware for wake-from-S5.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: David Härdeman \u003cdavid@hardeman.nu\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a976f150a6953da5ccbd40fa6dba3bd7d56f9f67",
      "tree": "36c0c1b9d424649421dde1f1d553bd17179a5264",
      "parents": [
        "560a64a2b501add585b494b2b9cd9f68c0636b50"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Mon Sep 21 17:04:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "hwmon: applesmc: restore accelerometer and keyboard backlight on resume\n\nOn resume from suspend, the driver currently resets the logical state as\nif it was brought up from halt.  This patch uses the\ndev_pm_ops.resume/restore methods to synchronize the hardware with the\nmemorized logical state, in effect bringing back the accelerometer and\nbacklight to the state prior to suspend.  Works for both suspend to ram\nand hibernation.  The patch has zero effect on the running state.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "560a64a2b501add585b494b2b9cd9f68c0636b50",
      "tree": "76ff9e60110a388e551f17b2071405eeea5f1c71",
      "parents": [
        "905ffdc35e50844ab45bbc59d5302238844f8526"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Sep 21 17:04:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "hwmon: fix freeing of gpio_data and irq\n\nIf already requested, gpio_data and irq should be freed in the case of an\nerror.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "905ffdc35e50844ab45bbc59d5302238844f8526",
      "tree": "13f5fcb88fe9b8f049181234749ea715b509e34b",
      "parents": [
        "f266889517252bc697e7103bcd6ed46bdf2c1579"
      ],
      "author": {
        "name": "Michael Abbott",
        "email": "michael@araneidae.co.uk",
        "time": "Mon Sep 21 17:04:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "drivers/hwmon/adm1021.c: add low_power support for adm1021 driver\n\nOccasionally it is helpful to be able to turn a temperature sensor off\n(for example if it\u0027s making unwanted electrical noise).  This patch\nadds a sysfs node to put any adm1021 compatible device into low power mode.\n\nSigned-off-by: Michael Abbott \u003cmichael.abbott@diamond.ac.uk\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f266889517252bc697e7103bcd6ed46bdf2c1579",
      "tree": "008a9f272f14e1f3b8e6009dc2509d274cf3155a",
      "parents": [
        "dc791f8aeeeea4314beede83d6ee74e6af5f627b"
      ],
      "author": {
        "name": "Michael Abbott",
        "email": "michael@araneidae.co.uk",
        "time": "Mon Sep 21 17:04:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "drivers/hwmon/adm1021.c: support high precision ADM1023 remote sensor\n\nThe ADM1023 temperature sensor supports higher resolution for its external\nsensor (sensitivity of 1/8 deg C).  This patch makes this higher\nresolution available through the appropriate temperature sysfs nodes.\n\nCuriously, this functionality was available in the 2.4 kernel driver (but\nformatted in a less helpful manner).\n\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Michael Abbott \u003cmichael.abbott@diamond.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc791f8aeeeea4314beede83d6ee74e6af5f627b",
      "tree": "15dff38707ba1991a0e822e43ec15a3923c13fef",
      "parents": [
        "2cd9645e2f0d60ed12268fe1738e79c119e2fe5a"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Sep 21 17:04:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "lis3_spi: code cleanups\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2cd9645e2f0d60ed12268fe1738e79c119e2fe5a",
      "tree": "91e335cd90f62f1de5acbd1c220f80cad50227db",
      "parents": [
        "8873c33483e62988ed886230aab71ef4c678f710"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Sep 21 17:04:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "lis3: add power management functions\n\nThis enabled power management functions for the SPI transport layer of the\nlis3 devices.  The device\u0027s suspend mode is only entered in case no wakeup\nthreshold has been given.  In this case, the device is supposed to wake up\nthe system and must thus not be put to deep sleep.\n\n[randy.dunlap@oracle.com: fix lis3-spi for CONFIG_PM\u003dn]\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8873c33483e62988ed886230aab71ef4c678f710",
      "tree": "441cdc48497b84c823330241ecff147642e136a4",
      "parents": [
        "0ec48915e8bbb37dea3df85c41e4c3498b95664b"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Sep 21 17:04:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "lis3: add free-fall/wakeup function via platform_data\n\nThis offers a way for platforms to define flags and thresholds for the\nfree-fall/wakeup functions of the lis302d chips.\n\nMore registers needed to be seperated as they are specific to the\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ec48915e8bbb37dea3df85c41e4c3498b95664b",
      "tree": "33818fe22473c3019f10ce1f58f83e003ea4c5af",
      "parents": [
        "0bf41d9f414a5cf558aff234a0ff486257537574"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Sep 21 17:04:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "lis3: fix typo\n\nBit 0x80 in CTRL_REG3 is an ACTIVE_LOW rather than an ACTIVE_HIGH\nfunction, I got that wrong during my last change.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bf41d9f414a5cf558aff234a0ff486257537574",
      "tree": "0ee03f5c5d245f7abedd9be49cef04a9e9d5bd25",
      "parents": [
        "42e41c54d61e32e8a349943607daa53205324d7f"
      ],
      "author": {
        "name": "Michael Riepe",
        "email": "michael.riepe@googlemail.com",
        "time": "Mon Sep 21 17:04:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "drivers/hwmon/coretemp.c: enable the Intel Atom\n\nEnable the coretemp driver on an Intel Atom.\n\nI\u0027m not sure if the readings are correct, however - on my 330, the driver\nreports values between 27 and 41 °C (with core1 being about 8°C hotter\nthan core0, given the same load).  Maybe the maximum temperature of 100 °C\nis wrong for Atom CPUs.\n\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Rudolf Marek \u003cr.marek@assembler.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42e41c54d61e32e8a349943607daa53205324d7f",
      "tree": "a38050a0b2e716100372601262273cdbd195baf8",
      "parents": [
        "0487683096decad0720dfaf80b9d28173d5f6662"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Sep 21 17:04:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "checkpatch: add some common Blackfin checks\n\nAdd checks for Blackfin-specific issues that seem to crop up from time to\ntime.  In particular, we have helper macros to break a 32bit address into\nthe hi/lo parts, and we want to make sure people use the csync/ssync\nvariant that includes fun anomaly workarounds.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0487683096decad0720dfaf80b9d28173d5f6662",
      "tree": "506241fcace0596fb4cf1e752d7f8aaa19295c8d",
      "parents": [
        "fb9e9096ba94385b738a8ad6c5864b5778285957"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Sep 21 17:04:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "checkpatch: version 0.29\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb9e9096ba94385b738a8ad6c5864b5778285957",
      "tree": "b066899e4c5a4ca033babb068acdc7d0132186c5",
      "parents": [
        "ea71a0a019f913bdf506103bd90140d93a2b83f0"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Sep 21 17:04:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "checkpatch: limit sN/uN matches to actual bit sizes\n\nLimit our type matcher to the s/u/le/be etc sizes that actually exist to\nprevent miss categorising s2 as a type.  Fix up the spelling of the error\nalso.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea71a0a019f913bdf506103bd90140d93a2b83f0",
      "tree": "0d5cf1171809bf012054c7a028beb93450a664fa",
      "parents": [
        "77f5b10a82bbd832c99ec4b120d5645342a5b140"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Sep 21 17:04:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "checkpatch: format strings should not have brackets in macros\n\nWe should not recommend braces for the following:\n\n    #define pr_fmt(fmt)    \"%s: \" fmt, __func__\n\nallow things with double quotes round them to avoid this check.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77f5b10a82bbd832c99ec4b120d5645342a5b140",
      "tree": "13359c9798da6babc144262b59f777e664ac195e",
      "parents": [
        "30dad6ebecffebddf6b9947d11e31377fa900ff3"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Mon Sep 21 17:04:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "checkpatch: make -f alias --file, add --help, more verbose help message\n\nImpact:\n  - More verbose help/usage message.\n  - Make the option -f an alias for --file.\n  - On -h, --help, and --version display help message and exit(0).\n  - With no FILE(s) given, exit(1) with \"no input files\".\n  - On invalid options display help/usage and exit(1).\n\nBased on a patch by Pavel Machek.\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30dad6ebecffebddf6b9947d11e31377fa900ff3",
      "tree": "105febf76a8f69f2194383bf027cad7e8d257d1f",
      "parents": [
        "113f04a836481e9ecc26e8dee8b0e4d52878a288"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Sep 21 17:04:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "checkpatch: indent checks -- stop when we run out of continuation lines\n\nEnsure we terminate when there are no futher continuation lines when\ntrying to determine relative indent of conditionals and their blocks.\n\nReported-by: John Daiker \u003cdaikerjohn@gmail.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "113f04a836481e9ecc26e8dee8b0e4d52878a288",
      "tree": "3f6261a456fd09d2219bb2fe80d90fd0c093f753",
      "parents": [
        "463f28648586721c2191130c9b3c27589dcc11a0"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@fifo99.com",
        "time": "Mon Sep 21 17:04:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "checkpatch: handle C99 comments correctly (performance issue)\n\nThis fixes the sanitation process in checkpatch.pl so that it blocks out\nthe text after a C99 style comment the same way it does with block style\ncomments.  This prevents the text from getting processed as regular code.\n\nSigned-off-by: Daniel Walker \u003cdwalker@fifo99.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "463f28648586721c2191130c9b3c27589dcc11a0",
      "tree": "6b9ae0d46a17cd4cd904168e5e818ef68b6c7a04",
      "parents": [
        "fc0d8d944df0c58cd810f33db82f87dcf5dcc190"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Sep 21 17:04:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "checkpatch: possible types -- else cannot start a type\n\nAn else cannot start a type, it would have to be within a block after the\nelse.  This can trigger false modifier matching.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "3c1596efe167322dae87f8390d36f91ce2d7f936"
}
