)]}'
{
  "log": [
    {
      "commit": "bd68e0838fe85794b06892054772fa013a8d1986",
      "tree": "adb0a3a1aad94f756b7d3d2f8e077877a0b982d0",
      "parents": [
        "c78402e95dd8238ee2b0e6e62b9a0c8b2bb9bba9"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Dec 14 18:01:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:35 2009 -0800"
      },
      "message": "mmc: add module parameter to set whether cards are assumed removable\n\nSome people run general-purpose distribution kernels on netbooks with\na card that is physically non-removable or logically non-removable\n(e.g. used for /home) and cannot be cleanly unmounted during suspend.\nAdd a module parameter to set whether cards are assumed removable or\nnon-removable, with the default set by CONFIG_MMC_UNSAFE_RESUME.\n\nIn general, it is not possible to tell whether a card present in an MMC\nslot after resume is the same that was there before suspend.  So there are\ntwo possible behaviours, each of which will cause data loss in some cases:\n\nCONFIG_MMC_UNSAFE_RESUME\u003dn (default): Cards are assumed to be removed\nduring suspend.  Any filesystem on them must be unmounted before suspend;\notherwise, buffered writes will be lost.\n\nCONFIG_MMC_UNSAFE_RESUME\u003dy: Cards are assumed to remain present during\nsuspend.  They must not be swapped during suspend; otherwise, buffered\nwrites will be flushed to the wrong card.\n\nCurrently the choice is made at compile time and this allows that to be\noverridden at module load time.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Wouter van Heyst \u003clarstiq@larstiq.dyndns.org\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c78402e95dd8238ee2b0e6e62b9a0c8b2bb9bba9",
      "tree": "7ba03c72c7f09aaaf747a37ea93ac3a562b3eb47",
      "parents": [
        "a7a6186c4b96d4ce5c1d13d91b7f862b0adc0e72"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben@simtec.co.uk",
        "time": "Mon Dec 14 18:01:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:35 2009 -0800"
      },
      "message": "s3cmci: convert missed s3c2410_gpio calls to gpiolib calls\n\nConvert two missed s3c2410 specific gpio calls to gpiolib calls.\n\nSigned-off-by: Ben Dooks \u003cben@simtec.co.uk\u003e\nSigned-off-by: Simtec Linux Team \u003clinux@simtec.co.uk\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7a6186c4b96d4ce5c1d13d91b7f862b0adc0e72",
      "tree": "5663b8efc94834aebca7a3bfff6df097d6d04262",
      "parents": [
        "e799acb2ed2f23e88b9ccb89d84fcf206b566d23"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Mon Dec 14 18:01:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "sdhci: add support for the SysKonnect CardBus2SDIO adapter\n\nThis is still in use especially to develop SDIO device drivers on laptop\nmachines which are lacking SDIO slots.  This adapter supports SDIO cards\nonly due to lack of 136-bit response capability.\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e799acb2ed2f23e88b9ccb89d84fcf206b566d23",
      "tree": "993b5042249d41211250e798de5ab48cb9ee3a79",
      "parents": [
        "7e30b8decbb1a5853522936eb613803a480312c3"
      ],
      "author": {
        "name": "Ladislav Michl",
        "email": "ladis@linux-mips.org",
        "time": "Mon Dec 14 18:01:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "mmci-omap: remove bogus check for host-\u003eiclk\n\nRemove check for host-\u003eiclk being NULL from error path since we already\nknow it is non-null and use return value from clk_get.\n\nSigned-off-by: Ladislav Michl \u003cladis@linux-mips.org\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e30b8decbb1a5853522936eb613803a480312c3",
      "tree": "732912dc3d9a6838782375f457579a701ce84ace",
      "parents": [
        "3d348aaf5b4b7d5a65123f4afad3eae416b2903b"
      ],
      "author": {
        "name": "Chaithrika U S",
        "email": "chaithrika@ti.com",
        "time": "Mon Dec 14 18:01:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "davinci: mmc: add cpufreq support\n\nAdd cpufreq support to MMC driver. The clock divider value has to be\nmodified according to the controller input frequency.\n\nSigned-off-by: Chaithrika U S \u003cchaithrika@ti.com\u003e\nCc: Linus Walleij \u003clinus.ml.walleij@gmail.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d348aaf5b4b7d5a65123f4afad3eae416b2903b",
      "tree": "fdc556091cc6cc2a2ca686f1d0d847eb56e31394",
      "parents": [
        "b4cff4549b7a8c5fc8b88e3493b6287555f0512c"
      ],
      "author": {
        "name": "Sudhakar Rajashekhara",
        "email": "sudhakar.raj@ti.com",
        "time": "Mon Dec 14 18:01:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "mmc: davinci: modify data types of EDMA related variables\n\nCurrently DaVinci EDMA driver supports multiple EDMA channel controller\ninstances.  edma_alloc_channel() api returns a 32 bit value which has the\nchannel controller number in MSB and the EDMA channel number in LSB.  The\nvariables which store the value returned by edma_alloc_channel() have to\nbe 32 bit wide now.\n\nSigned-off-by: Sudhakar Rajashekhara \u003csudhakar.raj@ti.com\u003e\nAcked-by: Vipin Bhandari \u003cvipin.bhandari@ti.com\u003e\nCc: Purshotam Kumar \u003cpurushotam@ti.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4cff4549b7a8c5fc8b88e3493b6287555f0512c",
      "tree": "b0fd842569e51b86729d0eee8120ff582e0aa439",
      "parents": [
        "3423d80af67a94a641cc3297ec8c0869aa7f197c"
      ],
      "author": {
        "name": "Vipin Bhandari",
        "email": "vipin.bhandari@ti.com",
        "time": "Mon Dec 14 18:01:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "DaVinci: MMC: MMC/SD controller driver for DaVinci family\n\nAdd support for MMC/SD controller driver for all DaVinci family SoC.  This\npatch supports davinci family SoC\u0027s DM6446, DM355, DM365 and\nDA830/OMAPL137.\n\nThe patch has been tested on DM355 EVM.\n\nThe MMCSD controller specifications for DM355 can be found at\nhttp://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber\u003dspruee2c\n\nSigned-off-by: Vipin Bhandari \u003cvipin.bhandari@ti.com\u003e\nSigned-off-by: Purshotam Kumar \u003cpurushotam@ti.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3423d80af67a94a641cc3297ec8c0869aa7f197c",
      "tree": "79c40fb875c0145598e05d3e7dfb93fd208a3f3b",
      "parents": [
        "4ec64960653c91fa86373d06a079eb7a63deb21f"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Dec 14 18:01:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "drivers/mmc: Move dereference after NULL test\n\nIf the NULL test on mrq is needed, then the derefernce should be after the\nNULL test.\n\nA simplified version of the semantic match that detects this problem is as\nfollows (http://coccinelle.lip6.fr/):\n\n// \u003csmpl\u003e\n@match exists@\nexpression x, E;\nidentifier fld;\n@@\n\n* x-\u003efld\n  ... when !\u003d \\(x \u003d E\\|\u0026x\\)\n* x \u003d\u003d NULL\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ec64960653c91fa86373d06a079eb7a63deb21f",
      "tree": "183bf9b7ffa7d801eb6fd75486d120ff0db28972",
      "parents": [
        "c0521baf0d369074daf3623b5a112a0212012846"
      ],
      "author": {
        "name": "Albert Herranz",
        "email": "albert_herranz@yahoo.es",
        "time": "Mon Dec 14 18:01:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "sdio: rework cis tuple parsing\n\nRework the current CIS tuple parsing code, reusing the existing\ninfrastructure and providing an easy way to add new CISTPL_FUNCE parsers\nby TPLFE_TYPE.\n\nValid known CIS tuples are now silently queued for the SDIO function\ndriver when not parsed/processed (-EILSEQ) by the SDIO core.  Unknown CIS\ntuples (-ENOENT) are queued too for the SDIO function driver without\naborting the initialization, but emit a warning in the kernel log.\n\nCISTPL_FUNCE tuples can be \"whitelisted\" now by adding a matching entry to\nthe cis_tpl_funce_list table.\n\nSigned-off-by: Albert Herranz \u003calbert_herranz@yahoo.es\u003e\nAcked-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c0521baf0d369074daf3623b5a112a0212012846",
      "tree": "7a9f3202288fcebdd50379db750f03dc44a327cb",
      "parents": [
        "9b6e3e42a48ea535c0ed79df32d1353d5e547bed"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Dec 14 18:01:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "mxcmmc: fix error path in mxcmci_probe\n\nAfter a failing allocation of mmc or a failed ioremap in mxcmci_probe host was\nused uninitialized.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nAcked-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Martin Fuzzey \u003cmfuzzey@gmail.com\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b6e3e42a48ea535c0ed79df32d1353d5e547bed",
      "tree": "5a5414b35342bba0fb22b1beab9890c4dda5a5ec",
      "parents": [
        "ca54cb8c9eb38095dc420b73c6380ce1dbeb10fa"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Dec 14 18:01:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "firmware: only allow EDD on x86\n\nRather than have the EDD depend on !ia64 (and assuming that only ia64,\nx86, x86_64 will be including this Kconfig), have EDD depend on the only\narches which can support this code.  This should allow all other arches to\ncleanly include the firmware Kconfig.\n\nAlso simplify the x86 string used by FIRMWARE_MEMMAP to match EDD.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca54cb8c9eb38095dc420b73c6380ce1dbeb10fa",
      "tree": "35b5ba777b962e95039521d912d926a9372b2e8f",
      "parents": [
        "925ede0bf4ecef96fc2d939b16619530111aa16e"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Dec 14 18:01:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "Subject: Re: [PATCH] strstrip incorrectly marked __must_check\n\nRecently, We marked strstrip() as must_check.  because it was frequently\nmisused and it should be checked.  However, we found one exception.\nscsi/ipr.c intentionally ignore return value of strstrip.  Because it\nwishes to keep the whitespace at the beginning.\n\nThus we need to keep with and without checked whitespace trim function.\nThis patch adds a new strim() and changes ipr.c to use it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSuggested-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "925ede0bf4ecef96fc2d939b16619530111aa16e",
      "tree": "f4e74eb56c6f2589f2aeb8c7e827809b0f272c52",
      "parents": [
        "7f2f4e72d3423977cc62152ecf29afe701553a67"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "efi.h: use %pUl to print UUIDs\n\nShrinks vmlinux\n\nwithout:\n$ size vmlinux\n   text    data     bss     dec     hex filename\n6975863  679652 1359668 9015183  898f8f vmlinux\n\nwith:\n$ size vmlinux\n   text    data     bss     dec     hex filename\n6975639 679652 1359668 9014959 898eaf vmlinux\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f2f4e72d3423977cc62152ecf29afe701553a67",
      "tree": "2eb0c3e5bd86d188aa46aa04774f0becd3d61a85",
      "parents": [
        "f0b34ae63488fecf0ec4ab42024d607917f90c45"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "fs/ubifs: use %pUB to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Adrian Hunter \u003cadrian.hunter@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": "f0b34ae63488fecf0ec4ab42024d607917f90c45",
      "tree": "680173ff8790fa8082eaddfba0f55d7a43e3d50e",
      "parents": [
        "7b75c2f8cf6d938b571d3bc3f566f883ab7472c4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "fs/gfs2/sys.c: use %pUB to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@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": "7b75c2f8cf6d938b571d3bc3f566f883ab7472c4",
      "tree": "480a924c730a56dfb06a0bec92b63e9086aa8287",
      "parents": [
        "bc058f65e8c7d83c139692e1c26513d3187dd744"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "drivers/md/md.c: use %pU to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Neil Brown \u003cneilb@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": "bc058f65e8c7d83c139692e1c26513d3187dd744",
      "tree": "d6031a14acb346cd09182f57d2fbb4d85f25c08a",
      "parents": [
        "35900771c06cee858b725ef7069fb6934691b319"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "drivers/firmware/dmi_scan.c: use %pUB to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35900771c06cee858b725ef7069fb6934691b319",
      "tree": "9f10572c710c0792c4cafe248143512e8208724c",
      "parents": [
        "03daa57cdb2198e36a41ca1f63a030759490363f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "random.c: use %pU to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03daa57cdb2198e36a41ca1f63a030759490363f",
      "tree": "5b7b476b6f8f73bc9ad3a986430943ec3386e66a",
      "parents": [
        "9ac6e44ee5caa5f0babfc87f2613e1296d2c2d11"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "fs/xfs/xfs_log_recover.c: use %pU to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Alex Elder \u003caelder@sgi.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ac6e44ee5caa5f0babfc87f2613e1296d2c2d11",
      "tree": "2309170eef8e4fc5c78e00c297cd0e2344d559b0",
      "parents": [
        "b5f54b07c06f6e438a4fee92c27423e880d8816b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "lib/vsprintf.c: add %pU to print UUID/GUIDs\n\nUUID/GUIDs are somewhat common in kernel source.\n\nStandardize the printed style of UUID/GUIDs by using\nanother extension to %p.\n\n%pUb:   01020304-0506-0708-090a-0b0c0d0e0f10\n%pUB:   01020304-0506-0708-090A-0B0C0D0E0F10 (upper case)\n%pUl:   04030201-0605-0807-090a-0b0c0d0e0f10\n%pUL:   04030201-0605-0807-090A-0B0C0D0E0F10 (upper case)\n\n%pU defaults to %pUb\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Neil Brown \u003cneilb@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": "b5f54b07c06f6e438a4fee92c27423e880d8816b",
      "tree": "d1bac8b28c77f1b646dde9779eba73d927d269f7",
      "parents": [
        "e7d2860b690d4f3bed6824757c540579638e3d1e"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "parser: remove unnecessary strlen()\n\nNo functional change.  Cache strlen() result to avoid recalculating it up\nto 3 times on the worst case.\n\nReduces code size a little by 32 bytes:\n   text    data     bss     dec     hex filename\n   1385       0       0    1385     569 lib/parser.o-BEFORE\n   1353       0       0    1353     549 lib/parser.o-AFTER\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.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": "e7d2860b690d4f3bed6824757c540579638e3d1e",
      "tree": "84268ee28893256fd6a6a7e1d4474f61dbee74e7",
      "parents": [
        "84c95c9acf088c99d8793d78036b67faa5d0b851"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "tree-wide: convert open calls to remove spaces to skip_spaces() lib function\n\nMakes use of skip_spaces() defined in lib/string.c for removing leading\nspaces from strings all over the tree.\n\nIt decreases lib.a code size by 47 bytes and reuses the function tree-wide:\n   text    data     bss     dec     hex filename\n  64688     584     592   65864   10148 (TOTALS-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-AFTER)\n\nAlso, while at it, if we see (*str \u0026\u0026 isspace(*str)), we can be sure to\nremove the first condition (*str) as the second one (isspace(*str)) also\nevaluates to 0 whenever *str \u003d\u003d 0, making it redundant. In other words,\n\"a char equals zero is never a space\".\n\nJulia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,\nand found occurrences of this pattern on 3 more files:\n    drivers/leds/led-class.c\n    drivers/leds/ledtrig-timer.c\n    drivers/video/output.c\n\n@@\nexpression str;\n@@\n\n( // ignore skip_spaces cases\nwhile (*str \u0026\u0026  isspace(*str)) { \\(str++;\\|++str;\\) }\n|\n- *str \u0026\u0026\nisspace(*str)\n)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Takashi Iwai \u003ctiwai@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": "84c95c9acf088c99d8793d78036b67faa5d0b851",
      "tree": "170c528099f4f570e48220b546c7fc3e4e06be8a",
      "parents": [
        "f653398c86a1c104f0992bd788dd4bb065449be4"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "string: on strstrip(), first remove leading spaces before running over str\n\n... so that strlen() iterates over a smaller string comprising of the\nremaining characters only.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f653398c86a1c104f0992bd788dd4bb065449be4",
      "tree": "69cd79aaca48c2e1bdf9a48b968772347dbd5df2",
      "parents": [
        "4e62b0930223fe2f61094ceb1bbb31b3fe4251c2"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "string: factorize skip_spaces and export it to be generally available\n\nOn the following sentence:\n    while (*s \u0026\u0026 isspace(*s))\n        s++;\n\nIf *s \u003d\u003d 0, isspace() evaluates to ((_ctype[*s] \u0026 0x20) !\u003d 0), which\nevaluates to ((0x08 \u0026 0x20) !\u003d 0) which equals to 0 as well.\nIf *s \u003d\u003d 1, we depend on isspace() result anyway. In other words,\n\"a char equals zero is never a space\", so remove this check.\n\nAlso, *s !\u003d 0 is most common case (non-null string).\n\nFixed const return as noticed by Jan Engelhardt and James Bottomley.\nFixed unnecessary extra cast on strstrip() as noticed by Jan Engelhardt.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e62b0930223fe2f61094ceb1bbb31b3fe4251c2",
      "tree": "ccfb46317a99d286e63862e22b0d85303267610c",
      "parents": [
        "7707e61c70999a1f9f1fd9ac92e293c198585152"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 14 18:01:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "drivers/scsi/sym53c8xx_2/sym_glue.c: rename skip_spaces() to sym_skip_spaces()\n\nTo avoid a collision with the newly-added kernel-wide skip_spaces().\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7707e61c70999a1f9f1fd9ac92e293c198585152",
      "tree": "179b52871a34d892c265de68f3a8a05ee5aaef56",
      "parents": [
        "922ac25c9f4b5dc4c48ff12bfd14a98bdeb6ff0a"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "ctype: constify read-only _ctype string\n\nWhile at it, use tabs to indent the comments.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "922ac25c9f4b5dc4c48ff12bfd14a98bdeb6ff0a",
      "tree": "8c467994a89e65b231a3905a5e9d309ff1833139",
      "parents": [
        "c5484d7c0a533de6198cb474097e33b174f9c565"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "vsprintf: reuse almost identical simple_strtoulX() functions\n\nThe difference between simple_strtoul() and simple_strtoull() is just\nthe size of the variable used to keep track of the sum of characters\nconverted to numbers:\n\nunsigned long simple_strtoul() {...}\nunsigned long long simple_strtoull(){...}\n\nBoth are same size on my Core 2/gcc 4.4.1.\nOverflow condition is not checked on both functions, so an extremely large\nstring can break these functions so that they don\u0027t even notice it.\n\nAs we do not care for overflowing on these functions, always keep the sum\nusing the larger variable around (unsigned long long) on simple_strtoull()\nand cast it to (unsigned long) on simple_strtoul(), which then becomes\njust a wrapper around simple_strtoull().\n\nCode size decreases by 304 bytes:\n   text    data     bss     dec     hex filename\n  15534       0       8   15542    3cb6 vsprintf.o (ex lib/lib.a-BEFORE)\n  15230       0       8   15238    3b86 vsprintf.o (ex lib/lib.a-AFTER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5484d7c0a533de6198cb474097e33b174f9c565",
      "tree": "b546f0864d85724786157fff343723653d517865",
      "parents": [
        "d4be151b2180fbbc6729dfaa16280d150e3fab1f"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "vsprintf: factor out skip_space code in a separate function\n\nWhen converting more caller sites, the inline decision will be left up to gcc.\n\nIt decreases code size:\n text    data     bss     dec     hex filename\n15710       0       8   15718    3d66 vsprintf.o (ex lib/lib.a-BEFORE)\n15534       0       8   15542    3cb6 vsprintf.o (ex lib/lib.a-AFTER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-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": "d4be151b2180fbbc6729dfaa16280d150e3fab1f",
      "tree": "2b82f9cd79144f04804db07384d4fdaf346b2ed8",
      "parents": [
        "b5ff992b09dbe06a4a020fbb702e29ab61290cc5"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "vsprintf: move local vars to block local vars and remove unneeded ones\n\nCleanup by moving variables closer to the scope where they\u0027re used in fact.\nAlso, remove unneeded ones.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-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": "b5ff992b09dbe06a4a020fbb702e29ab61290cc5",
      "tree": "b23916d07465dc4a2dbd011d2497491e5e217e5d",
      "parents": [
        "08562cb27da6a1472be15898173105b46801a73b"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "vsprintf: reduce code size by avoiding extra check\n\nNo functional change, just refactor the code so that it avoid checking\n\"if (hi)\" two times in a sequence, taking advantage of previous check made.\n\nIt also reduces code size:\n   text    data     bss     dec     hex filename\n  15726       0       8   15734    3d76 vsprintf.o (ex lib/lib.a-BEFORE)\n  15710       0       8   15718    3d66 vsprintf.o (ex lib/lib.a-AFTER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-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": "08562cb27da6a1472be15898173105b46801a73b",
      "tree": "738e298e14771b9cf3e98389f2c0ae776f396165",
      "parents": [
        "7b9186f5eb0b1705abf7b2fbf33076a6b83f9d89"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "vsprintf: use TOLOWER whenever possible\n\nIt decreases code size as well:\n text    data     bss     dec     hex filename\n15758       0       8   15766    3d96 vsprintf.o (ex lib/lib.a-BEFORE)\n15726       0       8   15734    3d76 vsprintf.o (ex lib/lib.a-TOLOWER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-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": "7b9186f5eb0b1705abf7b2fbf33076a6b83f9d89",
      "tree": "790d988d0d745ef09f760766e94f8f9a84670aa8",
      "parents": [
        "6c356634111c5a7a48264d7c9ec28559e4be11a2"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "vsprintf: give it some care to please checkpatch.pl\n\nMost relevant complaints were addressed.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-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": "6c356634111c5a7a48264d7c9ec28559e4be11a2",
      "tree": "580b71e1e3764c4cc92ae9df5275b161c61f3267",
      "parents": [
        "0f4f81dce93774a447da3ceb98cce193ef84a3fa"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "vsprintf: pre-calculate final string length for later use\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-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": "0f4f81dce93774a447da3ceb98cce193ef84a3fa",
      "tree": "343f83bc9ed704d57f462a729eb91b100edff0c0",
      "parents": [
        "3768f0b1d18369bbb4ddc3adca791d26704e8047"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "vsprintf: factorize \"(null)\" string\n\nThis patchset reduces lib/lib.a code size by 482 bytes on my Core 2 with\ngcc 4.4.1 even considering that it exports a newly defined function\nskip_spaces() to drivers:\n\n   text    data     bss     dec     hex filename\n  64867     840     592   66299   102fb (TOTALS-lib.a-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-lib.a-AFTER)\nand implements some code tidy up.\n\nBesides reducing lib.a size, it converts many in-tree drivers to use the\nnewly defined function, which makes another small reduction on kernel size\noverall when those drivers are used.\n\nThis patch:\n\nChange \"\u003cNULL\u003e\" to \"(null)\", unifying 3 equal strings.\nglibc also uses \"(null)\" for the same purpose.\n\nIt decreases code size by 7 bytes:\n text    data     bss     dec     hex filename\n15765       0       8   15773    3d9d vsprintf.o (ex lib/lib.a-BEFORE)\n15758       0       8   15766    3d96 vsprintf.o (ex lib/lib.a-AFTER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-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": "3768f0b1d18369bbb4ddc3adca791d26704e8047",
      "tree": "4994465e047d836cdf35893d0c5d6514e230db70",
      "parents": [
        "e74b98e58f57d293afa2ab86770b02981f50076e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "MAINTAINERS: Update file patterns for WOLFSON MICROELECTRONICS PMIC DRIVERS\n\nOne of the includes pointed to a non-existent directory\nAdd Documentation/hwmon/wm83??\nAdd sound/soc/codecs/wm(8350|8400).h files\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e74b98e58f57d293afa2ab86770b02981f50076e",
      "tree": "cae66071091dcdc1dc6f312c11ba13605d836e6a",
      "parents": [
        "b57fe924740b30cdbaaf20da8b7375f167f6ac35"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "MAINTAINERS: remove file pattern from KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V\n\nCommit 6c8166a77c98f473eb91e96a61c3cf78ac617278 (\"KVM: SVM: Fold kvm_svm.h\ninfo svm.c\") folded this file away.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b57fe924740b30cdbaaf20da8b7375f167f6ac35",
      "tree": "a25e05317975b175d393bbbbf410e1719f1a4c25",
      "parents": [
        "d1f28953ca338a9af6d91d5896060179142de0d1"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "MAINTAINERS: rename PALM TREO section and file patterns\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Tomas Cech \u003csleep_walker@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1f28953ca338a9af6d91d5896060179142de0d1",
      "tree": "7e5e4e484e2e09bd7fc6d34d527dfe598897c72c",
      "parents": [
        "60db31ac11e2fa35b1c343e7182fb59452c4e52e"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Dec 14 18:00:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "MAINTAINERS: mark cifs mailing list as \"moderated for non-subscribers\"\n\nIf non-subscribers post bug report to CIFS mailing list, they will get\nfollowing messages.\n\n\tYour mail to \u0027linux-cifs-client\u0027 with the subject\n\n\t    [PATCH x/x] cifs: xxxxxxxxxxxxx\n\n\tIs being held until the list moderator can review it for approval.\n\n\tThe reason it is being held:\n\n\t    Post by non-member to a members-only list\n\n\tEither the message will get posted to the list, or you will receive\n\tnotification of the moderator\u0027s decision.  If you would like to cancel\n\tthis posting, please visit the following URL:\n\nmembers-only list should be written as so in MAINTAINERS file.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60db31ac11e2fa35b1c343e7182fb59452c4e52e",
      "tree": "18bb51d505c8f92e6331999a1462b5fbde18cf3f",
      "parents": [
        "a8af2430f3fb997951eff3d0d51cb166b399782b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "scripts/get_maintainer.pl: support multiple VCSs - add mercurial\n\nRestructure a bit for multiple version control systems support.\n\nUse a hash for each supported VCS that contains the commands\nand patterns used to find commits, logs, and signers.\n\n--git command line options are still used for hg except for\n--git-since.  Use --hg-since instead.\n\nThe number of commits can differ for git and hg, so --rolestats\nmight be different.\n\nStyle changes: Use common push style push(@foo...), simplify a return\n\nBumped version to 0.23.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Marti Raudsepp \u003cmarti@juffo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8af2430f3fb997951eff3d0d51cb166b399782b",
      "tree": "e7a82410bd26354ee5888ed54de563d514f85f51",
      "parents": [
        "3c7385b81f721f0e7648d5134afb2088b28f8c69"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "scripts/get_maintainer.pl: fix --non with --git-blame and cleanups\n\nFix email matching without name --n and --git-blame\n   Using --non and --git-blame caused maintainer signature\n   matching to fail.  Fixed that by adding 3rd argument to\n   sub format_email to control show/hide name portion of address\nSlurp -f file instead of reading line-by-line for K: pattern matching.\n   Suggested by Wolfram Sang as more efficient\nRefactor git command execution\n   Break into 2 functions, execute/analyze\n   Share code between --git and --git-blame\n   Don\u0027t warn multiple times when git isn\u0027t installed\nImprove stats reporting\n   --git-min-percent and -- rolestats now count the total number of commits\n   for either the period of --git-since or if using --git-blame the commits\n   used by the current file and calculate commit % as\n      # of commits signed / total commits * 100\nCode style cleaning\n   Use consistent sub foo { my (args...) \u003d @_;\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c7385b81f721f0e7648d5134afb2088b28f8c69",
      "tree": "d1bb0060604f39b9fc87c465b2614b22dfbd5005",
      "parents": [
        "5ada918b82399eef3afd6a71e3637697d6bd719f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "scripts/get_maintainer.pl: add --roles and --rolestats\n\n--roles shows the role of each email address, i.e. why it was selected.\n--rolestats selects --roles and adds git log/blame signers #\u0027s and %\n\nMultiple roles are possible (supporter, maintainer, git-signer...)\n\n--roles or --rolestats is meant to help identify appropriate maintainers\nto notify and should not be used with \"git send-email --cc-cmd\"\n\nExample output:\n\nExisting:\n\n$ ./scripts/get_maintainer.pl -f arch/x86/kernel/acpi/boot.c\nCorentin Chary \u003ccorentincj@iksaif.net\u003e\nKarol Kozimor \u003csziwan@users.sourceforge.net\u003e\nLen Brown \u003clen.brown@intel.com\u003e\nPavel Machek \u003cpavel@ucw.cz\u003e\nRafael J. Wysocki \u003crjw@sisk.pl\u003e\nThomas Gleixner \u003ctglx@linutronix.de\u003e\nIngo Molnar \u003cmingo@redhat.com\u003e\nH. Peter Anvin \u003chpa@zytor.com\u003e\nx86@kernel.org\nYinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nJeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nacpi4asus-user@lists.sourceforge.net\nlinux-pm@lists.linux-foundation.org\nlinux-kernel@vger.kernel.org\n\nWith --roles\n\n$ ./scripts/get_maintainer.pl --roles -f arch/x86/kernel/acpi/boot.c\nCorentin Chary \u003ccorentincj@iksaif.net\u003e (maintainer:ASUS ACPI EXTRAS...)\nKarol Kozimor \u003csziwan@users.sourceforge.net\u003e (maintainer:ASUS ACPI EXTRAS...)\nLen Brown \u003clen.brown@intel.com\u003e (supporter:SUSPEND TO RAM,git-signer)\nPavel Machek \u003cpavel@ucw.cz\u003e (supporter:SUSPEND TO RAM)\nRafael J. Wysocki \u003crjw@sisk.pl\u003e (supporter:SUSPEND TO RAM)\nThomas Gleixner \u003ctglx@linutronix.de\u003e (maintainer:X86 ARCHITECTURE...)\nIngo Molnar \u003cmingo@redhat.com\u003e (maintainer:X86 ARCHITECTURE...,git-signer)\nH. Peter Anvin \u003chpa@zytor.com\u003e (maintainer:X86 ARCHITECTURE...)\nx86@kernel.org (maintainer:X86 ARCHITECTURE...)\nYinghai Lu \u003cyhlu.kernel@gmail.com\u003e (git-signer)\nJeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e (git-signer)\nacpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)\nlinux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)\nlinux-kernel@vger.kernel.org (open list)\n\nWith --rolestats\n\n$ ./scripts/get_maintainer.pl --rolestats -f arch/x86/kernel/acpi/boot.c\nCorentin Chary \u003ccorentincj@iksaif.net\u003e (maintainer:ASUS ACPI EXTRAS...)\nKarol Kozimor \u003csziwan@users.sourceforge.net\u003e (maintainer:ASUS ACPI EXTRAS...)\nLen Brown \u003clen.brown@intel.com\u003e (supporter:SUSPEND TO RAM,git-signer:16/79\u003d20%)\nPavel Machek \u003cpavel@ucw.cz\u003e (supporter:SUSPEND TO RAM)\nRafael J. Wysocki \u003crjw@sisk.pl\u003e (supporter:SUSPEND TO RAM)\nThomas Gleixner \u003ctglx@linutronix.de\u003e (maintainer:X86 ARCHITECTURE...)\nIngo Molnar \u003cmingo@redhat.com\u003e (maintainer:X86 ARCHITECTURE...,git-signer:29/79\u003d37%)\nH. Peter Anvin \u003chpa@zytor.com\u003e (maintainer:X86 ARCHITECTURE...)\nx86@kernel.org (maintainer:X86 ARCHITECTURE...)\nYinghai Lu \u003cyhlu.kernel@gmail.com\u003e (git-signer:12/79\u003d15%)\nJeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e (git-signer:6/79\u003d8%)\nacpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)\nlinux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)\nlinux-kernel@vger.kernel.org (open list)\n\nWith --rolestats and --git-blame\n\n$ ./scripts/get_maintainer.pl --rolestats --git-blame -f arch/x86/kernel/acpi/boot.c\nCorentin Chary \u003ccorentincj@iksaif.net\u003e (maintainer:ASUS ACPI EXTRAS...)\nKarol Kozimor \u003csziwan@users.sourceforge.net\u003e (maintainer:ASUS ACPI EXTRAS...)\nLen Brown \u003clen.brown@intel.com\u003e (supporter:SUSPEND TO RAM,git-signer:16/79\u003d20%,commits:22/154\u003d14%)\nPavel Machek \u003cpavel@ucw.cz\u003e (supporter:SUSPEND TO RAM)\nRafael J. Wysocki \u003crjw@sisk.pl\u003e (supporter:SUSPEND TO RAM)\nThomas Gleixner \u003ctglx@linutronix.de\u003e (maintainer:X86 ARCHITECTURE...)\nIngo Molnar \u003cmingo@redhat.com\u003e (maintainer:X86 ARCHITECTURE...,git-signer:29/79\u003d37%,commits:36/154\u003d23%)\nH. Peter Anvin \u003chpa@zytor.com\u003e (maintainer:X86 ARCHITECTURE...)\nx86@kernel.org (maintainer:X86 ARCHITECTURE...)\nYinghai Lu \u003cyhlu.kernel@gmail.com\u003e (git-signer:12/79\u003d15%,commits:9/154\u003d6%)\nJeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e (git-signer:6/79\u003d8%)\nAndi Kleen \u003cak@suse.de\u003e (commits:11/154\u003d7%)\nAndrew Morton \u003cakpm@osdl.org\u003e (commits:10/154\u003d6%)\nacpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)\nlinux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)\nlinux-kernel@vger.kernel.org (open list)\n\nOther changes:\n\nFormat git-signers email addresses a bit to reduce bad signatures\nCommand line bad arguments emitted a verbose usage(), just show --help\nVersion number bumped to .22\n\nBen Hutchings had the idea and created a good deal of this implementation.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\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": "5ada918b82399eef3afd6a71e3637697d6bd719f",
      "tree": "9bff5251d9d21960726078c2117a0ab19ca25956",
      "parents": [
        "c95d1e53ed89b75a4d7b68d1cbae4607b1479243"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard@bwalle.de",
        "time": "Mon Dec 14 18:00:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "vt: introduce and use vt_kmsg_redirect() function\n\nThe kernel offers with TIOCL_GETKMSGREDIRECT ioctl() the possibility to\nredirect the kernel messages to a specific console.\n\nHowever, since it\u0027s not possible to switch to the kernel message console\nafter a panic(), it would be nice if the kernel would print the panic\nmessage on the current console.\n\nThis patch series adds a new interface to access the global kmsg_redirect\nvariable by a function to be able to use it in code where\nCONFIG_VT_CONSOLE is not set (kernel/panic.c).\n\nThis patch:\n\nInstead of using and exporting a global value kmsg_redirect, introduce a\nfunction vt_kmsg_redirect() that both can set and return the console where\nmessages are printed.\n\nChange all users of kmsg_redirect (the VT code itself and kernel/power.c)\nto the new interface.\n\nThe main advantage is that vt_kmsg_redirect() can also be used when\nCONFIG_VT_CONSOLE is not set.\n\nSigned-off-by: Bernhard Walle \u003cbernhard@bwalle.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c95d1e53ed89b75a4d7b68d1cbae4607b1479243",
      "tree": "b82d2ef1e349a3da948fe4c7dbd56ebed0ad0e84",
      "parents": [
        "f3a57a60d3e107d17aebb9e52b61c503e5bc14f9"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: drop the Geode-specific MFGPT/GPIO code\n\nWith generic modular drivers handling all of this stuff, the\ngeode-specific code can go away.  The cs5535-gpio, cs5535-mfgpt, and\ncs5535-clockevt drivers now handle this.\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3a57a60d3e107d17aebb9e52b61c503e5bc14f9",
      "tree": "58c34bb90b20e2816ec0018eb3e5660c3ab8b5a5",
      "parents": [
        "f060f27007b393bac6e50ee6fc26d8505acf6fe4"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: define lxfb/gxfb MSRs in linux/cs5535.h\n\n..and include them in the lxfb/gxfb drivers rather than asm/geode.h (where\npossible).\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f060f27007b393bac6e50ee6fc26d8505acf6fe4",
      "tree": "fd83b0c9550814dfb5fc6a726ce7b5eb1baaa6f3",
      "parents": [
        "2e8c12436f540d3c40137ebf10268803dc972f6a"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: move VSA2 checks into linux/cs5535.h\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e8c12436f540d3c40137ebf10268803dc972f6a",
      "tree": "136bc34d4c88336f2dc09784406fea40ac6dfb0e",
      "parents": [
        "c30d7d2b9987e189bc6d5ec6635785b91a6ee81e"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: move the DIVIL MSR definition into linux/cs5535.h\n\nThe only thing that uses this is the reboot_fixups code.\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c30d7d2b9987e189bc6d5ec6635785b91a6ee81e",
      "tree": "521d7185b8612fa6bd9589923d8da5884cc2e53e",
      "parents": [
        "82dca611bb516ec5fb7d04077733d6a4b70f52d1"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: add a generic clock event MFGPT driver\n\nThis is based on the old code in arch/x86/kernel/mfgpt_32.c, but is\nmodular and not Geode-specific.  There\u0027s no reason why the clock event\ndevice needs to be registered so early at boot; the clockevent code is\nperfectly capable of dynamic switching.\n\n[akpm@linux-foundation.org: add linux/irq.h include]\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82dca611bb516ec5fb7d04077733d6a4b70f52d1",
      "tree": "67e085277bcc06e0aa7bf305e586ce856ef11078",
      "parents": [
        "3c55494670745e523f69b56edb66ca0b50a470c2"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: add a generic MFGPT driver\n\nThis is based on the old code on arch/x86/kernel/mfgpt_32.c, except it\u0027s\nnot x86 specific, it\u0027s modular, and it makes use of a PCI BAR rather than\na random MSR.  Currently module unloading is not supported; it\u0027s uncertain\nwhether or not it can be made work with the hardware.\n\n[akpm@linux-foundation.org: add X86 dependency]\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c55494670745e523f69b56edb66ca0b50a470c2",
      "tree": "557d7a2cb785a7938068ae8fee83f0b27ab9891d",
      "parents": [
        "1ea3fa7bbfbe81cfbdcc35748a57c35f9b32c5d6"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "ALSA: cs5535audio: free OLPC quirks from reliance on MGEODE_LX cpu optimization\n\nPreviously, OLPC support for the mic extensions was only enabled in the\nALSA driver if CONFIG_OLPC and CONFIG_MGEODE_LX were both set.  This was\nbecause the old geode GPIO code was written in a manner that assumed\nCONFIG_MGEODE_LX.  With the new cs553x-gpio driver, this is no longer the\ncase; as such, we can drop the requirement on CONFIG_MGEODE_LX and instead\ninclude a requirement on GPIOLIB.\n\nWe use the generic GPIO API rather than the cs553x-specific API.\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\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": "1ea3fa7bbfbe81cfbdcc35748a57c35f9b32c5d6",
      "tree": "e6a6100062ddfd2c55576243998ac5299376a187",
      "parents": [
        "5f0a96b044d8edaee20f4a32ef6c393599ca55f8"
      ],
      "author": {
        "name": "Tobias Mueller",
        "email": "Tobias_Mueller@twam.info",
        "time": "Mon Dec 14 18:00:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "cs5535-gpio: request function, mask \u0026 names added\n\nChanged number of gpio pins to 32 (according to datasheet)\n\nAdded mask to disable some pins\n\nAdded gpio_request for checking mask and disabling special pin functions\n\nAdded pin names\n\n[dilinger@collabora.co.uk: make printk usage consistent]\nSigned-off-by: Tobias Mueller \u003cTobias_Mueller@twam.info\u003e\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alessandro Zummo \u003calessandro.zummo@towertech.it\u003e\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f0a96b044d8edaee20f4a32ef6c393599ca55f8",
      "tree": "a46994e95854d1771ea6829826793f8bceb39751",
      "parents": [
        "1f2f38d89d1eced2079189cd880eeacee378370a"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "cs5535-gpio: add AMD CS5535/CS5536 GPIO driver support\n\nThis creates a CS5535/CS5536 GPIO driver which uses a gpio_chip backend\n(allowing GPIO users to use the generic GPIO API if desired) while also\nallowing architecture-specific users directly (via the cs5535_gpio_*\nfunctions).\n\nTested on an OLPC machine.  Some Leemotes also use CS5536 (with a mips\ncpu), which is why this is in drivers/gpio rather than arch/x86.\nCurrently, it conflicts with older geode GPIO support; once MFGPT support\nis reworked to also be more generic, the older geode code will be removed.\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nReviewed-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f2f38d89d1eced2079189cd880eeacee378370a",
      "tree": "143d4219d4249591ef1e74688673f9b78ce06aa7",
      "parents": [
        "4ae717da8d18839487485f6ae608b8542790fdd3"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Mon Dec 14 18:00:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "drivers/char/misc.c: use bitmap/bitops functions for dynamic minor number allocation\n\nUse DECLARE_BITMAP(), find_first_zero_bit(), set_bit() and clear_bit()\ninstead of rewriting code to do it with the minor number dynamic\nallocation bitmap.\n\nWe need to invert the bit position to keep the code behaviour of using the\nlast minor numbers first, since we don\u0027t have a find_last_zero_bit.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ae717da8d18839487485f6ae608b8542790fdd3",
      "tree": "9db3390a593c0335f6944fd094c8fd8f52455be8",
      "parents": [
        "603c4ba96be998a8dd7a6f9b23681c49acdf4b64"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Mon Dec 14 18:00:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "drivers/char/misc.c: clear allocation bit in minor bitmap when device register fails\n\nIf there\u0027s a failure creating the device (because there\u0027s already one with\nthe same name, for example), the current implementation does not clear the\nbit for the allocated minor and that number is lost for future\nallocations.\n\nSecond, the test currently in misc_deregister is broken, since it does not\ntest for the 0 minor.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "603c4ba96be998a8dd7a6f9b23681c49acdf4b64",
      "tree": "1b85fc526219085ceaffca54150eee64c3aba4a0",
      "parents": [
        "9385565e20c4acf97cd8e2fd7155750e578edcc4"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Mon Dec 14 18:00:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "err.h: add helper function to simplify pointer error checking\n\nThere are quite a few instances in the kernel of checks of pointers both\nagainst NULL and against the errno range, handling both cases identically.\nThis additional helper function would simplify such code.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@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": "9385565e20c4acf97cd8e2fd7155750e578edcc4",
      "tree": "55ee76523bb308ef73a2f91942953db6b79fe1c9",
      "parents": [
        "2ea5d35a49f5c89d1d2d677fe90c71ad5a6278b6"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 18:00:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "ioc3/ioc4: fix error path on driver registration\n\nTwo IOC3 and IOC4 drivers have broken error paths on registration.  Fix\nthem.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Pat Gefre \u003cpfg@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ea5d35a49f5c89d1d2d677fe90c71ad5a6278b6",
      "tree": "3e5eb8efe966320b93ec948c8f95674d79912c5e",
      "parents": [
        "e4c570c4cb7a95dbfafa3d016d2739bf3fdfe319"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Dec 14 18:00:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "ioc3/ioc4: various section fixes\n\nSeveral IOC3 and IOC4 drivers misuse the __devinit and __devexit section\nmarkers.  Use __init and __exit instead as appropriate, then add __devinit\nand __devexit where they really belong for PCI drivers.\n\nAlso make ioc4_serial_init static.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Pat Gefre \u003cpfg@sgi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4c570c4cb7a95dbfafa3d016d2739bf3fdfe319",
      "tree": "ce2be0a79fa2e8d8271426f0fc27b25e83c050b4",
      "parents": [
        "8420e7efa1cf155765c6d77c91d3e3547c7aa557"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Dec 14 18:00:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "task_struct: make journal_info conditional\n\njournal_info in task_struct is used in journaling file system only.  So\nintroduce CONFIG_FS_JOURNAL_INFO and make it conditional.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: KONISHI Ryusuke \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8420e7efa1cf155765c6d77c91d3e3547c7aa557",
      "tree": "b1de8dd59a06b0399ff94a75d81d0b7b41c92f3f",
      "parents": [
        "8a64f336bc1d4aa203b138d29d5a9c414a9fbb47"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "Make DEBUG_BUGVERBOSE default to y\n\nIt\u0027s easy to lose useful DEBUG_BUGVERBOSE by switching EMBEDDED left and right.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a64f336bc1d4aa203b138d29d5a9c414a9fbb47",
      "tree": "2614009dbe403eff3a35729e4b725469454faf06",
      "parents": [
        "2643434c1ad400dc417865ac37610e8d3c7c1783"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "kernel.h: add printk_ratelimited and pr_\u003clevel\u003e_rl\n\nAdd a printk_ratelimited statement expression macro that uses a per-call\nratelimit_state so that multiple subsystems output messages are not\nsuppressed by a global __ratelimit state.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: s/_rl/_ratelimited/g]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Naohiro Ooiwa \u003cnooiwa@miraclelinux.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2643434c1ad400dc417865ac37610e8d3c7c1783",
      "tree": "235c7cda73e53a87cf7f30e77aed5b13a21db368",
      "parents": [
        "dfc6a736d452a8c308190b618b065c2257d370ff"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Mon Dec 14 18:00:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "misc: remove MAC pmu function declaration from misc device class\n\nCommit 8c8709334cec803368a432a33e0f2e116d48fe07 has removed the\npmu_device_init call from misc_init, but unlike other similar commits,\nhas not removed its declaration.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dfc6a736d452a8c308190b618b065c2257d370ff",
      "tree": "129800fa31f88a5f6d520a2c0d0a64273488a3fa",
      "parents": [
        "948c1e2521979c332b21b623414cf258150f214e"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Mon Dec 14 18:00:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "kernel/sys.c: fix \"warning: do-while statement is not a compound statement\" noise\n\ndo_each_thread/while_each_thread wrap a block of code that is in this format:\n\n\tfor (...)\n\t\tdo\n\t\t\t...\n\t\twhile\n\nIf curly braces do not surround the inner loop the following warning is\ngenerated by sparse:\n\n\twarning: do-while statement is not a compound statement\n\nFix the warning by adding the braces.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "948c1e2521979c332b21b623414cf258150f214e",
      "tree": "d59049241d1396c6e7cac170b80c354fd5835f23",
      "parents": [
        "29671f22a8b6522db3b126a3fdfb208759ce46e3"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 18:00:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "kallsyms: remove deprecated print_fn_descriptor_symbol()\n\nAccording to feature-removal-schedule.txt, it is the time to remove\nprint_fn_descriptor_symbol().\n\nAnd a quick grep shows that it no longer has any callers.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29671f22a8b6522db3b126a3fdfb208759ce46e3",
      "tree": "c3c434fc07aae30c401fe7662b8e1399b98ffdc2",
      "parents": [
        "118d52da1816471ac875bb9f1ee51737e82b1d71"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 18:00:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "rwsem: fix rwsem_is_locked() bugs\n\nrwsem_is_locked() tests -\u003eactivity without locks, so we should always keep\n-\u003eactivity consistent.  However, the code in __rwsem_do_wake() breaks this\nrule, it updates -\u003eactivity after _all_ readers waken up, this may give\nsome reader a wrong -\u003eactivity value, thus cause rwsem_is_locked() behaves\nwrong.\n\nQuote from Andrew:\n\n\"\n- we have one or more processes sleeping in down_read(), waiting for access.\n\n- we wake one or more processes up without altering -\u003eactivity\n\n- they start to run and they do rwsem_is_locked().  This incorrectly\n  returns \"false\", because the waker process is still crunching away in\n  __rwsem_do_wake().\n\n- the waker now alters -\u003eactivity, but it was too late.\n\"\n\nSo we need get a spinlock to protect this.  And rwsem_is_locked() should\nnot block, thus we use spin_trylock_irqsave().\n\n[akpm@linux-foundation.org: simplify code]\nReported-by: Brian Behlendorf \u003cbehlendorf1@llnl.gov\u003e\nCc: Ben Woodard \u003cbwoodard@llnl.gov\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "118d52da1816471ac875bb9f1ee51737e82b1d71",
      "tree": "b51ac58c1c7af29ea0f64aededef0caac19c8ff5",
      "parents": [
        "0b2749aa6ca40ff3fe12ebb3fdf010ebad2e9085"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 18:00:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "rwsem-spinlock: remove useless function exports\n\nThese functions need not to be exported, since no drivers should use them.\n\n__init_rwsem() is an exception, because init_rwsem(), which is a macro,\nis used.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b2749aa6ca40ff3fe12ebb3fdf010ebad2e9085",
      "tree": "c4c848da19ee1e3f1bd4f8733af7676b5b52984c",
      "parents": [
        "196a15b4ee99f627fbc2c07e58e14aab2065fa80"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "kernel.h: remove initialization of bool in printk_once\n\nDon\u0027t initialize __print_once.  Invert the test to reduce initialized\ndata.\n\ndefconfig before:\t$size vmlinux\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n6976022\t 679572\t1359668\t9015262\t 898fde\tvmlinux\n\ndefconfig after:\t$size vmlinux\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n6976006\t 679508\t1359700\t9015214\t 898fae\tvmlinux\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": "196a15b4ee99f627fbc2c07e58e14aab2065fa80",
      "tree": "6886bf8387be37fac4cd4b9b1e0e8109a8adf155",
      "parents": [
        "4d00928c1f02defc81afcc5cc6198581c4bd03e8"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Mon Dec 14 18:00:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "init/main.c: fix symbol shadows noise\n\nThe symbol \u0027call\u0027 is a static symbol used for initcall_debug.  This same\nsymbol name is used locally by a couple functions and produces the\nfollowing sparse warnings:\n\n\twarning: symbol \u0027call\u0027 shadows an earlier one\n\nFix this noise by renaming the local symbols.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d00928c1f02defc81afcc5cc6198581c4bd03e8",
      "tree": "79d86f033dec3a2c5c9cfb5a9856eb9735ca92d7",
      "parents": [
        "c0f68c2fab4898bcc4671a8fb941f428856b4ad5"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Dec 14 18:00:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "drivers/misc: add driver for Texas Instruments DAC7512\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: \"H Hartley Sweeten\" \u003chartleys@visionengravers.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c0f68c2fab4898bcc4671a8fb941f428856b4ad5",
      "tree": "87cc5addf461b699b3b9c9d1931f77acf947051d",
      "parents": [
        "4eb174bee6f8623fed1af0072f1bebfc3b513a52"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Dec 14 18:00:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "generic-ipi: cleanup for generic_smp_call_function_interrupt()\n\nUse smp_processor_id() instead of get_cpu() and put_cpu() in\ngeneric_smp_call_function_interrupt(), It\u0027s no need to disable preempt,\nbecause we must call generic_smp_call_function_interrupt() with interrupts\ndisabled.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4eb174bee6f8623fed1af0072f1bebfc3b513a52",
      "tree": "9357e122a1fc99a881a0091623acc8fe8ce22112",
      "parents": [
        "00b55864bb37200d7f05143c44f5e2edfc8c4578"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon Dec 14 18:00:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "ad525x_dpot: new driver for AD525x digital potentiometers\n\nThis driver supports the non-volatile digital potentiometers via I2C:\nAD5258, AD5259, AD5251, AD5252, AD5253, AD5254, and AD5255\n\nIt provides a sysfs interface to each device for reading/writing which\nis documented in Documentation/misc-devices/ad525x_dpot.txt.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Chris Verges \u003cchrisv@cyberswitching.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\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": "00b55864bb37200d7f05143c44f5e2edfc8c4578",
      "tree": "e744e54d7422559c3504724dfc85d678bc2996cf",
      "parents": [
        "42f247c83aeb52d2ee7a9fe23fb57e22317f18fd"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "dynamic_debug.h/kernel.h: Remove KBUILD_MODNAME from dynamic_pr_debug\n\nIf CONFIG_DYNAMIC_DEBUG is enabled and a source file has:\n\n#define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\n#include \u003clinux/kernel.h\u003e\n\ndynamic_debug.h will duplicate KBUILD_MODNAME\nin the output string.\n\nRemove the use of KBUILD_MODNAME from the\noutput format string generated by dynamic_debug.h\n\nIf CONFIG_DYNAMIC_DEBUG is not enabled, no compile-time\ncheck is done to printk/dev_printk arguments.\n\nAdd it.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42f247c83aeb52d2ee7a9fe23fb57e22317f18fd",
      "tree": "cd48934d6f634ba4f0eec4ed2da37f9bfe3a82c5",
      "parents": [
        "6613c5e8603bc41741487828f48c6a4d701f7814"
      ],
      "author": {
        "name": "Cesar Eduardo Barros",
        "email": "cesarb@cesarb.net",
        "time": "Mon Dec 14 18:00:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "WARN_ONCE(): use bool for boolean flag\n\nCommit 70867453092297be9afb2249e712a1f960ec0a09 (\"printk_once(): use bool\nfor boolean flag\") changed printk_once() to use bool instead of int for\nits guard variable.  Do the same change to WARN_ONCE() and WARN_ON_ONCE(),\nfor the same reasons.\n\nThis resulted in a reduction of 1462 bytes on a x86-64 defconfig:\n\n   text    data     bss     dec     hex filename\n8101271 1207116  992764 10301151         9d2edf vmlinux.before\n8100553 1207148  991988 10299689         9d2929 vmlinux.after\n\nSigned-off-by: Cesar Eduardo Barros \u003ccesarb@cesarb.net\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6613c5e8603bc41741487828f48c6a4d701f7814",
      "tree": "821a045f88cbe2a03aed9aa4d8c56b0015b2b208",
      "parents": [
        "2886a8bdfa007053b414ab01741a98c18c376a85"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "uml: convert to seq_file/proc_fops\n\nConvert code away from -\u003eread_proc/-\u003ewrite_proc interfaces.  Switch to\nproc_create()/proc_create_data() which make addition of proc entries\nreliable wrt NULL -\u003eproc_fops, NULL -\u003edata and so on.\n\nProblem with -\u003eread_proc et al is described here commit\n786d7e1612f0b0adb6046f19b906609e4fe8b1ba \"Fix rmmod/read/write races in\n/proc entries\"\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "2886a8bdfa007053b414ab01741a98c18c376a85",
      "tree": "6b3d10c16393da65f271fe7865feb4bae97e7674",
      "parents": [
        "faa7b7ddca14887ac037f585d2fac7ca6c57037e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Dec 14 18:00:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "floppy: Add an extra bound check on ioctl arguments\n\ngcc is not convinced that the floppy.c ioctl has sufficient bound checks:\n\nIn function `copy_from_user\u0027,\n    inlined from `fd_copyin\u0027 at drivers/block/floppy.c:3080,\n    inlined from `fd_ioctl\u0027 at drivers/block/floppy.c:3503:\n    arch/x86/include/asm/uaccess_32.h:211:\nwarning: call to `copy_from_user_overflow\u0027 declared with attribute\nwarning: copy_from_user buffer size is not provably correct\n\nAnd frankly, as a human I have a hard time proving the same more or less\n(the size comes from the ioctl argument.  humpf.  maybe.  the code isn\u0027t\nvery nice)\n\nThis patch adds an explicit check to make 100% sure it\u0027s safe, better than\nfinding out later that there indeed was a gap.\n\n[akpm@linux-foundation.org: add WARN_ON()]\nSigned-off-by: Arjan van de Ven \u003carjan@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: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "faa7b7ddca14887ac037f585d2fac7ca6c57037e",
      "tree": "a44e7785a83a9f778fe3acec2f6aa07630292b23",
      "parents": [
        "471452104b8520337ae2fb48c4e61cd4896e025d"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Dec 14 18:00:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "drivers/cpuidle: Move dereference after NULL test\n\nIt does not seem possible that ldev can be NULL, so drop the unnecessary\ntest.  If ldev can somehow be NULL, then the initialization of last_idx\nshould be moved below the test.\n\nA simplified version of the semantic match that detects this problem is as\nfollows (http://coccinelle.lip6.fr/):\n\n// \u003csmpl\u003e\n@match exists@\nexpression x, E;\nidentifier fld;\n@@\n\n* x-\u003efld\n  ... when !\u003d \\(x \u003d E\\|\u0026x\\)\n* x \u003d\u003d NULL\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@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": "471452104b8520337ae2fb48c4e61cd4896e025d",
      "tree": "8594ae4a8362014e3cccf72a4e8834cdbb610bdd",
      "parents": [
        "0ead0f84e81a41c3e98aeceab04af8ab1bb08d1f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "const: constify remaining dev_pm_ops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ead0f84e81a41c3e98aeceab04af8ab1bb08d1f",
      "tree": "ba5d354818d2ec0a8251b3f4a5c9b9bef1092e07",
      "parents": [
        "4614a696bd1c3a9af3a08f0e5874830a85b889d4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "alpha: convert srm code to seq_file\n\nConvert code away from -\u003eread_proc/-\u003ewrite_proc interfaces.  Switch to\nproc_create()/proc_create_data() which make addition of proc entries\nreliable wrt NULL -\u003eproc_fops, NULL -\u003edata and so on.\n\nProblem with -\u003eread_proc et al is described here commit\n786d7e1612f0b0adb6046f19b906609e4fe8b1ba \"Fix rmmod/read/write races in\n/proc entries\"\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.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": "4614a696bd1c3a9af3a08f0e5874830a85b889d4",
      "tree": "0b363d89ce612ab8557d49ab8b0f49b8520ffa66",
      "parents": [
        "7e1e0ef22c9ba9f797d7c4448feee722584bba5c"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Dec 14 18:00:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "procfs: allow threads to rename siblings via /proc/pid/tasks/tid/comm\n\nSetting a thread\u0027s comm to be something unique is a very useful ability\nand is helpful for debugging complicated threaded applications.  However\ncurrently the only way to set a thread name is for the thread to name\nitself via the PR_SET_NAME prctl.\n\nHowever, there may be situations where it would be advantageous for a\nthread dispatcher to be naming the threads its managing, rather then\nhaving the threads self-describe themselves.  This sort of behavior is\navailable on other systems via the pthread_setname_np() interface.\n\nThis patch exports a task\u0027s comm via proc/pid/comm and\nproc/pid/task/tid/comm interfaces, and allows thread siblings to write to\nthese values.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Mike Fulton \u003cfultonm@ca.ibm.com\u003e\nCc: Sean Foley \u003cSean_Foley@ca.ibm.com\u003e\nCc: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e1e0ef22c9ba9f797d7c4448feee722584bba5c",
      "tree": "892fd5374f4815891065f148617fefc601e19219",
      "parents": [
        "ea637639591def87a54cea811cbac796980cb30d"
      ],
      "author": {
        "name": "Steven J. Magnani",
        "email": "steve@digidescorp.com",
        "time": "Mon Dec 14 18:00:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "procfs: use proper units for noMMU statm\n\nOn no-MMU systems, sizes reported in /proc/n/statm have units of bytes.\nPer Documentation/filesystems/proc.txt, these values should be in pages.\n\nSigned-off-by: Steven J. Magnani \u003csteve@digidescorp.com\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea637639591def87a54cea811cbac796980cb30d",
      "tree": "7ea3e4baf2ffade539ae30192521d331f8e863fa",
      "parents": [
        "5dc37642cbce34619e4588a9f0bdad1d2f870956"
      ],
      "author": {
        "name": "Jie Zhang",
        "email": "jie.zhang@analog.com",
        "time": "Mon Dec 14 18:00:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "nommu: fix malloc performance by adding uninitialized flag\n\nThe NOMMU code currently clears all anonymous mmapped memory.  While this\nis what we want in the default case, all memory allocation from userspace\nunder NOMMU has to go through this interface, including malloc() which is\nallowed to return uninitialized memory.  This can easily be a significant\nperformance penalty.  So for constrained embedded systems were security is\nirrelevant, allow people to avoid clearing memory unnecessarily.\n\nThis also alters the ELF-FDPIC binfmt such that it obtains uninitialised\nmemory for the brk and stack region.\n\nSigned-off-by: Jie Zhang \u003cjie.zhang@analog.com\u003e\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\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": "5dc37642cbce34619e4588a9f0bdad1d2f870956",
      "tree": "00165a3a0b3d768abaf83cf44642f09398b989cc",
      "parents": [
        "d33b9f45bd24a6391bc05e2b5a13c1b5787ca9c2"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Mon Dec 14 18:00:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "mm hugetlb: add hugepage support to pagemap\n\nThis patch enables extraction of the pfn of a hugepage from\n/proc/pid/pagemap in an architecture independent manner.\n\nDetails\n-------\nMy test program (leak_pagemap) works as follows:\n - creat() and mmap() a file on hugetlbfs (file size is 200MB \u003d\u003d 100 hugepages,)\n - read()/write() something on it,\n - call page-types with option -p,\n - munmap() and unlink() the file on hugetlbfs\n\nWithout my patches\n------------------\n$ ./leak_pagemap\n             flags page-count       MB  symbolic-flags                     long-symbolic-flags\n0x0000000000000000          1        0  __________________________________\n0x0000000000000804          1        0  __R________M______________________ referenced,mmap\n0x000000000000086c         81        0  __RU_lA____M______________________ referenced,uptodate,lru,active,mmap\n0x0000000000005808          5        0  ___U_______Ma_b___________________ uptodate,mmap,anonymous,swapbacked\n0x0000000000005868         12        0  ___U_lA____Ma_b___________________ uptodate,lru,active,mmap,anonymous,swapbacked\n0x000000000000586c          1        0  __RU_lA____Ma_b___________________ referenced,uptodate,lru,active,mmap,anonymous,swapbacked\n             total        101        0\n\nThe output of page-types don\u0027t show any hugepage.\n\nWith my patches\n---------------\n$ ./leak_pagemap\n             flags page-count       MB  symbolic-flags                     long-symbolic-flags\n0x0000000000000000          1        0  __________________________________\n0x0000000000030000      51100      199  ________________TG________________ compound_tail,huge\n0x0000000000028018        100        0  ___UD__________H_G________________ uptodate,dirty,compound_head,huge\n0x0000000000000804          1        0  __R________M______________________ referenced,mmap\n0x000000000000080c          1        0  __RU_______M______________________ referenced,uptodate,mmap\n0x000000000000086c         80        0  __RU_lA____M______________________ referenced,uptodate,lru,active,mmap\n0x0000000000005808          4        0  ___U_______Ma_b___________________ uptodate,mmap,anonymous,swapbacked\n0x0000000000005868         12        0  ___U_lA____Ma_b___________________ uptodate,lru,active,mmap,anonymous,swapbacked\n0x000000000000586c          1        0  __RU_lA____Ma_b___________________ referenced,uptodate,lru,active,mmap,anonymous,swapbacked\n             total      51300      200\n\nThe output of page-types shows 51200 pages contributing to hugepages,\ncontaining 100 head pages and 51100 tail pages as expected.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d33b9f45bd24a6391bc05e2b5a13c1b5787ca9c2",
      "tree": "c79c7a452a18f513efbbc807440812432778332f",
      "parents": [
        "4f16fc107d9c9b8a72aa19b189a9216e90a7aaef"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Mon Dec 14 17:59:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "mm: hugetlb: fix hugepage memory leak in walk_page_range()\n\nMost callers of pmd_none_or_clear_bad() check whether the target page is\nin a hugepage or not, but walk_page_range() do not check it.  So if we\nread /proc/pid/pagemap for the hugepage on x86 machine, the hugepage\nmemory is leaked as shown below.  This patch fixes it.\n\nDetails\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nMy test program (leak_pagemap) works as follows:\n - creat() and mmap() a file on hugetlbfs (file size is 200MB \u003d\u003d 100 hugepages,)\n - read()/write() something on it,\n - call page-types with option -p (walk around the page tables),\n - munmap() and unlink() the file on hugetlbfs\n\nWithout my patches\n------------------\n$ cat /proc/meminfo |grep \"HugePage\"\nHugePages_Total:    1000\nHugePages_Free:     1000\nHugePages_Rsvd:        0\nHugePages_Surp:        0\n$ ./leak_pagemap\n[snip output]\n$ cat /proc/meminfo |grep \"HugePage\"\nHugePages_Total:    1000\nHugePages_Free:      900\nHugePages_Rsvd:        0\nHugePages_Surp:        0\n$ ls /hugetlbfs/\n$\n\n100 hugepages are accounted as used while there is no file on hugetlbfs.\n\nWith my patches\n---------------\n$ cat /proc/meminfo |grep \"HugePage\"\nHugePages_Total:    1000\nHugePages_Free:     1000\nHugePages_Rsvd:        0\nHugePages_Surp:        0\n$ ./leak_pagemap\n[snip output]\n$ cat /proc/meminfo |grep \"HugePage\"\nHugePages_Total:    1000\nHugePages_Free:     1000\nHugePages_Rsvd:        0\nHugePages_Surp:        0\n$ ls /hugetlbfs\n$\n\nNo memory leaks.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: David Rientjes \u003crientjes@google.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": "4f16fc107d9c9b8a72aa19b189a9216e90a7aaef",
      "tree": "7d2cd426ab80a30d3fc7584605738ad39a8b24be",
      "parents": [
        "536240f2bde98216feac87b4891d19a536b8884a"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Mon Dec 14 17:59:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "mm: hugetlb: fix hugepage memory leak in mincore()\n\nMost callers of pmd_none_or_clear_bad() check whether the target page is\nin a hugepage or not, but mincore() and walk_page_range() do not check it.\n So if we use mincore() on a hugepage on x86 machine, the hugepage memory\nis leaked as shown below.  This patch fixes it by extending mincore()\nsystem call to support hugepages.\n\nDetails\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nMy test program (leak_mincore) works as follows:\n - creat() and mmap() a file on hugetlbfs (file size is 200MB \u003d\u003d 100 hugepages,)\n - read()/write() something on it,\n - call mincore() for first ten pages and printf() the values of *vec\n - munmap() and unlink() the file on hugetlbfs\n\nWithout my patch\n----------------\n$ cat /proc/meminfo| grep \"HugePage\"\nHugePages_Total:    1000\nHugePages_Free:     1000\nHugePages_Rsvd:        0\nHugePages_Surp:        0\n$ ./leak_mincore\nvec[0] 0\nvec[1] 0\nvec[2] 0\nvec[3] 0\nvec[4] 0\nvec[5] 0\nvec[6] 0\nvec[7] 0\nvec[8] 0\nvec[9] 0\n$ cat /proc/meminfo |grep \"HugePage\"\nHugePages_Total:    1000\nHugePages_Free:      999\nHugePages_Rsvd:        0\nHugePages_Surp:        0\n$ ls /hugetlbfs/\n$\n\nReturn values in *vec from mincore() are set to 0, while the hugepage\nshould be in memory, and 1 hugepage is still accounted as used while\nthere is no file on hugetlbfs.\n\nWith my patch\n-------------\n$ cat /proc/meminfo| grep \"HugePage\"\nHugePages_Total:    1000\nHugePages_Free:     1000\nHugePages_Rsvd:        0\nHugePages_Surp:        0\n$ ./leak_mincore\nvec[0] 1\nvec[1] 1\nvec[2] 1\nvec[3] 1\nvec[4] 1\nvec[5] 1\nvec[6] 1\nvec[7] 1\nvec[8] 1\nvec[9] 1\n$ cat /proc/meminfo |grep \"HugePage\"\nHugePages_Total:    1000\nHugePages_Free:     1000\nHugePages_Rsvd:        0\nHugePages_Surp:        0\n$ ls /hugetlbfs/\n$\n\nReturn value in *vec set to 1 and no memory leaks.\n\n[akpm@linux-foundation.org: cleanup]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: David Rientjes \u003crientjes@google.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": "536240f2bde98216feac87b4891d19a536b8884a",
      "tree": "e4755bb36c232262a2ebadb055d8947acb39b672",
      "parents": [
        "6927c1dd93fc982140f3a3742ac4b224cd3e02b2"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Dec 14 17:59:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "hugetlb: abort a hugepage pool resize if a signal is pending\n\nIf a user asks for a hugepage pool resize but specified a large number,\nthe machine can begin trashing.  In response, they might hit ctrl-c but\nsignals are ignored and the pool resize continues until it fails an\nallocation.  This can take a considerable amount of time so this patch\naborts a pool resize if a signal is pending.\n\nSuggested by Dave Hansen.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\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": "6927c1dd93fc982140f3a3742ac4b224cd3e02b2",
      "tree": "c87db39ee74fcc825cf238ec289473f01f476897",
      "parents": [
        "418b27ef50e7e9b0c2fbd88db804bf065e5eb1a6"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Dec 14 17:59:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:23 2009 -0800"
      },
      "message": "mlock: replace stale comments in munlock_vma_page()\n\nCleanup stale comments on munlock_vma_page().\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "418b27ef50e7e9b0c2fbd88db804bf065e5eb1a6",
      "tree": "24a4354bfa3bda6c763b859c235669c939c97ce4",
      "parents": [
        "4eb2b1dcd598f8489130405c81c60c289896d92a"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Dec 14 17:59:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:23 2009 -0800"
      },
      "message": "mm: remove unevictable_migrate_page function\n\nunevictable_migrate_page() in mm/internal.h is a relic of the since\nremoved UNEVICTABLE_LRU Kconfig option.  This patch removes the function\nand open codes the test in migrate_page_copy().\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\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": "4eb2b1dcd598f8489130405c81c60c289896d92a",
      "tree": "87bf0dec35f55688595447de65eb95952eb3dabc",
      "parents": [
        "70da2340fbc68e91e701762f785479ab495a0869"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Dec 14 17:59:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:23 2009 -0800"
      },
      "message": "hugetlb: acquire the i_mmap_lock before walking the prio_tree to unmap a page\n\nWhen the owner of a mapping fails COW because a child process is holding a\nreference, the children VMAs are walked and the page is unmapped.  The\ni_mmap_lock is taken for the unmapping of the page but not the walking of\nthe prio_tree.  In theory, that tree could be changing if the lock is not\nheld.  This patch takes the i_mmap_lock properly for the duration of the\nprio_tree walk.\n\n[hugh.dickins@tiscali.co.uk: Spotted the problem in the first place]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\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": "70da2340fbc68e91e701762f785479ab495a0869",
      "tree": "f55055a8fa8cb8e00b72ae8f3629dc884515f5e9",
      "parents": [
        "f096e59e844ba3c5d5a7b54b3deafd2aeeebf921"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 17:59:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:23 2009 -0800"
      },
      "message": "\u0027sysctl_max_map_count\u0027 should be non-negative\n\nJan Engelhardt reported we have this problem:\n\nsetting max_map_count to a value large enough results in programs dying at\nfirst try.  This is on 2.6.31.6:\n\n15:59 borg:/proc/sys/vm # echo $[1\u003c\u003c31-1] \u003emax_map_count\n15:59 borg:/proc/sys/vm # cat max_map_count\n1073741824\n15:59 borg:/proc/sys/vm # echo $[1\u003c\u003c31] \u003emax_map_count\n15:59 borg:/proc/sys/vm # cat max_map_count\nKilled\n\nThis is because we have a chance to make \u0027max_map_count\u0027 negative.  but\nit\u0027s meaningless.  Make it only accept non-negative values.\n\nReported-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f096e59e844ba3c5d5a7b54b3deafd2aeeebf921",
      "tree": "8d48bf8456ba98a1f9fe372b7550b2996162da3b",
      "parents": [
        "c9d0bf241451a3ab7d02e1652c22b80cd7d93e8f"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon Dec 14 17:59:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:22 2009 -0800"
      },
      "message": "include/linux/mm.h: remove unneeded ifdef\n\nThe check code for CONFIG_SWAP is redundant, because there is a\nnon-CONFIG_SWAP version for PageSwapCache() which just returns 0.\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9d0bf241451a3ab7d02e1652c22b80cd7d93e8f",
      "tree": "f72d7eedf3fee82193407c7190321399833f422c",
      "parents": [
        "62c0c2f198c1f2ead05c961e83ef486c45888325"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Mon Dec 14 17:59:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:21 2009 -0800"
      },
      "message": "mm: uncached vma support with writenotify\n\nModify the generic mmap() code to keep the cache attribute in\nvma-\u003evm_page_prot regardless if writenotify is enabled or not.  Without\nthis patch the cache configuration selected by f_op-\u003emmap() is overwritten\nif writenotify is enabled, making it impossible to keep the vma uncached.\n\nNeeded by drivers such as drivers/video/sh_mobile_lcdcfb.c which uses\ndeferred io together with uncached memory.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jaya Kumar \u003cjayakumar.lkml@gmail.com\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": "62c0c2f198c1f2ead05c961e83ef486c45888325",
      "tree": "d880a44df34d3cd14318efd1d5bee186a03cc841",
      "parents": [
        "b39415b2731d7dec5e612d2d12595da82399eedf"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon Dec 14 17:59:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:21 2009 -0800"
      },
      "message": "vmscan: simplify code\n\nSimplify the code for shrink_inactive_list().\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b39415b2731d7dec5e612d2d12595da82399eedf",
      "tree": "a8c59b1bc820d643d2e969f866a54147d7015c2e",
      "parents": [
        "8aa043d74559556a661cb2eb6e64497eec86ec77"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Dec 14 17:59:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:21 2009 -0800"
      },
      "message": "vmscan: do not evict inactive pages when skipping an active list scan\n\nIn AIM7 runs, recent kernels start swapping out anonymous pages well\nbefore they should.  This is due to shrink_list falling through to\nshrink_inactive_list if !inactive_anon_is_low(zone, sc), when all we\nreally wanted to do is pre-age some anonymous pages to give them extra\ntime to be referenced while on the inactive list.\n\nThe obvious fix is to make sure that shrink_list does not fall through to\nscanning/reclaiming inactive pages when we called it to scan one of the\nactive lists.\n\nThis change should be safe because the loop in shrink_zone ensures that we\nwill still shrink the anon and file inactive lists whenever we should.\n\n[kosaki.motohiro@jp.fujitsu.com: inactive_file_is_low() should be inactive_anon_is_low()]\nReported-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Tomasz Chmielewski \u003cmangoo@wpkg.org\u003e\nSigned-off-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": "8aa043d74559556a661cb2eb6e64497eec86ec77",
      "tree": "73559e8b70d2f2d139ca3c404687873d34ff7b36",
      "parents": [
        "9ae49fab239fb49de92a657c7426271e0793c4e1"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Dec 14 17:59:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm/bootmem.c: properly __init-annotate helper functions\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ae49fab239fb49de92a657c7426271e0793c4e1",
      "tree": "156f78df3db4dbc408f6839febe7adba148c2c9f",
      "parents": [
        "caed0f486e582eeeb6e3546417fd758230fe4ad9"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Dec 14 17:59:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm: slab-allocate memory section nodemask for large systems\n\nNodemasks should not be allocated on the stack for large systems (when it\nis larger than 256 bytes) since there is a threat of overflow.\n\nThis patch causes the unregister_mem_sect_under_nodes() nodemask to be\nallocated on the stack for smaller systems and be allocated by slab for\nlarger systems.\n\nGFP_KERNEL is used since remove_memory_block() can block.\n\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "caed0f486e582eeeb6e3546417fd758230fe4ad9",
      "tree": "203d4724dcfaae3ad4b349e1971bb3efc0da7db2",
      "parents": [
        "23ce932a5e3ec3b9f06e92c8797d834d43abfb0f"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Dec 14 17:59:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm: simplify try_to_unmap_one()\n\nSWAP_MLOCK mean \"We marked the page as PG_MLOCK, please move it to\nunevictable-lru\". So, following code is easy confusable.\n\n        if (vma-\u003evm_flags \u0026 VM_LOCKED) {\n                ret \u003d SWAP_MLOCK;\n                goto out_unmap;\n        }\n\nPlus, if the VMA doesn\u0027t have VM_LOCKED, We don\u0027t need to check\nthe needed of calling mlock_vma_page().\n\nAlso, add some commentary to try_to_unmap_one().\n\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-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": "23ce932a5e3ec3b9f06e92c8797d834d43abfb0f",
      "tree": "a966c72393e3f6111e383528055518e251eeda9c",
      "parents": [
        "b76c8cfbff94263fdf2f408e94b78b049c24a9dc"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Mon Dec 14 17:59:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm: fix section mismatch in memory_hotplug.c\n\n__free_pages_bootmem() is a __meminit function - which has been called\nfrom put_pages_bootmem thus causes a section mismatch warning.\n\n We were warned by the following warning:\n\n  LD      mm/built-in.o\nWARNING: mm/built-in.o(.text+0x26b22): Section mismatch in reference\nfrom the function put_page_bootmem() to the function\n.meminit.text:__free_pages_bootmem()\nThe function put_page_bootmem() references\nthe function __meminit __free_pages_bootmem().\nThis is often because put_page_bootmem lacks a __meminit\nannotation or the annotation of __free_pages_bootmem is wrong.\n\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b76c8cfbff94263fdf2f408e94b78b049c24a9dc",
      "tree": "2252a29e2cfaddf08060174afd635e5f8ab66c1f",
      "parents": [
        "b4e655a4aaa327810110457cef92681447dd13e4"
      ],
      "author": {
        "name": "Larry Woodman",
        "email": "lwoodman@redhat.com",
        "time": "Mon Dec 14 17:59:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "hugetlb: prevent deadlock in __unmap_hugepage_range() when alloc_huge_page() fails\n\nhugetlb_fault() takes the mm-\u003epage_table_lock spinlock then calls\nhugetlb_cow().  If the alloc_huge_page() in hugetlb_cow() fails due to an\ninsufficient huge page pool it calls unmap_ref_private() with the\nmm-\u003epage_table_lock held.  unmap_ref_private() then calls\nunmap_hugepage_range() which tries to acquire the mm-\u003epage_table_lock.\n\n[\u003cffffffff810928c3\u003e] print_circular_bug_tail+0x80/0x9f\n [\u003cffffffff8109280b\u003e] ? check_noncircular+0xb0/0xe8\n [\u003cffffffff810935e0\u003e] __lock_acquire+0x956/0xc0e\n [\u003cffffffff81093986\u003e] lock_acquire+0xee/0x12e\n [\u003cffffffff8111a7a6\u003e] ? unmap_hugepage_range+0x3e/0x84\n [\u003cffffffff8111a7a6\u003e] ? unmap_hugepage_range+0x3e/0x84\n [\u003cffffffff814c348d\u003e] _spin_lock+0x40/0x89\n [\u003cffffffff8111a7a6\u003e] ? unmap_hugepage_range+0x3e/0x84\n [\u003cffffffff8111afee\u003e] ? alloc_huge_page+0x218/0x318\n [\u003cffffffff8111a7a6\u003e] unmap_hugepage_range+0x3e/0x84\n [\u003cffffffff8111b2d0\u003e] hugetlb_cow+0x1e2/0x3f4\n [\u003cffffffff8111b935\u003e] ? hugetlb_fault+0x453/0x4f6\n [\u003cffffffff8111b962\u003e] hugetlb_fault+0x480/0x4f6\n [\u003cffffffff8111baee\u003e] follow_hugetlb_page+0x116/0x2d9\n [\u003cffffffff814c31a7\u003e] ? _spin_unlock_irq+0x3a/0x5c\n [\u003cffffffff81107b4d\u003e] __get_user_pages+0x2a3/0x427\n [\u003cffffffff81107d0f\u003e] get_user_pages+0x3e/0x54\n [\u003cffffffff81040b8b\u003e] get_user_pages_fast+0x170/0x1b5\n [\u003cffffffff81160352\u003e] dio_get_page+0x64/0x14a\n [\u003cffffffff8116112a\u003e] __blockdev_direct_IO+0x4b7/0xb31\n [\u003cffffffff8115ef91\u003e] blkdev_direct_IO+0x58/0x6e\n [\u003cffffffff8115e0a4\u003e] ? blkdev_get_blocks+0x0/0xb8\n [\u003cffffffff810ed2c5\u003e] generic_file_aio_read+0xdd/0x528\n [\u003cffffffff81219da3\u003e] ? avc_has_perm+0x66/0x8c\n [\u003cffffffff81132842\u003e] do_sync_read+0xf5/0x146\n [\u003cffffffff8107da00\u003e] ? autoremove_wake_function+0x0/0x5a\n [\u003cffffffff81211857\u003e] ? security_file_permission+0x24/0x3a\n [\u003cffffffff81132fd8\u003e] vfs_read+0xb5/0x126\n [\u003cffffffff81133f6b\u003e] ? fget_light+0x5e/0xf8\n [\u003cffffffff81133131\u003e] sys_read+0x54/0x8c\n [\u003cffffffff81011e42\u003e] system_call_fastpath+0x16/0x1b\n\nThis can be fixed by dropping the mm-\u003epage_table_lock around the call to\nunmap_ref_private() if alloc_huge_page() fails, its dropped right below in\nthe normal path anyway.  However, earlier in the that function, it\u0027s also\npossible to call into the page allocator with the same spinlock held.\n\nWhat this patch does is drop the spinlock before the page allocator is\npotentially entered.  The check for page allocation failure can be made\nwithout the page_table_lock as well as the copy of the huge page.  Even if\nthe PTE changed while the spinlock was held, the consequence is that a\nhuge page is copied unnecessarily.  This resolves both the double taking\nof the lock and sleeping with the spinlock held.\n\n[mel@csn.ul.ie: Cover also the case where process can sleep with spinlock]\nSigned-off-by: Larry Woodman \u003clwooman@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4e655a4aaa327810110457cef92681447dd13e4",
      "tree": "86f32571acdf688874967c5e597319a4c05ee888",
      "parents": [
        "d0f209f68f80f9a152799760c230019e7f270b2a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 14 17:59:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm: memory_hotplug: make offline_pages() static\n\nIt has no references outside memory_hotplug.c.\n\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@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": "d0f209f68f80f9a152799760c230019e7f270b2a",
      "tree": "83e4a6b2e15f50738572b31cfadb5fc0db17d2b7",
      "parents": [
        "62b61f611eb5e20f7e9f8619bfd03bdfe8af6348"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "ksm: remove unswappable max_kernel_pages\n\nNow that ksm pages are swappable, and the known holes plugged, remove\nmention of unswappable kernel pages from KSM documentation and comments.\n\nRemove the totalram_pages/4 initialization of max_kernel_pages.  In fact,\nremove max_kernel_pages altogether - we can reinstate it if removal turns\nout to break someone\u0027s script; but if we later want to limit KSM\u0027s memory\nusage, limiting the stable nodes would not be an effective approach.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "62b61f611eb5e20f7e9f8619bfd03bdfe8af6348",
      "tree": "9f06fff7eb6530fbe90b4d998b91071133f6af25",
      "parents": [
        "e9995ef978a7d5296fe04a9a2c5ca6e66d8bb4e5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "ksm: memory hotremove migration only\n\nThe previous patch enables page migration of ksm pages, but that soon gets\ninto trouble: not surprising, since we\u0027re using the ksm page lock to lock\noperations on its stable_node, but page migration switches the page whose\nlock is to be used for that.  Another layer of locking would fix it, but\ndo we need that yet?\n\nDo we actually need page migration of ksm pages?  Yes, memory hotremove\nneeds to offline sections of memory: and since we stopped allocating ksm\npages with GFP_HIGHUSER, they will tend to be GFP_HIGHUSER_MOVABLE\ncandidates for migration.\n\nBut KSM is currently unconscious of NUMA issues, happily merging pages\nfrom different NUMA nodes: at present the rule must be, not to use\nMADV_MERGEABLE where you care about NUMA.  So no, NUMA page migration of\nksm pages does not make sense yet.\n\nSo, to complete support for ksm swapping we need to make hotremove safe.\nksm_memory_callback() take ksm_thread_mutex when MEM_GOING_OFFLINE and\nrelease it when MEM_OFFLINE or MEM_CANCEL_OFFLINE.  But if mapped pages\nare freed before migration reaches them, stable_nodes may be left still\npointing to struct pages which have been removed from the system: the\nstable_node needs to identify a page by pfn rather than page pointer, then\nit can safely prune them when MEM_OFFLINE.\n\nAnd make NUMA migration skip PageKsm pages where it skips PageReserved.\nBut it\u0027s only when we reach unmap_and_move() that the page lock is taken\nand we can be sure that raised pagecount has prevented a PageAnon from\nbeing upgraded: so add offlining arg to migrate_pages(), to migrate ksm\npage when offlining (has sufficient locking) but reject it otherwise.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "e9995ef978a7d5296fe04a9a2c5ca6e66d8bb4e5",
      "tree": "df4324273856e06b8277b7e4a0fa9289eb8e6385",
      "parents": [
        "407f9c8b0889ced1dbe2f9157e4e60c61329d5c9"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "ksm: rmap_walk to remove_migation_ptes\n\nA side-effect of making ksm pages swappable is that they have to be placed\non the LRUs: which then exposes them to isolate_lru_page() and hence to\npage migration.\n\nAdd rmap_walk() for remove_migration_ptes() to use: rmap_walk_anon() and\nrmap_walk_file() in rmap.c, but rmap_walk_ksm() in ksm.c.  Perhaps some\nconsolidation with existing code is possible, but don\u0027t attempt that yet\n(try_to_unmap needs to handle nonlinears, but migration pte removal does\nnot).\n\nrmap_walk() is sadly less general than it appears: rmap_walk_anon(), like\nremove_anon_migration_ptes() which it replaces, avoids calling\npage_lock_anon_vma(), because that includes a page_mapped() test which\nfails when all migration ptes are in place.  That was valid when NUMA page\nmigration was introduced (holding mmap_sem provided the missing guarantee\nthat anon_vma\u0027s slab had not already been destroyed), but I believe not\nvalid in the memory hotremove case added since.\n\nFor now do the same as before, and consider the best way to fix that\nunlikely race later on.  When fixed, we can probably use rmap_walk() on\nhwpoisoned ksm pages too: for now, they remain among hwpoison\u0027s various\nexceptions (its PageKsm test comes before the page is locked, but its\npage_lock_anon_vma fails safely if an anon gets upgraded).\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "407f9c8b0889ced1dbe2f9157e4e60c61329d5c9"
}
