)]}'
{
  "log": [
    {
      "commit": "960a22ae60c8a723bd17da3b929fe0bcea6d007e",
      "tree": "844e3726fb6bdedd433854966e90116eb1d03c99",
      "parents": [
        "0e4fb5e283870757024294bc4567a7c59d936f0b"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Sat Oct 18 20:27:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:37 2008 -0700"
      },
      "message": "jbd: ordered data integrity fix\n\nIn ordered mode, if a file data buffer being dirtied exists in the\ncommitting transaction, we write the buffer to the disk, move it from the\ncommitting transaction to the running transaction, then dirty it.  But we\ndon\u0027t have to remove the buffer from the committing transaction when the\nbuffer couldn\u0027t be written out, otherwise it would miss the error and the\ncommitting transaction would not abort.\n\nThis patch adds an error check before removing the buffer from the\ncommitting transaction.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nAcked-by: Jan Kara \u003cjack@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": "0e4fb5e283870757024294bc4567a7c59d936f0b",
      "tree": "162263fe9e712124d3df886ca57d8db752a3237d",
      "parents": [
        "46d01a225e694f1a4343beea44f1e85105aedd7e"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Sat Oct 18 20:27:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:37 2008 -0700"
      },
      "message": "ext3: add an option to control error handling on file data\n\nIf the journal doesn\u0027t abort when it gets an IO error in file data blocks,\nthe file data corruption will spread silently.  Because most of\napplications and commands do buffered writes without fsync(), they don\u0027t\nnotice the IO error.  It\u0027s scary for mission critical systems.  On the\nother hand, if the journal aborts whenever it gets an IO error in file\ndata blocks, the system will easily become inoperable.  So this patch\nintroduces a filesystem option to determine whether it aborts the journal\nor just call printk() when it gets an IO error in file data.\n\nIf you mount a ext3 fs with data_err\u003dabort option, it aborts on file data\nwrite error.  If you mount it with data_err\u003dignore, it doesn\u0027t abort, just\ncall printk().  data_err\u003dignore is the default.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46d01a225e694f1a4343beea44f1e85105aedd7e",
      "tree": "34b841b58e19de0bd43d8780e8635c25ef6eb37b",
      "parents": [
        "972fbf779832e5ad15effa7712789aeff9224c37"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sat Oct 18 20:27:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:37 2008 -0700"
      },
      "message": "ext3: fix ext3 block reservation early ENOSPC issue\n\nWe could run into ENOSPC error on ext3, even when there is free blocks on\nthe filesystem.\n\nThe problem is triggered in the case the goal block group has 0 free\nblocks , and the rest block groups are skipped due to the check of\n\"free_blocks \u003c windowsz/2\".  Current code could fall back to non\nreservation allocation to prevent early ENOSPC after examing all the block\ngroups with reservation on , but this code was bypassed if the reservation\nwindow is turned off already, which is true in this case.\n\nThis patch fixed two issues:\n1) We don\u0027t need to turn off block reservation if the goal block group has\n0 free blocks left and continue search for the rest of block groups.\n\nCurrent code the intention is to turn off the block reservation if the\ngoal allocation group has a few (some) free blocks left (not enough for\nmake the desired reservation window),to try to allocation in the goal\nblock group, to get better locality.  But if the goal blocks have 0 free\nblocks, it should leave the block reservation on, and continues search for\nthe next block groups,rather than turn off block reservation completely.\n\n2) we don\u0027t need to check the window size if the block reservation is off.\n\nThe problem was originally found and fixed in ext4.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "972fbf779832e5ad15effa7712789aeff9224c37",
      "tree": "8fba1c79ad44ad871684a3e1b1b638a8625d9495",
      "parents": [
        "885e353c7427db7b60692789741b34e605b0b69b"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Sat Oct 18 20:27:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:37 2008 -0700"
      },
      "message": "ext3: don\u0027t try to resize if there are no reserved gdt blocks left\n\nWhen trying to resize a ext3 fs and you run out of reserved gdt blocks,\nyou get an error that doesn\u0027t actually tell you what went wrong, it just\nsays that the gdb it picked is not correct, which is the case since you\ndon\u0027t have any reserved gdt blocks left.  This patch adds a check to make\nsure you have reserved gdt blocks to use, and if not prints out a more\nrelevant error.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "885e353c7427db7b60692789741b34e605b0b69b",
      "tree": "9b6787c07b02e7abd41a0db9575d799bcb5eaf3a",
      "parents": [
        "d1645e526a1e5842c9ac433d73419ba886676cf3"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Sat Oct 18 20:27:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:37 2008 -0700"
      },
      "message": "jbd: don\u0027t dirty original metadata buffer on abort\n\nCurrently, original metadata buffers are dirtied when they are unfiled\nwhether the journal has aborted or not.  Eventually these buffers will be\nwritten-back to the filesystem by pdflush.  This means some metadata\nbuffers are written to the filesystem without journaling if the journal\naborts.  So if both journal abort and system crash happen at the same\ntime, the filesystem would become inconsistent state.  Additionally,\nreplaying journaled metadata can overwrite the latest metadata on the\nfilesystem partly.  Because, if the journal aborts, journaled metadata are\npreserved and replayed during the next mount not to lose uncheckpointed\nmetadata.  This would also break the consistency of the filesystem.\n\nThis patch prevents original metadata buffers from being dirtied on abort\nby clearing BH_JBDDirty flag from those buffers.  Thus, no metadata\nbuffers are written to the filesystem without journaling.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@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": "d1645e526a1e5842c9ac433d73419ba886676cf3",
      "tree": "daa856759312e60b0fcde672e805ae35da327ece",
      "parents": [
        "60c11d2abf4ef811d0ce3ea34279746729c4c6fc"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Sat Oct 18 20:27:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "jbd: abort when failed to log metadata buffers\n\nIf we failed to write metadata buffers to the journal space and succeeded\nto write the commit record, stale data can be written back to the\nfilesystem as metadata in the recovery phase.\n\nTo avoid this, when we failed to write out metadata buffers, abort the\njournal before writing the commit record.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@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": "60c11d2abf4ef811d0ce3ea34279746729c4c6fc",
      "tree": "0e39f8a212461beb7195e46f7a727c9e820bbc2c",
      "parents": [
        "3e680aae4e53ab54cdbb0c29257dae0cbb158e1c"
      ],
      "author": {
        "name": "Richard Holden",
        "email": "aciddeath@gmail.com",
        "time": "Sat Oct 18 20:27:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "phonedev: remove BKL\n\nThe phone_device array is covered by the phone_lock mutex in all cases and\nrequest_module no longer needs the BKL so we can remove the only remaining\ninstance of the BKL from phonedev.\n\nSigned-off-by: Richard Holden \u003caciddeath@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": "3e680aae4e53ab54cdbb0c29257dae0cbb158e1c",
      "tree": "389c2a60625b2f9dbd9555378a9d4917730f335e",
      "parents": [
        "e53677113e32e6f118e31b8391a2eab7ee52c0a7"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Sat Oct 18 20:27:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "fb: convert lock/unlock_kernel() into local fb mutex\n\nChange lock_kernel()/unlock_kernel() to local fb mutex.  Each frame buffer\ninstance has its own mutex.\n\nThe one line try_to_load() function is unrolled to request_module() in two\nplaces for readability.\n\n[righi.andrea@gmail.com: fb: fix NULL pointer BUG dereference in fb_open()]\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrea Righi \u003crighi.andrea@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": "e53677113e32e6f118e31b8391a2eab7ee52c0a7",
      "tree": "4301f70815fc4c58c4ae41313a5c154448fe4771",
      "parents": [
        "978ccaa8ea5d8c7bf6b676209f2fc126eae6355b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sat Oct 18 20:27:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "fb: push down the BKL in the ioctl handler\n\nFramebuffer is heavily BKL dependant at the moment so just wrap the ioctl\nhandler in the driver as we push down.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "978ccaa8ea5d8c7bf6b676209f2fc126eae6355b",
      "tree": "4d639469edbdb2df8ec364bae1719bd083bc04da",
      "parents": [
        "e3274e915061a65717454106301d4a5ea8f71783"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Sat Oct 18 20:27:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "gpiolib: fix oops in gpio_get_value_cansleep()\n\nWe can get the following oops from gpio_get_value_cansleep() when a GPIO\ncontroller doesn\u0027t provide a get() callback:\n\n Unable to handle kernel paging request for instruction fetch\n Faulting instruction address: 0x00000000\n Oops: Kernel access of bad area, sig: 11 [#1]\n [...]\n NIP [00000000] 0x0\n LR [c0182fb0] gpio_get_value_cansleep+0x40/0x50\n Call Trace:\n [c7b79e80] [c0183f28] gpio_value_show+0x5c/0x94\n [c7b79ea0] [c01a584c] dev_attr_show+0x30/0x7c\n [c7b79eb0] [c00d6b48] fill_read_buffer+0x68/0xe0\n [c7b79ed0] [c00d6c54] sysfs_read_file+0x94/0xbc\n [c7b79ef0] [c008f24c] vfs_read+0xb4/0x16c\n [c7b79f10] [c008f580] sys_read+0x4c/0x90\n [c7b79f40] [c0013a14] ret_from_syscall+0x0/0x38\n\nIt\u0027s OK to request the value of *any* GPIO; most GPIOs are bidirectional,\nso configuring them as outputs just enables an output driver and doesn\u0027t\ndisable the input logic.\n\nSo the problem is that gpio_get_value_cansleep() isn\u0027t making the same\nsanity check that gpio_get_value() does: making sure this GPIO isn\u0027t one\nof the atypical \"no input logic\" cases.\n\nReported-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x, 2.6.26.x, 2.6.25.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3274e915061a65717454106301d4a5ea8f71783",
      "tree": "e88cb4ef896fe2f4e38b58ed1b0d2f2e543c70cb",
      "parents": [
        "c8fc40cd345bfd88d8a98e7916909b9143502999"
      ],
      "author": {
        "name": "Steven A. Falco",
        "email": "sfalco@harris.com",
        "time": "Sat Oct 18 20:27:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "gpio: modify sysfs gpio export so that \"value\" displays as 0 or 1\n\ngpiolib can export GPIOs to userspace via sysfs.  This patch modifies the\ngpio_value_show() so that any non-zero value is explicitly printed as \"1\",\nrather than whatever numerical value the lower-level driver returns.\n\nSigned-off-by: Steve Falco \u003csfalco@harris.com\u003e\nSigned-off-by: 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": "c8fc40cd345bfd88d8a98e7916909b9143502999",
      "tree": "a0c43296bd7d5242a1f34a153edb76c42ce8686d",
      "parents": [
        "1f3ccaed13944b9cfa9af7f6c70bfb292e42a347"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Sat Oct 18 20:27:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "rtc-cmos: export second NVRAM bank\n\nTeach rtc-cmos about the second bank of registers found on most modern x86\nsystems, giving access to 128 bytes more NVRAM.\n\nThis version only sees that extra NVRAM when both register banks are\nprovided as part of *one* PNP resource.  Since BIOS on some systems\npresents them using two IO resources, and nothing merges them, this can\u0027t\nalways show all the NVRAM.  (We\u0027re supposed to be able to use PNP id\nPNP0b01 too, but BIOS tables doesn\u0027t often seem to use that particular\noption.)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\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": "1f3ccaed13944b9cfa9af7f6c70bfb292e42a347",
      "tree": "eaf969a11107b7850bce18398342ae06e18db2d0",
      "parents": [
        "9f561dfceaafaae73ecfc81b1156dde3056e1ec9"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Sat Oct 18 20:27:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "Altix serial: fix\n\nIn function sn_sal_switch_to_asynch(): drivers/serial/sn_console.c:713:\n\nHZ * SN_SAL_UART_FIFO_DEPTH / SN_SAL_UART_FIFO_SPEED_CPS;\n\nAfter preprocessing (see defines in patch) this becomes HZ * 16 / 9600 / 10\n(associativity from left to right), not equivalent to HZ * 16 / 960.\n\nLooks-obviously-right-to: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nAcked-by: 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": "9f561dfceaafaae73ecfc81b1156dde3056e1ec9",
      "tree": "8a38d7db338d4fe07abdc9d5b22d854050758be4",
      "parents": [
        "da1cfe1ae48b2af7394718ec07194806db5dfe61"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 18 20:27:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "make probe_serial_gsc() static\n\nThis patch makes the needlessly global probe_serial_gsc() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "da1cfe1ae48b2af7394718ec07194806db5dfe61",
      "tree": "b427498ec65ee0f62b0ec2a72b81cb0e668a3bbd",
      "parents": [
        "8c9398d1e9766e3659e277acb2e8ca1c17684139"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sat Oct 18 20:27:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "Char: sx, remove bogus iomap\n\nreadl/writel are not expected to accept iomap return value. Replace\nbogus mapping by standard ioremap.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: \u003cR.E.Wolff@BitWizard.nl\u003e\nAcked-by: 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": "8c9398d1e9766e3659e277acb2e8ca1c17684139",
      "tree": "160520c76c2dfbe89398b6c53aa8813e212abed3",
      "parents": [
        "07e8dbd3ebbdedc71335049dd4b0d542cb038d7d"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Sat Oct 18 20:27:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon: applesmc: lighter wait mechanism, drastic improvement\n\nThe read fail ratio is sensitive to the delay between the first byte\nwritten and the first byte read; apparently the sensors cannot be rushed.\nIncreasing the minimum wait time, without changing the total wait time,\nimproves the fail ratio from a 8% chance that any of the sensors fails in\none read, down to 0.4%, on a Macbook Air.  On a Macbook Pro 3,1, the\neffect is even more apparent.  By reducing the number of status polls, the\nratio is further improved to below 0.1%.  Finally, increasing the total\nwait time brings the fail ratio down to virtually zero.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nTested-by: Bob McElrath \u003cbob@mcelrath.org\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: \"Mark M. Hoffman\" \u003cmhoffman@lightlink.com\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": "07e8dbd3ebbdedc71335049dd4b0d542cb038d7d",
      "tree": "dadf0f3033adf873a9f06d101a10c07f71d9e336",
      "parents": [
        "d7549905f157f217b888edb0f2055f5090eaf1d8"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Sat Oct 18 20:27:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon: applesmc: Add support for Macbook Pro 3\n\nAdd temperature sensor support for Macbook Pro 3.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: Riki Oktarianto \u003crkoktarianto@gmail.com\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\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": "d7549905f157f217b888edb0f2055f5090eaf1d8",
      "tree": "7b2a2c37b24ec4c533a2df1a5f3408d5e1905d33",
      "parents": [
        "7b5e3cb28f52f42d8cf2b36771be580f33bbc7ae"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Sat Oct 18 20:27:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon: applesmc: Add support for Macbook Pro 4\n\nAdds temperature sensor support for the Macbook Pro 4.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: Riki Oktarianto \u003crkoktarianto@gmail.com\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\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": "7b5e3cb28f52f42d8cf2b36771be580f33bbc7ae",
      "tree": "42beb67d361c7fe91f03459d54d4cd825281ecb5",
      "parents": [
        "f5274c972bac2d14c092a9c634e03f51785c7b76"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Oct 18 20:27:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "drivers/hwmon/applesmc.c: remove unneeded casts\n\ndmi_system_id.driver_data is already void*.\n\nCc: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: Riki Oktarianto \u003crkoktarianto@gmail.com\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\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": "f5274c972bac2d14c092a9c634e03f51785c7b76",
      "tree": "3cb7e827ea6b364c1f3a0a10c66f023a6aa96d9d",
      "parents": [
        "8bd1a12a51871f0c870612d8220b1485d6aefc73"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Sat Oct 18 20:27:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon: applesmc: add support for Macbook Air\n\nThis patch adds accelerometer, backlight and temperature sensor support\nfor the Macbook Air.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: Riki Oktarianto \u003crkoktarianto@gmail.com\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\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": "8bd1a12a51871f0c870612d8220b1485d6aefc73",
      "tree": "173aa85efcf75f5f825ea6bf4cb6277df8ba81ad",
      "parents": [
        "02fcbd144d684167aa67b1d3ad68f18d265f2d08"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Sat Oct 18 20:27:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon: applesmc: allow for variable ALV0 and ALV1 package length\n\nOn some recent Macbooks, the package length for the light sensors ALV0 and\nALV1 has changed from 6 to 10.  This patch allows for a variable package\nlength encompassing both variants.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: Riki Oktarianto \u003crkoktarianto@gmail.com\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\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": "02fcbd144d684167aa67b1d3ad68f18d265f2d08",
      "tree": "78fd75f27dc9c25d3ec3f9631d4d2a943cb48315",
      "parents": [
        "84d2d7f2ee98dc9bd799790c89b5eb8280af2d37"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Sat Oct 18 20:27:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon: applesmc: prolong status wait\n\nThe time to wait for a status change while reading or writing to the SMC\nports is a balance between read reliability and system performance.  The\ncurrent setting yields rougly three errors in a thousand when\nsimultaneously reading three different temperature values on a Macbook\nAir.  This patch increases the setting to a value yielding roughly one\nerror in ten thousand, with no noticable system performance degradation.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: Riki Oktarianto \u003crkoktarianto@gmail.com\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\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": "84d2d7f2ee98dc9bd799790c89b5eb8280af2d37",
      "tree": "2cec712dcffd532ad8c82a24beae9bea497fa32a",
      "parents": [
        "05224091af06177c0ce7c1fae1f498455b47a6be"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Sat Oct 18 20:27:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon: applesmc: fix the \u0027wait status failed: c !\u003d 8\u0027 problem\n\nOn many Macbooks since mid 2007, the Pro, C2D and Air models, applesmc\nfails to read some or all SMC ports.  This problem has various effects,\nsuch as flooded logfiles, malfunctioning temperature sensors,\naccelerometers failing to initialize, and difficulties getting backlight\nfunctionality to work properly.\n\nThe root of the problem seems to be the command protocol.  The current\ncode sends out a command byte, then repeatedly polls for an ack before\ncontinuing to send or recieve data.  From experiments leading to this\npatch, it seems the command protocol never quite worked or changed so that\none now sends a command byte, waits a little bit, polls for an ack, and if\nit fails, repeats the whole thing by sending the command byte again.\n\nThis patch implements a send_command function according to the new\ninterpretation of the protocol, and should work also for earlier models.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: Riki Oktarianto \u003crkoktarianto@gmail.com\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\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": "05224091af06177c0ce7c1fae1f498455b47a6be",
      "tree": "a8d4589faf5a42f4f0a42f055953a74fabdf4f43",
      "parents": [
        "865c295360f61c2f3634fb1387b4468fdc8287da"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Sat Oct 18 20:27:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon: applesmc: specified number of bytes to read should match actual\n\nAt one single place in the code, the specified number of bytes to read and\nthe actual number of bytes read differ by one.  This one-liner patch fixes\nthat inconsistency.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Nicolas Boichat \u003cnicolas@boichat.ch\u003e\nCc: Riki Oktarianto \u003crkoktarianto@gmail.com\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\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": "865c295360f61c2f3634fb1387b4468fdc8287da",
      "tree": "03878148480d3a2d4c52ab968a603f31f7a11681",
      "parents": [
        "8ca136741e15e8546e787ae92a7f4aeca84be494"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Sat Oct 18 20:27:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon/pc87360 separate alarm files: add therm-min/max/crit-alarms\n\nAdds therm-min/max/crit-alarm callbacks, sensor-device-attribute\ndeclarations, and refs to those new decls in the macro used to initialize\nthe therm_group (of sysfs files)\n\nThe thermistors use voltage channels to measure; so they don\u0027t have a\nfault-alarm, but unlike the other voltages, they do have an overtemp,\nwhich we call crit (by convention).\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \"Mark M. Hoffman\" \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ca136741e15e8546e787ae92a7f4aeca84be494",
      "tree": "4a4ef66ef5ec1eb14ed5181d12bf4ace064e6d19",
      "parents": [
        "2a32ec2500514109754e07721d9d5d431a706a31"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Sat Oct 18 20:27:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon/pc87360 separate alarm files: add dev_dbg help\n\ntemp and vin status register values may be set by chip specifications, set\nagain by bios, or by this previously loaded driver.  Debug output nicely\ndisplays modprobe init\u003d\\d actions.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \"Mark M. Hoffman\" \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a32ec2500514109754e07721d9d5d431a706a31",
      "tree": "edc33228e90b6fd064f4ccd56edac489f05c0a4a",
      "parents": [
        "b267e8cdc638dfa53360d532aa56afa0ec12e6a5"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Sat Oct 18 20:27:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon/pc87360 separate alarm files: define LDNI_MAX const\n\nDriver handles 3 logical devices in fixed length array.  Give this a\ndefine-d constant.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \"Mark M. Hoffman\" \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b267e8cdc638dfa53360d532aa56afa0ec12e6a5",
      "tree": "157decc2e52bf498a8a0b17d9c55b5ece060c6d9",
      "parents": [
        "492e9657d1a790f44ab9b0e03fc72c1d8145f590"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Sat Oct 18 20:27:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon/pc87360 separate alarm files: add temp-min/max/crit/fault-alarms\n\nAdds temp-min/max/crit/fault-alarm callbacks, sensor-device-attribute\ndeclarations, and refs to those new decls in the macro used to initialize\nthe temp_group (of sysfs files)\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \"Mark M. Hoffman\" \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "492e9657d1a790f44ab9b0e03fc72c1d8145f590",
      "tree": "0badd24037456b2c35190f56814a3a4ca899b4cf",
      "parents": [
        "28f74e71775b1ae0ebf7fe87f7a7f39ecb77a2b8"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Sat Oct 18 20:27:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon/pc87360 separate alarm files: add in-min/max-alarms\n\nAdds vin-min/max-alarm callbacks, sensor-device-attribute declarations,\nand refs to those new decls in the macro used to initialize the vin_group\n(of sysfs files)\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \"Mark M. Hoffman\" \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28f74e71775b1ae0ebf7fe87f7a7f39ecb77a2b8",
      "tree": "906ab2c98ed3d9034a170a2fcf9948097a084eaa",
      "parents": [
        "4d235ba6c2e9c717da8facafd1b990dcb687d1e0"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Sat Oct 18 20:27:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:35 2008 -0700"
      },
      "message": "hwmon/pc87360 separate alarm files: define some constants\n\nBring hwmon/pc87360 into agreement with\nDocumentation/hwmon/sysfs-interface.\n\nPatchset adds separate limit alarms for voltages and temps, it also adds\ntemp[123]_fault files.  On my Soekris, temps 1,2 are unused/unconnected,\nso temp[123]_fault \u003d 1,1,0 respectively.  This agrees with\n/usr/bin/sensors, which has always shown them as OPEN.  Temps 4,5,6 are\nthermistor based, and dont have a fault bit in their status register.\n\nThis patch:\n\n2 different kinds of constants added:\n- CHAN_ALM_* constants for (later) vin, temp alarm callbacks.\n- CHAN_* conversion constants, used in _init_device, partly for RW1C bits\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: \"Mark M. Hoffman\" \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d235ba6c2e9c717da8facafd1b990dcb687d1e0",
      "tree": "4df8781459634b2545e1f9a7dcd0d7337bb72530",
      "parents": [
        "c3b9f5afc7f4c8abc0452f132edb13ac8c1fafbf"
      ],
      "author": {
        "name": "Ameya Palande",
        "email": "2ameya@gmail.com",
        "time": "Sat Oct 18 20:27:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "intel-iommu: typo fix and correct word in the comment\n\nFix for a typo and and replacing incorrect word in the comment.\n\nSigned-off-by: Ameya Palande \u003c2ameya@gmail.com\u003e\nCc: \"Ashok Raj\" \u003cashok.raj@intel.com\u003e\nCc: \"Shaohua Li\" \u003cshaohua.li@intel.com\u003e\nCc: \"Anil S Keshavamurthy\" \u003canil.s.keshavamurthy@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": "c3b9f5afc7f4c8abc0452f132edb13ac8c1fafbf",
      "tree": "f89f2264469c32f03c7ef642e05e1cc638fc7133",
      "parents": [
        "5c6248411639e2b4e7f167632f30f5f3a7aa105f"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "wangcong@zeuux.org",
        "time": "Sat Oct 18 20:27:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "kernel/configs.c: remove useless comments\n\nThese comments are useless, remove them.\n\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c6248411639e2b4e7f167632f30f5f3a7aa105f",
      "tree": "eec2cfd00ba6bd2da907b668d23eb80b22926b69",
      "parents": [
        "2a80a3783d975dadea9740b0ac84c2e8796ee5bb"
      ],
      "author": {
        "name": "Eric Piel",
        "email": "eric.piel@tremplin-utc.net",
        "time": "Sat Oct 18 20:27:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "HP-WMI: additional keycode (or typo)\n\nOn my HP 2510, pressing the (i) button generates an unknown keycode:\n0x213b. So here is a patch adding support for it. However, as it seems\nthere is already support for a similar button connected to 0x231b as\nkeycode, I wonder if it could be a typo in the driver?\n\nSigned-off-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nCc: Matthew Garrett \u003cmjg@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": "2a80a3783d975dadea9740b0ac84c2e8796ee5bb",
      "tree": "2b312064dd7a5d5e66afd8d5c342ddc2d2d30136",
      "parents": [
        "966c8079c0eae66242692184982dc70671dbe90f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Sat Oct 18 20:27:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "Fix documentation of sysrq-q\n\nI fell into the trap recently that it only dumps hrtimers instead of\nall timers. Fix the documentation.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "966c8079c0eae66242692184982dc70671dbe90f",
      "tree": "2050421dcf5f0dfb1370480a260158ed9374a910",
      "parents": [
        "d12a6f7f913afb2c6f5de44cbac1bb7232a03175"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "wangcong@zeuux.org",
        "time": "Sat Oct 18 20:27:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "uml: fix a compile error\n\nFix\n\narch/um/sys-i386/signal.c: In function \u0027copy_sc_from_user\u0027:\narch/um/sys-i386/signal.c:182: warning: dereferencing \u0027void *\u0027 pointer\narch/um/sys-i386/signal.c:182: error: request for member \u0027_fxsr_env\u0027 in something not a structure or union\n\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\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": "d12a6f7f913afb2c6f5de44cbac1bb7232a03175",
      "tree": "061f95cc33cd9351729f1d6f4baa23f0620ccb13",
      "parents": [
        "bde5ab65581a63e9f4f4bacfae8f201d04d25bed"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Sat Oct 18 20:27:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "arch/m68k/bvme6000/rtc.c: remove duplicated include\n\nRemoved duplicated include file \u003clinux/smp_lock.h\u003e in\narch/m68k/bvme6000/rtc.c.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bde5ab65581a63e9f4f4bacfae8f201d04d25bed",
      "tree": "b159612b2acc416878a1a80a0aea47f7469163d2",
      "parents": [
        "1aece34833721d64eb33fc15cd923c727296d3d3"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: document the cgroup freezer subsystem.\n\nDescribe why we need the freezer subsystem and how to use it in a\ndocumentation file.  Since the cgroups.txt file is focused on the\nsubsystem-agnostic portions of cgroups make a directory and move the old\ncgroups.txt file at the same time.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: containers@lists.linux-foundation.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1aece34833721d64eb33fc15cd923c727296d3d3",
      "tree": "7d50bac9229430528ff28aa362c87f745ebd1c78",
      "parents": [
        "81dcf33c2ae314899f754aa7aaa1cb1fe2f84da6"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: rename check_if_frozen()\n\ncheck_if_frozen() sounds like it should return something when in fact it\u0027s\njust updating the freezer state.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81dcf33c2ae314899f754aa7aaa1cb1fe2f84da6",
      "tree": "8a4ef6206a3f70bf245c9f89baf5294e7ffd2d2f",
      "parents": [
        "957a4eeaf4af614ab0fc4c09a22593d6ab233f5b"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: make freezer state names less generic\n\nRename cgroup freezer states to be less generic to avoid any name\ncollisions while also better describing what each state is.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "957a4eeaf4af614ab0fc4c09a22593d6ab233f5b",
      "tree": "944d338890a2346ca1bd9cd78e01c659635bf085",
      "parents": [
        "5a06915c6df9b89cda5ddb3f8cce5f9a6be534d2"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: prevent frozen tasks or cgroups from changing\n\nDon\u0027t let frozen tasks or cgroups change.  This means frozen tasks can\u0027t\nleave their current cgroup for another cgroup.  It also means that tasks\ncannot be added to or removed from a cgroup in the FROZEN state.  We\nenforce these rules by checking for frozen tasks and cgroups in the\ncan_attach() function.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a06915c6df9b89cda5ddb3f8cce5f9a6be534d2",
      "tree": "9c2cd3c928e1e29e34dcc90ea45deab12653c111",
      "parents": [
        "dc52ddc0e6f45b04780b26fc0813509f8e798c42"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: skip frozen cgroups during power management resume\n\nWhen a system is resumed after a suspend, it will also unfreeze frozen\ncgroups.\n\nThis patchs modifies the resume sequence to skip the tasks which are part\nof a frozen control group.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc52ddc0e6f45b04780b26fc0813509f8e798c42",
      "tree": "384826e9fab4e434bc5c85ce744470ae472e52c3",
      "parents": [
        "8174f1503f4bf7e9a14b3fbbfdb30c6be6e29f77"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: implement freezer cgroup subsystem\n\nThis patch implements a new freezer subsystem in the control groups\nframework.  It provides a way to stop and resume execution of all tasks in\na cgroup by writing in the cgroup filesystem.\n\nThe freezer subsystem in the container filesystem defines a file named\nfreezer.state.  Writing \"FROZEN\" to the state file will freeze all tasks\nin the cgroup.  Subsequently writing \"RUNNING\" will unfreeze the tasks in\nthe cgroup.  Reading will return the current state.\n\n* Examples of usage :\n\n   # mkdir /containers/freezer\n   # mount -t cgroup -ofreezer freezer  /containers\n   # mkdir /containers/0\n   # echo $some_pid \u003e /containers/0/tasks\n\nto get status of the freezer subsystem :\n\n   # cat /containers/0/freezer.state\n   RUNNING\n\nto freeze all tasks in the container :\n\n   # echo FROZEN \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   FREEZING\n   # cat /containers/0/freezer.state\n   FROZEN\n\nto unfreeze all tasks in the container :\n\n   # echo RUNNING \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   RUNNING\n\nThis is the basic mechanism which should do the right thing for user space\ntask in a simple scenario.\n\nIt\u0027s important to note that freezing can be incomplete.  In that case we\nreturn EBUSY.  This means that some tasks in the cgroup are busy doing\nsomething that prevents us from completely freezing the cgroup at this\ntime.  After EBUSY, the cgroup will remain partially frozen -- reflected\nby freezer.state reporting \"FREEZING\" when read.  The state will remain\n\"FREEZING\" until one of these things happens:\n\n\t1) Userspace cancels the freezing operation by writing \"RUNNING\" to\n\t\tthe freezer.state file\n\t2) Userspace retries the freezing operation by writing \"FROZEN\" to\n\t\tthe freezer.state file (writing \"FREEZING\" is not legal\n\t\tand returns EIO)\n\t3) The tasks that blocked the cgroup from entering the \"FROZEN\"\n\t\tstate disappear from the cgroup\u0027s set of tasks.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: export thaw_process]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8174f1503f4bf7e9a14b3fbbfdb30c6be6e29f77",
      "tree": "a8df1ebd62255dd231452b3f72782604e8919991",
      "parents": [
        "83224b08372be48d5fcefedc4886457da29130c8"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:33 2008 -0700"
      },
      "message": "container freezer: make refrigerator always available\n\nNow that the TIF_FREEZE flag is available in all architectures, extract\nthe refrigerator() and freeze_task() from kernel/power/process.c and make\nit available to all.\n\nThe refrigerator() can now be used in a control group subsystem\nimplementing a control group freezer.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83224b08372be48d5fcefedc4886457da29130c8",
      "tree": "426800e7838472b2f319c85cedc3555b98c30707",
      "parents": [
        "5e9a0f023bee02bfb94e08590d998660c01f5a49"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:33 2008 -0700"
      },
      "message": "container freezer: add TIF_FREEZE flag to all architectures\n\nThis patch series introduces a cgroup subsystem that utilizes the swsusp\nfreezer to freeze a group of tasks.  It\u0027s immediately useful for batch job\nmanagement scripts.  It should also be useful in the future for\nimplementing container checkpoint/restart.\n\nThe freezer subsystem in the container filesystem defines a cgroup file\nnamed freezer.state.  Reading freezer.state will return the current state\nof the cgroup.  Writing \"FROZEN\" to the state file will freeze all tasks\nin the cgroup.  Subsequently writing \"RUNNING\" will unfreeze the tasks in\nthe cgroup.\n\n* Examples of usage :\n\n   # mkdir /containers/freezer\n   # mount -t cgroup -ofreezer freezer  /containers\n   # mkdir /containers/0\n   # echo $some_pid \u003e /containers/0/tasks\n\nto get status of the freezer subsystem :\n\n   # cat /containers/0/freezer.state\n   RUNNING\n\nto freeze all tasks in the container :\n\n   # echo FROZEN \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   FREEZING\n   # cat /containers/0/freezer.state\n   FROZEN\n\nto unfreeze all tasks in the container :\n\n   # echo RUNNING \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   RUNNING\n\nThis patch:\n\nThe first step in making the refrigerator() available to all\narchitectures, even for those without power management.\n\nThe purpose of such a change is to be able to use the refrigerator() in a\nnew control group subsystem which will implement a control group freezer.\n\n[akpm@linux-foundation.org: fix sparc]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e9a0f023bee02bfb94e08590d998660c01f5a49",
      "tree": "3cd2131f12a09cc9c84c31f99375256148e400fd",
      "parents": [
        "2f007e74bb85b9fc4eab28524052161703300f1a"
      ],
      "author": {
        "name": "Brice Goglin",
        "email": "Brice.Goglin@inria.fr",
        "time": "Sat Oct 18 20:27:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:33 2008 -0700"
      },
      "message": "mm: extract do_pages_move() out of sys_move_pages()\n\nTo prepare the chunking, move the sys_move_pages() code that is used when\nnodes!\u003dNULL into do_pages_move().  And rename do_move_pages() into\ndo_move_page_to_node_array().\n\nSigned-off-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f007e74bb85b9fc4eab28524052161703300f1a",
      "tree": "8fa77e687aa5fd807767484bdafcce86e46a56af",
      "parents": [
        "e78bbfa8262424417a29349a8064a535053912b9"
      ],
      "author": {
        "name": "Brice Goglin",
        "email": "Brice.Goglin@inria.fr",
        "time": "Sat Oct 18 20:27:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:33 2008 -0700"
      },
      "message": "mm: don\u0027t vmalloc a huge page_to_node array for do_pages_stat()\n\ndo_pages_stat() does not need any page_to_node entry for real.  Just pass\nthe pointers to the user-space page address array and to the user-space\nstatus array, and have do_pages_stat() traverse the former and fill the\nlatter directly.\n\nSigned-off-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e78bbfa8262424417a29349a8064a535053912b9",
      "tree": "dc1f1cdd4390b3f817a2d3a2835c11eb3b41b3ea",
      "parents": [
        "de7f0cba96786cf9ec9da4532c1b25f733da9b6f"
      ],
      "author": {
        "name": "Brice Goglin",
        "email": "Brice.Goglin@inria.fr",
        "time": "Sat Oct 18 20:27:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:33 2008 -0700"
      },
      "message": "mm: stop returning -ENOENT from sys_move_pages() if nothing got migrated\n\nA patchset reworking sys_move_pages().  It removes the possibly large\nvmalloc by using multiple chunks when migrating large buffers.  It also\ndramatically increases the throughput for large buffers since the lookup\nin new_page_node() is now limited to a single chunk, causing the quadratic\ncomplexity to have a much slower impact.  There is no need to use any\nradix-tree-like structure to improve this lookup.\n\nsys_move_pages() duration on a 4-quadcore-opteron 2347HE (1.9Gz),\nmigrating between nodes #2 and #3:\n\n\tlength\t\tmove_pages (us)\t\tmove_pages+patch (us)\n\t4kB\t\t126\t\t\t98\n\t40kB\t\t198\t\t\t168\n\t400kB\t\t963\t\t\t937\n\t4MB\t\t12503\t\t\t11930\n\t40MB\t\t246867\t\t\t11848\n\nPatches #1 and #4 are the important ones:\n1) stop returning -ENOENT from sys_move_pages() if nothing got migrated\n2) don\u0027t vmalloc a huge page_to_node array for do_pages_stat()\n3) extract do_pages_move() out of sys_move_pages()\n4) rework do_pages_move() to work on page_sized chunks\n5) move_pages: no need to set pp-\u003epage to ZERO_PAGE(0) by default\n\nThis patch:\n\nThere is no point in returning -ENOENT from sys_move_pages() if all pages\nwere already on the right node, while we return 0 if only 1 page was not.\nMost application don\u0027t know where their pages are allocated, so it\u0027s not\nan error to try to migrate them anyway.\n\nJust return 0 and let the status array in user-space be checked if the\napplication needs details.\n\nIt will make the upcoming chunked-move_pages() support much easier.\n\nSigned-off-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de7f0cba96786cf9ec9da4532c1b25f733da9b6f",
      "tree": "fc0273587d255ac3f1b554b4a98229c3e231ebf6",
      "parents": [
        "7a6560e02556b6f0a798c247f3a557c523d9701b"
      ],
      "author": {
        "name": "Nathan Fontenot",
        "email": "nfont@austin.ibm.com",
        "time": "Sat Oct 18 20:27:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "memory hotplug: release memory regions in PAGES_PER_SECTION chunks\n\nDuring hotplug memory remove, memory regions should be released on a\nPAGES_PER_SECTION size chunks.  This mirrors the code in add_memory where\nresources are requested on a PAGES_PER_SECTION size.\n\nAttempting to release the entire memory region fails because there is not\na single resource for the total number of pages being removed.  Instead\nthe resources for the pages are split in PAGES_PER_SECTION size chunks as\nrequested during memory add.\n\nSigned-off-by: Nathan Fontenot \u003cnfont@austin.ibm.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: 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": "7a6560e02556b6f0a798c247f3a557c523d9701b",
      "tree": "7c1ded3e016e8604deb0cfb3b2d85389a8ae106e",
      "parents": [
        "9f1b16a51ea7180eca8a0d76a6bd587385a30757"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Sat Oct 18 20:27:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "documentation: clarify dirty_ratio and dirty_background_ratio description\n\nThe current documentation of dirty_ratio and dirty_background_ratio is a\nbit misleading.\n\nIn the documentation we say that they are \"a percentage of total system\nmemory\", but the current page writeback policy, intead, is to apply the\npercentages to the dirtyable memory, that means free pages + reclaimable\npages.\n\nBetter to be more explicit to clarify this concept.\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.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": "9f1b16a51ea7180eca8a0d76a6bd587385a30757",
      "tree": "42cece0904a9249579ce551d175c01e76e918a18",
      "parents": [
        "1125b4e3949949b44a7c80b619507c6f61d62911"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Sat Oct 18 20:27:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "memory_probe: fix wrong sysfs file attribute\n\nThis attribute just has a write operation.\n\n[akpm@linux-foundation.org: use S_IWUSR as suggested by Randy]\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.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": "1125b4e3949949b44a7c80b619507c6f61d62911",
      "tree": "74d1461ce1bb7eec62ce5f020061c4d7c1a4feba",
      "parents": [
        "4b2e38ad703541f7845c2d766426148b8d1aa329"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Sat Oct 18 20:27:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "setup_per_zone_pages_min(): take zone-\u003elock instead of zone-\u003elru_lock\n\nThis replaces zone-\u003elru_lock in setup_per_zone_pages_min() with zone-\u003elock.\nThere seems to be no need for the lru_lock anymore, but there is a need for\nzone-\u003elock instead, because that function may call move_freepages() via\nsetup_zone_migrate_reserve().\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: 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": "4b2e38ad703541f7845c2d766426148b8d1aa329",
      "tree": "aaafbec5325d15c38c382c655120fb6492c11f82",
      "parents": [
        "e575f111dc0f27044e170580e7de50985ab3e011"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sat Oct 18 20:27:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "hugepage: support ZERO_PAGE()\n\nPresently hugepage doesn\u0027t use zero page at all because zero page is only\nused for coredumping and hugepage can\u0027t core dump.\n\nHowever we have now implemented hugepage coredumping.  Therefore we should\nimplement the zero page of hugepage.\n\nImplementation note:\n\no Why do we only check VM_SHARED for zero page?\n  normal page checked as ..\n\n\tstatic inline int use_zero_page(struct vm_area_struct *vma)\n\t{\n\t        if (vma-\u003evm_flags \u0026 (VM_LOCKED | VM_SHARED))\n\t                return 0;\n\n\t        return !vma-\u003evm_ops || !vma-\u003evm_ops-\u003efault;\n\t}\n\nFirst, hugepages are never mlock()ed.  We aren\u0027t concerned with VM_LOCKED.\n\nSecond, hugetlbfs is a pseudo filesystem, not a real filesystem and it\ndoesn\u0027t have any file backing.  Thus ops-\u003efault checking is meaningless.\n\no Why don\u0027t we use zero page if !pte.\n\n!pte indicate {pud, pmd} doesn\u0027t exist or some error happened.  So we\nshouldn\u0027t return zero page if any error occurred.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Kawai Hidehiro \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Mel Gorman \u003cmel@skynet.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e575f111dc0f27044e170580e7de50985ab3e011",
      "tree": "96021950c36cd6c537a8fc00811f4846767813b8",
      "parents": [
        "d903ef9f38813e7eb268744a7e579e92f411c83a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sat Oct 18 20:27:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "coredump_filter: add hugepage dumping\n\nPresently hugepage\u0027s vma has a VM_RESERVED flag in order not to be\nswapped.  But a VM_RESERVED vma isn\u0027t core dumped because this flag is\noften used for some kernel vmas (e.g.  vmalloc, sound related).\n\nThus hugepages are never dumped and it can\u0027t be debugged easily.  Many\ndevelopers want hugepages to be included into core-dump.\n\nHowever, We can\u0027t read generic VM_RESERVED area because this area is often\nIO mapping area.  then these area reading may change device state.  it is\ndefinitly undesiable side-effect.\n\nSo adding a hugepage specific bit to the coredump filter is better.  It\nwill be able to hugepage core dumping and doesn\u0027t cause any side-effect to\nany i/o devices.\n\nIn additional, libhugetlb use hugetlb private mapping pages as anonymous\npage.  Then, hugepage private mapping pages should be core dumped by\ndefault.\n\nThen, /proc/[pid]/core_dump_filter has two new bits.\n\n - bit 5 mean hugetlb private mapping pages are dumped or not. (default: yes)\n - bit 6 mean hugetlb shared mapping pages are dumped or not.  (default: no)\n\nI tested by following method.\n\n% ulimit -c unlimited\n% ./crash_hugepage  50\n% ./crash_hugepage  50  -p\n% ls -lh\n% gdb ./crash_hugepage core\n%\n% echo 0x43 \u003e /proc/self/coredump_filter\n% ./crash_hugepage  50\n% ./crash_hugepage  50  -p\n% ls -lh\n% gdb ./crash_hugepage core\n\n#include \u003cstdlib.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/mman.h\u003e\n#include \u003cstring.h\u003e\n\n#include \"hugetlbfs.h\"\n\nint main(int argc, char** argv){\n\tchar* p;\n\tint ch;\n\tint mmap_flags \u003d MAP_SHARED;\n\tint fd;\n\tint nr_pages;\n\n\twhile((ch \u003d getopt(argc, argv, \"p\")) !\u003d -1) {\n\t\tswitch (ch) {\n\t\tcase \u0027p\u0027:\n\t\t\tmmap_flags \u0026\u003d ~MAP_SHARED;\n\t\t\tmmap_flags |\u003d MAP_PRIVATE;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* nothing*/\n\t\t\tbreak;\n\t\t}\n\t}\n\targc -\u003d optind;\n\targv +\u003d optind;\n\n\tif (argc \u003d\u003d 0){\n\t\tprintf(\"need # of pages\\n\");\n\t\texit(1);\n\t}\n\n\tnr_pages \u003d atoi(argv[0]);\n\tif (nr_pages \u003c 2) {\n\t\tprintf(\"nr_pages must \u003e2\\n\");\n\t\texit(1);\n\t}\n\n\tfd \u003d hugetlbfs_unlinked_fd();\n\tp \u003d mmap(NULL, nr_pages * gethugepagesize(),\n\t\t PROT_READ|PROT_WRITE, mmap_flags, fd, 0);\n\n\tsleep(2);\n\n\t*(p + gethugepagesize()) \u003d 1; /* COW */\n\tsleep(2);\n\n\t/* crash! */\n\t*(int*)0 \u003d 1;\n\n\treturn 0;\n}\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Kawai Hidehiro \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: William Irwin \u003cwli@holomorphy.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d903ef9f38813e7eb268744a7e579e92f411c83a",
      "tree": "7d9337e6c27fcbc78569757d6dd6399a318174ca",
      "parents": [
        "2a4b3ded5c76fbe373d6415b1b3ad4841f15c9bd"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Sat Oct 18 20:27:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "mm: print out meminit for memmap\n\nImprove debuggability of memory setup problems.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a4b3ded5c76fbe373d6415b1b3ad4841f15c9bd",
      "tree": "32569113d280e8b69c81359246a51173b187ed74",
      "parents": [
        "db64fe02258f1507e13fe5212a989922323685ce"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Oct 18 20:27:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "mm: hugetlb.c make functions static, use NULL rather than 0\n\nmm/hugetlb.c:265:17: warning: symbol \u0027resv_map_alloc\u0027 was not declared. Should it be static?\nmm/hugetlb.c:277:6: warning: symbol \u0027resv_map_release\u0027 was not declared. Should it be static?\nmm/hugetlb.c:292:9: warning: Using plain integer as NULL pointer\nmm/hugetlb.c:1750:5: warning: symbol \u0027unmap_ref_private\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db64fe02258f1507e13fe5212a989922323685ce",
      "tree": "ed24c8d4e3b0bcadfce3a8c3916a6b35d6c891cb",
      "parents": [
        "cb8f488c33539f096580e202f5438a809195008f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:27:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "mm: rewrite vmap layer\n\nRewrite the vmap allocator to use rbtrees and lazy tlb flushing, and\nprovide a fast, scalable percpu frontend for small vmaps (requires a\nslightly different API, though).\n\nThe biggest problem with vmap is actually vunmap.  Presently this requires\na global kernel TLB flush, which on most architectures is a broadcast IPI\nto all CPUs to flush the cache.  This is all done under a global lock.  As\nthe number of CPUs increases, so will the number of vunmaps a scaled\nworkload will want to perform, and so will the cost of a global TLB flush.\n This gives terrible quadratic scalability characteristics.\n\nAnother problem is that the entire vmap subsystem works under a single\nlock.  It is a rwlock, but it is actually taken for write in all the fast\npaths, and the read locking would likely never be run concurrently anyway,\nso it\u0027s just pointless.\n\nThis is a rewrite of vmap subsystem to solve those problems.  The existing\nvmalloc API is implemented on top of the rewritten subsystem.\n\nThe TLB flushing problem is solved by using lazy TLB unmapping.  vmap\naddresses do not have to be flushed immediately when they are vunmapped,\nbecause the kernel will not reuse them again (would be a use-after-free)\nuntil they are reallocated.  So the addresses aren\u0027t allocated again until\na subsequent TLB flush.  A single TLB flush then can flush multiple\nvunmaps from each CPU.\n\nXEN and PAT and such do not like deferred TLB flushing because they can\u0027t\nalways handle multiple aliasing virtual addresses to a physical address.\nThey now call vm_unmap_aliases() in order to flush any deferred mappings.\nThat call is very expensive (well, actually not a lot more expensive than\na single vunmap under the old scheme), however it should be OK if not\ncalled too often.\n\nThe virtual memory extent information is stored in an rbtree rather than a\nlinked list to improve the algorithmic scalability.\n\nThere is a per-CPU allocator for small vmaps, which amortizes or avoids\nglobal locking.\n\nTo use the per-CPU interface, the vm_map_ram / vm_unmap_ram interfaces\nmust be used in place of vmap and vunmap.  Vmalloc does not use these\ninterfaces at the moment, so it will not be quite so scalable (although it\nwill use lazy TLB flushing).\n\nAs a quick test of performance, I ran a test that loops in the kernel,\nlinearly mapping then touching then unmapping 4 pages.  Different numbers\nof tests were run in parallel on an 4 core, 2 socket opteron.  Results are\nin nanoseconds per map+touch+unmap.\n\nthreads           vanilla         vmap rewrite\n1                 14700           2900\n2                 33600           3000\n4                 49500           2800\n8                 70631           2900\n\nSo with a 8 cores, the rewritten version is already 25x faster.\n\nIn a slightly more realistic test (although with an older and less\nscalable version of the patch), I ripped the not-very-good vunmap batching\ncode out of XFS, and implemented the large buffer mapping with vm_map_ram\nand vm_unmap_ram...  along with a couple of other tricks, I was able to\nspeed up a large directory workload by 20x on a 64 CPU system.  I believe\nvmap/vunmap is actually sped up a lot more than 20x on such a system, but\nI\u0027m running into other locks now.  vmap is pretty well blown off the\nprofiles.\n\nBefore:\n1352059 total                                      0.1401\n798784 _write_lock                              8320.6667 \u003c- vmlist_lock\n529313 default_idle                             1181.5022\n 15242 smp_call_function                         15.8771  \u003c- vmap tlb flushing\n  2472 __get_vm_area_node                         1.9312  \u003c- vmap\n  1762 remove_vm_area                             4.5885  \u003c- vunmap\n   316 map_vm_area                                0.2297  \u003c- vmap\n   312 kfree                                      0.1950\n   300 _spin_lock                                 3.1250\n   252 sn_send_IPI_phys                           0.4375  \u003c- tlb flushing\n   238 vmap                                       0.8264  \u003c- vmap\n   216 find_lock_page                             0.5192\n   196 find_next_bit                              0.3603\n   136 sn2_send_IPI                               0.2024\n   130 pio_phys_write_mmr                         2.0312\n   118 unmap_kernel_range                         0.1229\n\nAfter:\n 78406 total                                      0.0081\n 40053 default_idle                              89.4040\n 33576 ia64_spinlock_contention                 349.7500\n  1650 _spin_lock                                17.1875\n   319 __reg_op                                   0.5538\n   281 _atomic_dec_and_lock                       1.0977\n   153 mutex_unlock                               1.5938\n   123 iget_locked                                0.1671\n   117 xfs_dir_lookup                             0.1662\n   117 dput                                       0.1406\n   114 xfs_iget_core                              0.0268\n    92 xfs_da_hashname                            0.1917\n    75 d_alloc                                    0.0670\n    68 vmap_page_range                            0.0462 \u003c- vmap\n    58 kmem_cache_alloc                           0.0604\n    57 memset                                     0.0540\n    52 rb_next                                    0.1625\n    50 __copy_user                                0.0208\n    49 bitmap_find_free_region                    0.2188 \u003c- vmap\n    46 ia64_sn_udelay                             0.1106\n    45 find_inode_fast                            0.1406\n    42 memcmp                                     0.2188\n    42 finish_task_switch                         0.1094\n    42 __d_lookup                                 0.0410\n    40 radix_tree_lookup_slot                     0.1250\n    37 _spin_unlock_irqrestore                    0.3854\n    36 xfs_bmapi                                  0.0050\n    36 kmem_cache_free                            0.0256\n    35 xfs_vn_getattr                             0.0322\n    34 radix_tree_lookup                          0.1062\n    33 __link_path_walk                           0.0035\n    31 xfs_da_do_buf                              0.0091\n    30 _xfs_buf_find                              0.0204\n    28 find_get_page                              0.0875\n    27 xfs_iread                                  0.0241\n    27 __strncpy_from_user                        0.2812\n    26 _xfs_buf_initialize                        0.0406\n    24 _xfs_buf_lookup_pages                      0.0179\n    24 vunmap_page_range                          0.0250 \u003c- vunmap\n    23 find_lock_page                             0.0799\n    22 vm_map_ram                                 0.0087 \u003c- vmap\n    20 kfree                                      0.0125\n    19 put_page                                   0.0330\n    18 __kmalloc                                  0.0176\n    17 xfs_da_node_lookup_int                     0.0086\n    17 _read_lock                                 0.0885\n    17 page_waitqueue                             0.0664\n\nvmap has gone from being the top 5 on the profiles and flushing the crap\nout of all TLBs, to using less than 1% of kernel time.\n\n[akpm@linux-foundation.org: cleanups, section fix]\n[akpm@linux-foundation.org: fix build on alpha]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb8f488c33539f096580e202f5438a809195008f",
      "tree": "888b60a8638774d50ba897526e24b25ccc28c30f",
      "parents": [
        "51b07fc3c5c830bb49c80fc5eac041e1f66a72e7"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Sat Oct 18 20:27:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "mmap.c: deinline a few functions\n\n__vma_link_file and expand_downwards functions are not small, yeat they\nare marked inline.  They probably had one callsite sometime in the past,\nbut now they have more.  In order to prevent similar thing, I also\ndeinlined expand_upwards, despite it having only pne callsite.  Nowadays\ngcc auto-inlines such static functions anyway.  In find_extend_vma, I\nremoved one extra level of indirection.\n\nPatch is deliberately generated with -U $BIGNUM to make\nit easier to see that functions are big.\n\nResult:\n\n# size */*/mmap.o */vmlinux\n   text    data     bss     dec     hex filename\n   9514     188      16    9718    25f6 0.org/mm/mmap.o\n   9237     188      16    9441    24e1 deinline/mm/mmap.o\n6124402  858996  389480 7372878  70804e 0.org/vmlinux\n6124113  858996  389480 7372589  707f2d deinline/vmlinux\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51b07fc3c5c830bb49c80fc5eac041e1f66a72e7",
      "tree": "7d01d39f5eb5ac601d95c1e133492bd83135af6c",
      "parents": [
        "8413ac9d8c9a1366a4f57880723126cd24e5a5c3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:27:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "fs: buffer lock use lock bitops\n\ntrylock_buffer and unlock_buffer open and close a critical section.\nHence, we can use the lock bitops to get the desired memory ordering.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8413ac9d8c9a1366a4f57880723126cd24e5a5c3",
      "tree": "fcee6ff670dcfccf895a48e92d27f52902d34301",
      "parents": [
        "a978d6f521063514812a7094dbe5036e056e4de3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "mm: page lock use lock bitops\n\ntrylock_page, unlock_page open and close a critical section. Hence,\nwe can use the lock bitops to get the desired memory ordering.\n\nAlso, mark trylock as likely to succeed (and remove the annotation from\ncallers).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a978d6f521063514812a7094dbe5036e056e4de3",
      "tree": "aaaed7caff558d8f9676f8cfd16b50ae6ca99573",
      "parents": [
        "f45840b5c128445da70e7ec33adc47b4a12bdaf4"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "mm: unlockless reclaim\n\nunlock_page is fairly expensive.  It can be avoided in page reclaim\nsuccess path.  By definition if we have any other references to the page\nit would be a bug anyway.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f45840b5c128445da70e7ec33adc47b4a12bdaf4",
      "tree": "3815a03d12d1c69d71a48c44cd216c3e1e84272a",
      "parents": [
        "9978ad583e100945b74e4f33e73317983ea32df9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "mm: pagecache insertion fewer atomics\n\nSetting and clearing the page locked when inserting it into swapcache /\npagecache when it has no other references can use non-atomic page flags\noperations because no other CPU may be operating on it at this time.\n\nThis saves one atomic operation when inserting a page into pagecache.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9978ad583e100945b74e4f33e73317983ea32df9",
      "tree": "132d3a06664e04cac4635ddba55a0ec36ff2a001",
      "parents": [
        "c11d69d8c830e09a0e7b3935c952afb26c48bba8"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "mlock: make mlock error return Posixly Correct\n\nRework Posix error return for mlock().\n\nPosix requires error code for mlock*() system calls for some conditions\nthat differ from what kernel low level functions, such as\nget_user_pages(), return for those conditions.  For more info, see:\n\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d121750892930775\u0026w\u003d2\n\nThis patch provides the same translation of get_user_pages()\nerror codes to posix specified error codes in the context\nof the mlock rework for unevictable lru.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c11d69d8c830e09a0e7b3935c952afb26c48bba8",
      "tree": "c419910614bf29a77b3491014e13a7089093993a",
      "parents": [
        "e0f79b8f1f3394bb344b7b83d6f121ac2af327de"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "mlock: revert mainline handling of mlock error return\n\nThis change is intended to make mlock() error returns correct.\nmake_page_present() is a lower level function used by more than mlock().\nSubsequent patch[es] will add this error return fixup in an mlock specific\npath.\n\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0f79b8f1f3394bb344b7b83d6f121ac2af327de",
      "tree": "71fbe51998f2e22889bb59d361acf36898d71732",
      "parents": [
        "902d2e8ae0de29f483840ba1134af27343b9564d"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Sat Oct 18 20:26:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "vmscan: don\u0027t accumulate scan pressure on unrelated lists\n\nDuring each reclaim scan we accumulate scan pressure on unrelated lists\nwhich will result in bogus scans and unwanted reclaims eventually.\n\nScanning lists with few reclaim candidates results in a lot of rotation\nand therefor also disturbs the list balancing, putting even more\npressure on the wrong lists.\n\nIn a test-case with much streaming IO, and therefor a crowded inactive\nfile page list, swapping started because\n\n  a) anon pages were reclaimed after swap_cluster_max reclaim\n  invocations -- nr_scan of this list has just accumulated\n\n  b) active file pages were scanned because *their* nr_scan has also\n  accumulated through the same logic.  And this in return created a\n  lot of rotation for file pages and resulted in a decrease of file\n  list priority, again increasing the pressure on anon pages.\n\nThe result was an evicted working set of anon pages while there were\ntons of inactive file pages that should have been taken instead.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "902d2e8ae0de29f483840ba1134af27343b9564d",
      "tree": "2f14626a70b5d7fbae9db33dfb155346b154e3f7",
      "parents": [
        "985737cf2ea096ea946aed82c7484d40defc71a8"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sat Oct 18 20:26:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "vmscan: kill unused lru functions\n\nSeveral LRU manupuration function are not used now.  So they can be\nremoved.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "985737cf2ea096ea946aed82c7484d40defc71a8",
      "tree": "b96dc3b8c28f743857a7a1fff25472d6e0f60120",
      "parents": [
        "af936a1606246a10c145feac3770f6287f483f02"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "mlock: count attempts to free mlocked page\n\nAllow free of mlock()ed pages.  This shouldn\u0027t happen, but during\ndevelopement, it occasionally did.\n\nThis patch allows us to survive that condition, while keeping the\nstatistics and events correct for debug.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af936a1606246a10c145feac3770f6287f483f02",
      "tree": "8b1ca7fabb5c749ffdecd654519889c6c2ed2fb6",
      "parents": [
        "64d6519dda3905dfb94d3f93c07c5f263f41813f"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "vmscan: unevictable LRU scan sysctl\n\nThis patch adds a function to scan individual or all zones\u0027 unevictable\nlists and move any pages that have become evictable onto the respective\nzone\u0027s inactive list, where shrink_inactive_list() will deal with them.\n\nAdds sysctl to scan all nodes, and per node attributes to individual\nnodes\u0027 zones.\n\nKosaki: If evictable page found in unevictable lru when write\n/proc/sys/vm/scan_unevictable_pages, print filename and file offset of\nthese pages.\n\n[akpm@linux-foundation.org: fix one CONFIG_MMU\u003dn build error]\n[kosaki.motohiro@jp.fujitsu.com: adapt vmscan-unevictable-lru-scan-sysctl.patch to new sysfs API]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64d6519dda3905dfb94d3f93c07c5f263f41813f",
      "tree": "62cae88edcb858c42a5b4b568eb77801299250bb",
      "parents": [
        "5344b7e648980cc2ca613ec03a56a8222ff48820"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "swap: cull unevictable pages in fault path\n\nIn the fault paths that install new anonymous pages, check whether the\npage is evictable or not using lru_cache_add_active_or_unevictable().  If\nthe page is evictable, just add it to the active lru list [via the pagevec\ncache], else add it to the unevictable list.\n\nThis \"proactive\" culling in the fault path mimics the handling of mlocked\npages in Nick Piggin\u0027s series to keep mlocked pages off the lru lists.\n\nNotes:\n\n1) This patch is optional--e.g., if one is concerned about the\n   additional test in the fault path.  We can defer the moving of\n   nonreclaimable pages until when vmscan [shrink_*_list()]\n   encounters them.  Vmscan will only need to handle such pages\n   once, but if there are a lot of them it could impact system\n   performance.\n\n2) The \u0027vma\u0027 argument to page_evictable() is require to notice that\n   we\u0027re faulting a page into an mlock()ed vma w/o having to scan the\n   page\u0027s rmap in the fault path.   Culling mlock()ed anon pages is\n   currently the only reason for this patch.\n\n3) We can\u0027t cull swap pages in read_swap_cache_async() because the\n   vma argument doesn\u0027t necessarily correspond to the swap cache\n   offset passed in by swapin_readahead().  This could [did!] result\n   in mlocking pages in non-VM_LOCKED vmas if [when] we tried to\n   cull in this path.\n\n4) Move set_pte_at() to after where we add page to lru to keep it\n   hidden from other tasks that might walk the page table.\n   We already do it in this order in do_anonymous() page.  And,\n   these are COW\u0027d anon pages.  Is this safe?\n\n[riel@redhat.com: undo an overzealous code cleanup]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\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": "5344b7e648980cc2ca613ec03a56a8222ff48820",
      "tree": "f9f8773ae8e38fb91aec52ca9ad2bd81f039b565",
      "parents": [
        "ba470de43188cdbff795b5da43a1474523c6c2fb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "vmstat: mlocked pages statistics\n\nAdd NR_MLOCK zone page state, which provides a (conservative) count of\nmlocked pages (actually, the number of mlocked pages moved off the LRU).\n\nReworked by lts to fit in with the modified mlock page support in the\nReclaim Scalability series.\n\n[kosaki.motohiro@jp.fujitsu.com: fix incorrect Mlocked field of /proc/meminfo]\n[lee.schermerhorn@hp.com: mlocked-pages: add event counting with statistics]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\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": "ba470de43188cdbff795b5da43a1474523c6c2fb",
      "tree": "0477460fa8c3e61edd9f1534cd2193656e586f8b",
      "parents": [
        "8edb08caf68184fb170f4f69c7445929e199eaea"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "mmap: handle mlocked pages during map, remap, unmap\n\nOriginally by Nick Piggin \u003cnpiggin@suse.de\u003e\n\nRemove mlocked pages from the LRU using \"unevictable infrastructure\"\nduring mmap(), munmap(), mremap() and truncate().  Try to move back to\nnormal LRU lists on munmap() when last mlocked mapping removed.  Remove\nPageMlocked() status when page truncated from file.\n\n[akpm@linux-foundation.org: cleanup]\n[kamezawa.hiroyu@jp.fujitsu.com: fix double unlock_page()]\n[kosaki.motohiro@jp.fujitsu.com: split LRU: munlock rework]\n[lee.schermerhorn@hp.com: mlock: fix __mlock_vma_pages_range comment block]\n[akpm@linux-foundation.org: remove bogus kerneldoc token]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamewzawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8edb08caf68184fb170f4f69c7445929e199eaea",
      "tree": "c0d8f24971c90e5627207f0f0cb7c06f9bdb5dc4",
      "parents": [
        "fa07e787733416c42938a310a8e717295934e33c"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "mlock: downgrade mmap sem while populating mlocked regions\n\nWe need to hold the mmap_sem for write to initiatate mlock()/munlock()\nbecause we may need to merge/split vmas.  However, this can lead to very\nlong lock hold times attempting to fault in a large memory region to mlock\nit into memory.  This can hold off other faults against the mm\n[multithreaded tasks] and other scans of the mm, such as via /proc.  To\nalleviate this, downgrade the mmap_sem to read mode during the population\nof the region for locking.  This is especially the case if we need to\nreclaim memory to lock down the region.  We [probably?] don\u0027t need to do\nthis for unlocking as all of the pages should be resident--they\u0027re already\nmlocked.\n\nNow, the caller\u0027s of the mlock functions [mlock_fixup() and\nmlock_vma_pages_range()] expect the mmap_sem to be returned in write mode.\n Changing all callers appears to be way too much effort at this point.\nSo, restore write mode before returning.  Note that this opens a window\nwhere the mmap list could change in a multithreaded process.  So, at least\nfor mlock_fixup(), where we could be called in a loop over multiple vmas,\nwe check that a vma still exists at the start address and that vma still\ncovers the page range [start,end).  If not, we return an error, -EAGAIN,\nand let the caller deal with it.\n\nReturn -EAGAIN from mlock_vma_pages_range() function and mlock_fixup() if\nthe vma at \u0027start\u0027 disappears or changes so that the page range\n[start,end) is no longer contained in the vma.  Again, let the caller deal\nwith it.  Looks like only sys_remap_file_pages() [via mmap_region()]\nshould actually care.\n\nWith this patch, I no longer see processes like ps(1) blocked for seconds\nor minutes at a time waiting for a large [multiple gigabyte] region to be\nlocked down.  However, I occassionally see delays while unlocking or\nunmapping a large mlocked region.  Should we also downgrade the mmap_sem\nfor the unlock path?\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa07e787733416c42938a310a8e717295934e33c",
      "tree": "f2ba036532d89fe27e65b18ca862137067587ea2",
      "parents": [
        "b291f000393f5a0b679012b39d79fbc85c018233"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "doc: unevictable LRU and mlocked pages documentation\n\nDocumentation for unevictable lru list and its usage.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.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": "b291f000393f5a0b679012b39d79fbc85c018233",
      "tree": "28eb785d4d157d3396e4377294e6054635a4bd90",
      "parents": [
        "89e004ea55abe201b29e2d6e35124101f1288ef7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:30 2008 -0700"
      },
      "message": "mlock: mlocked pages are unevictable\n\nMake sure that mlocked pages also live on the unevictable LRU, so kswapd\nwill not scan them over and over again.\n\nThis is achieved through various strategies:\n\n1) add yet another page flag--PG_mlocked--to indicate that\n   the page is locked for efficient testing in vmscan and,\n   optionally, fault path.  This allows early culling of\n   unevictable pages, preventing them from getting to\n   page_referenced()/try_to_unmap().  Also allows separate\n   accounting of mlock\u0027d pages, as Nick\u0027s original patch\n   did.\n\n   Note:  Nick\u0027s original mlock patch used a PG_mlocked\n   flag.  I had removed this in favor of the PG_unevictable\n   flag + an mlock_count [new page struct member].  I\n   restored the PG_mlocked flag to eliminate the new\n   count field.\n\n2) add the mlock/unevictable infrastructure to mm/mlock.c,\n   with internal APIs in mm/internal.h.  This is a rework\n   of Nick\u0027s original patch to these files, taking into\n   account that mlocked pages are now kept on unevictable\n   LRU list.\n\n3) update vmscan.c:page_evictable() to check PageMlocked()\n   and, if vma passed in, the vm_flags.  Note that the vma\n   will only be passed in for new pages in the fault path;\n   and then only if the \"cull unevictable pages in fault\n   path\" patch is included.\n\n4) add try_to_unlock() to rmap.c to walk a page\u0027s rmap and\n   ClearPageMlocked() if no other vmas have it mlocked.\n   Reuses as much of try_to_unmap() as possible.  This\n   effectively replaces the use of one of the lru list links\n   as an mlock count.  If this mechanism let\u0027s pages in mlocked\n   vmas leak through w/o PG_mlocked set [I don\u0027t know that it\n   does], we should catch them later in try_to_unmap().  One\n   hopes this will be rare, as it will be relatively expensive.\n\nOriginal mm/internal.h, mm/rmap.c and mm/mlock.c changes:\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n\nsplitlru: introduce __get_user_pages():\n\n  New munlock processing need to GUP_FLAGS_IGNORE_VMA_PERMISSIONS.\n  because current get_user_pages() can\u0027t grab PROT_NONE pages theresore it\n  cause PROT_NONE pages can\u0027t munlock.\n\n[akpm@linux-foundation.org: fix this for pagemap-pass-mm-into-pagewalkers.patch]\n[akpm@linux-foundation.org: untangle patch interdependencies]\n[akpm@linux-foundation.org: fix things after out-of-order merging]\n[hugh@veritas.com: fix page-flags mess]\n[lee.schermerhorn@hp.com: fix munlock page table walk - now requires \u0027mm\u0027]\n[kosaki.motohiro@jp.fujitsu.com: build fix]\n[kosaki.motohiro@jp.fujitsu.com: fix truncate race and sevaral comments]\n[kosaki.motohiro@jp.fujitsu.com: splitlru: introduce __get_user_pages()]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89e004ea55abe201b29e2d6e35124101f1288ef7",
      "tree": "272a8f453106fd33d66fd7153f44696648dbe8b6",
      "parents": [
        "ba9ddf49391645e6bb93219131a40446538a5e76"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "SHM_LOCKED pages are unevictable\n\nShmem segments locked into memory via shmctl(SHM_LOCKED) should not be\nkept on the normal LRU, since scanning them is a waste of time and might\nthrow off kswapd\u0027s balancing algorithms.  Place them on the unevictable\nLRU list instead.\n\nUse the AS_UNEVICTABLE flag to mark address_space of SHM_LOCKed shared\nmemory regions as unevictable.  Then these pages will be culled off the\nnormal LRU lists during vmscan.\n\nAdd new wrapper function to clear the mapping\u0027s unevictable state when/if\nshared memory segment is munlocked.\n\nAdd \u0027scan_mapping_unevictable_page()\u0027 to mm/vmscan.c to scan all pages in\nthe shmem segment\u0027s mapping [struct address_space] for evictability now\nthat they\u0027re no longer locked.  If so, move them to the appropriate zone\nlru list.\n\nChanges depend on [CONFIG_]UNEVICTABLE_LRU.\n\n[kosaki.motohiro@jp.fujitsu.com: revert shm change]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\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": "ba9ddf49391645e6bb93219131a40446538a5e76",
      "tree": "2202525ca36c6f629685f5fea60b5b3ba335f546",
      "parents": [
        "7b854121eb3e5ba0241882ff939e2c485228c9c5"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "Ramfs and Ram Disk pages are unevictable\n\nChristoph Lameter pointed out that ram disk pages also clutter the LRU\nlists.  When vmscan finds them dirty and tries to clean them, the ram disk\nwriteback function just redirties the page so that it goes back onto the\nactive list.  Round and round she goes...\n\nWith the ram disk driver [rd.c] replaced by the newer \u0027brd.c\u0027, this is no\nlonger the case, as ram disk pages are no longer maintained on the lru.\n[This makes them unmigratable for defrag or memory hot remove, but that\ncan be addressed by a separate patch series.] However, the ramfs pages\nbehave like ram disk pages used to, so:\n\nDefine new address_space flag [shares address_space flags member with\nmapping\u0027s gfp mask] to indicate that the address space contains all\nunevictable pages.  This will provide for efficient testing of ramfs pages\nin page_evictable().\n\nAlso provide wrapper functions to set/test the unevictable state to\nminimize #ifdefs in ramfs driver and any other users of this facility.\n\nSet the unevictable state on address_space structures for new ramfs\ninodes.  Test the unevictable state in page_evictable() to cull\nunevictable pages.\n\nThese changes depend on [CONFIG_]UNEVICTABLE_LRU.\n\n[riel@redhat.com: undo the brd.c part]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nDebugged-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b854121eb3e5ba0241882ff939e2c485228c9c5",
      "tree": "e553bc3b3c2be3b36cfcce5219b2ef85646ea495",
      "parents": [
        "bbfd28eee9fbd73e780b19beb3dc562befbb94fa"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "Unevictable LRU Page Statistics\n\nReport unevictable pages per zone and system wide.\n\nKosaki Motohiro added support for memory controller unevictable\nstatistics.\n\n[riel@redhat.com: fix printk in show_free_areas()]\n[akpm@linux-foundation.org: fix units in /proc/vmstats]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nDebugged-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbfd28eee9fbd73e780b19beb3dc562befbb94fa",
      "tree": "0e810fcd61501ef57e613a737593067b0bc61d40",
      "parents": [
        "894bc310419ac95f4fa4142dc364401a7e607f65"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "unevictable lru: add event counting with statistics\n\nFix to unevictable-lru-page-statistics.patch\n\nAdd unevictable lru infrastructure vm events to the statistics patch.\nRename the \"NORECL_\" and \"noreclaim_\" symbols and text strings to\n\"UNEVICTABLE_\" and \"unevictable_\", respectively.\n\nCurrently, both the infrastructure and the mlocked pages event are\nadded by a single patch later in the series.  This makes it difficult\nto add or rework the incremental patches.  The events actually \"belong\"\nwith the stats, so pull them up to here.\n\nAlso, restore the event counting to putback_lru_page().  This was removed\nfrom previous patch in series where it was \"misplaced\".  The actual events\nweren\u0027t defined that early.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "894bc310419ac95f4fa4142dc364401a7e607f65",
      "tree": "15d56a7333b41620016b845d2323dd06e822b621",
      "parents": [
        "8a7a8544a4f6554ec2d8048ac9f9672f442db5a2"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "Unevictable LRU Infrastructure\n\nWhen the system contains lots of mlocked or otherwise unevictable pages,\nthe pageout code (kswapd) can spend lots of time scanning over these\npages.  Worse still, the presence of lots of unevictable pages can confuse\nkswapd into thinking that more aggressive pageout modes are required,\nresulting in all kinds of bad behaviour.\n\nInfrastructure to manage pages excluded from reclaim--i.e., hidden from\nvmscan.  Based on a patch by Larry Woodman of Red Hat.  Reworked to\nmaintain \"unevictable\" pages on a separate per-zone LRU list, to \"hide\"\nthem from vmscan.\n\nKosaki Motohiro added the support for the memory controller unevictable\nlru list.\n\nPages on the unevictable list have both PG_unevictable and PG_lru set.\nThus, PG_unevictable is analogous to and mutually exclusive with\nPG_active--it specifies which LRU list the page is on.\n\nThe unevictable infrastructure is enabled by a new mm Kconfig option\n[CONFIG_]UNEVICTABLE_LRU.\n\nA new function \u0027page_evictable(page, vma)\u0027 in vmscan.c tests whether or\nnot a page may be evictable.  Subsequent patches will add the various\n!evictable tests.  We\u0027ll want to keep these tests light-weight for use in\nshrink_active_list() and, possibly, the fault path.\n\nTo avoid races between tasks putting pages [back] onto an LRU list and\ntasks that might be moving the page from non-evictable to evictable state,\nthe new function \u0027putback_lru_page()\u0027 -- inverse to \u0027isolate_lru_page()\u0027\n-- tests the \"evictability\" of a page after placing it on the LRU, before\ndropping the reference.  If the page has become unevictable,\nputback_lru_page() will redo the \u0027putback\u0027, thus moving the page to the\nunevictable list.  This way, we avoid \"stranding\" evictable pages on the\nunevictable list.\n\n[akpm@linux-foundation.org: fix fallout from out-of-order merge]\n[riel@redhat.com: fix UNEVICTABLE_LRU and !PROC_PAGE_MONITOR build]\n[nishimura@mxp.nes.nec.co.jp: remove redundant mapping check]\n[kosaki.motohiro@jp.fujitsu.com: unevictable-lru-infrastructure: putback_lru_page()/unevictable page handling rework]\n[kosaki.motohiro@jp.fujitsu.com: kill unnecessary lock_page() in vmscan.c]\n[kosaki.motohiro@jp.fujitsu.com: revert migration change of unevictable lru infrastructure]\n[kosaki.motohiro@jp.fujitsu.com: revert to unevictable-lru-infrastructure-kconfig-fix.patch]\n[kosaki.motohiro@jp.fujitsu.com: restore patch failure of vmstat-unevictable-and-mlocked-pages-vm-events.patch]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nDebugged-by: Benjamin Kidwell \u003cbenjkidwell@yahoo.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a7a8544a4f6554ec2d8048ac9f9672f442db5a2",
      "tree": "9d64d0774f5aeb2828c51b19bce02c1e63c4725e",
      "parents": [
        "33c120ed2843090e2bd316de1588b8bf8b96cbde"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "pageflag helpers for configed-out flags\n\nDefine proper false/noop inline functions for noreclaim page flags when\n!defined(CONFIG_UNEVICTABLE_LRU)\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33c120ed2843090e2bd316de1588b8bf8b96cbde",
      "tree": "7a6969fd7aae85fdaa8e63a90494950d8e4a0792",
      "parents": [
        "c5fdae469a6a26cd882d7fe0aa3fbfffb6b72fc5"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "more aggressively use lumpy reclaim\n\nDuring an AIM7 run on a 16GB system, fork started failing around 32000\nthreads, despite the system having plenty of free swap and 15GB of\npageable memory.  This was on x86-64, so 8k stacks.\n\nIf a higher order allocation fails, we can either:\n- keep evicting pages off the end of the LRUs and hope that\n  we eventually create a contiguous region; this is somewhat\n  unlikely if the system is under enough stress by new\n  allocations\n- after trying normal eviction for a bit, use lumpy reclaim\n\nThis patch switches the system to lumpy reclaim if the VM is having\ntrouble freeing enough pages, using the same threshold for detection as\nused by pageout congestion wait.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5fdae469a6a26cd882d7fe0aa3fbfffb6b72fc5",
      "tree": "68eff4073f0e26be5aea7a6e69f210fb0cab02ea",
      "parents": [
        "7e9cd484204f9e5b316ed35b241abf088d76e0af"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: add newly swapped in pages to the inactive list\n\nSwapin_readahead can read in a lot of data that the processes in memory\nnever need.  Adding swap cache pages to the inactive list prevents them\nfrom putting too much pressure on the working set.\n\nThis has the potential to help the programs that are already in memory,\nbut it could also be a disadvantage to processes that are trying to get\nswapped in.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e9cd484204f9e5b316ed35b241abf088d76e0af",
      "tree": "79f2567e7bb96af2d97d8d5407cc990e26eda95c",
      "parents": [
        "556adecba110bf5f1db6c6b56416cfab5bcab698"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: fix pagecache reclaim referenced bit check\n\nMoving referenced pages back to the head of the active list creates a huge\nscalability problem, because by the time a large memory system finally\nruns out of free memory, every single page in the system will have been\nreferenced.\n\nNot only do we not have the time to scan every single page on the active\nlist, but since they have will all have the referenced bit set, that bit\nconveys no useful information.\n\nA more scalable solution is to just move every page that hits the end of\nthe active list to the inactive list.\n\nWe clear the referenced bit off of mapped pages, which need just one\nreference to be moved back onto the active list.\n\nUnmapped pages will be moved back to the active list after two references\n(see mark_page_accessed).  We preserve the PG_referenced flag on unmapped\npages to preserve accesses that were made while the page was on the active\nlist.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "556adecba110bf5f1db6c6b56416cfab5bcab698",
      "tree": "a721d84d28c4d99a54632b472b452ea3d4b2b137",
      "parents": [
        "4f98a2fee8acdb4ac84545df98cccecfd130f8db"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: second chance replacement for anonymous pages\n\nWe avoid evicting and scanning anonymous pages for the most part, but\nunder some workloads we can end up with most of memory filled with\nanonymous pages.  At that point, we suddenly need to clear the referenced\nbits on all of memory, which can take ages on very large memory systems.\n\nWe can reduce the maximum number of pages that need to be scanned by not\ntaking the referenced state into account when deactivating an anonymous\npage.  After all, every anonymous page starts out referenced, so why\ncheck?\n\nIf an anonymous page gets referenced again before it reaches the end of\nthe inactive list, we move it back to the active list.\n\nTo keep the maximum amount of necessary work reasonable, we scale the\nactive to inactive ratio with the size of memory, using the formula\nactive:inactive ratio \u003d sqrt(memory in GB * 10).\n\nKswapd CPU use now seems to scale by the amount of pageout bandwidth,\ninstead of by the amount of memory present in the system.\n\n[kamezawa.hiroyu@jp.fujitsu.com: fix OOM with memcg]\n[kamezawa.hiroyu@jp.fujitsu.com: memcg: lru scan fix]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f98a2fee8acdb4ac84545df98cccecfd130f8db",
      "tree": "035a2937f4c3e2f7b4269412041c073ac646937c",
      "parents": [
        "b2e185384f534781fd22f5ce170b2ad26f97df70"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: split LRU lists into anon \u0026 file sets\n\nSplit the LRU lists in two, one set for pages that are backed by real file\nsystems (\"file\") and one for pages that are backed by memory and swap\n(\"anon\").  The latter includes tmpfs.\n\nThe advantage of doing this is that the VM will not have to scan over lots\nof anonymous pages (which we generally do not want to swap out), just to\nfind the page cache pages that it should evict.\n\nThis patch has the infrastructure and a basic policy to balance how much\nwe scan the anon lists and how much we scan the file lists.  The big\npolicy changes are in separate patches.\n\n[lee.schermerhorn@hp.com: collect lru meminfo statistics from correct offset]\n[kosaki.motohiro@jp.fujitsu.com: prevent incorrect oom under split_lru]\n[kosaki.motohiro@jp.fujitsu.com: fix pagevec_move_tail() doesn\u0027t treat unevictable page]\n[hugh@veritas.com: memcg swapbacked pages active]\n[hugh@veritas.com: splitlru: BDI_CAP_SWAP_BACKED]\n[akpm@linux-foundation.org: fix /proc/vmstat units]\n[nishimura@mxp.nes.nec.co.jp: memcg: fix handling of shmem migration]\n[kosaki.motohiro@jp.fujitsu.com: adjust Quicklists field of /proc/meminfo]\n[kosaki.motohiro@jp.fujitsu.com: fix style issue of get_scan_ratio()]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2e185384f534781fd22f5ce170b2ad26f97df70",
      "tree": "3096b8250302c5a9f71b1b5122345f7cf62606cc",
      "parents": [
        "68a22394c286a2daf06ee8d65d8835f738faefa5"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "define page_file_cache() function\n\nDefine page_file_cache() function to answer the question:\n\tis page backed by a file?\n\nOriginally part of Rik van Riel\u0027s split-lru patch.  Extracted to make\navailable for other, independent reclaim patches.\n\nMoved inline function to linux/mm_inline.h where it will be needed by\nsubsequent \"split LRU\" and \"noreclaim\" patches.\n\nUnfortunately this needs to use a page flag, since the PG_swapbacked state\nneeds to be preserved all the way to the point where the page is last\nremoved from the LRU.  Trying to derive the status from other info in the\npage resulted in wrong VM statistics in earlier split VM patchsets.\n\nThe total number of page flags in use on a 32 bit machine after this patch\nis 19.\n\n[akpm@linux-foundation.org: fix up out-of-order merge fallout]\n[hugh@veritas.com: splitlru: shmem_getpage SetPageSwapBacked sooner[\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: MinChan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68a22394c286a2daf06ee8d65d8835f738faefa5",
      "tree": "1fb91d5bf57a1f6d1cabaac0a6f5d86060ebecb5",
      "parents": [
        "f04e9ebbe4909f9a41efd55149bc353299f4e83b"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: free swap space on swap-in/activation\n\nIf vm_swap_full() (swap space more than 50% full), the system will free\nswap space at swapin time.  With this patch, the system will also free the\nswap space in the pageout code, when we decide that the page is not a\ncandidate for swapout (and just wasting swap space).\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: MinChan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f04e9ebbe4909f9a41efd55149bc353299f4e83b",
      "tree": "4ff31c7f918edafe7d4e4dd0e926b6ac545c7897",
      "parents": [
        "b69408e88bd86b98feb7b9a38fd865e1ddb29827"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sat Oct 18 20:26:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "swap: use an array for the LRU pagevecs\n\nTurn the pagevecs into an array just like the LRUs.  This significantly\ncleans up the source code and reduces the size of the kernel by about 13kB\nafter all the LRU lists have been created further down in the split VM\npatch series.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\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": "b69408e88bd86b98feb7b9a38fd865e1ddb29827",
      "tree": "b19277c29fe624870ba776cc6ada59928cd2796d",
      "parents": [
        "62695a84eb8f2e718bf4dfb21700afaa7a08e0ea"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Sat Oct 18 20:26:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: Use an indexed array for LRU variables\n\nCurrently we are defining explicit variables for the inactive and active\nlist.  An indexed array can be more generic and avoid repeating similar\ncode in several places in the reclaim code.\n\nWe are saving a few bytes in terms of code size:\n\nBefore:\n\n   text    data     bss     dec     hex filename\n4097753  573120 4092484 8763357  85b7dd vmlinux\n\nAfter:\n\n   text    data     bss     dec     hex filename\n4097729  573120 4092484 8763333  85b7c5 vmlinux\n\nHaving an easy way to add new lru lists may ease future work on the\nreclaim code.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.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": "62695a84eb8f2e718bf4dfb21700afaa7a08e0ea",
      "tree": "0af7bac599748a7e462bff16d70c702c9e33a2fb",
      "parents": [
        "71088785c6bc68fddb450063d57b1bd1c78e0ea1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: move isolate_lru_page() to vmscan.c\n\nOn large memory systems, the VM can spend way too much time scanning\nthrough pages that it cannot (or should not) evict from memory.  Not only\ndoes it use up CPU time, but it also provokes lock contention and can\nleave large systems under memory presure in a catatonic state.\n\nThis patch series improves VM scalability by:\n\n1) putting filesystem backed, swap backed and unevictable pages\n   onto their own LRUs, so the system only scans the pages that it\n   can/should evict from memory\n\n2) switching to two handed clock replacement for the anonymous LRUs,\n   so the number of pages that need to be scanned when the system\n   starts swapping is bound to a reasonable number\n\n3) keeping unevictable pages off the LRU completely, so the\n   VM does not waste CPU time scanning them. ramfs, ramdisk,\n   SHM_LOCKED shared memory segments and mlock()ed VMA pages\n   are keept on the unevictable list.\n\nThis patch:\n\nisolate_lru_page logically belongs to be in vmscan.c than migrate.c.\n\nIt is tough, because we don\u0027t need that function without memory migration\nso there is a valid argument to have it in migrate.c.  However a\nsubsequent patch needs to make use of it in the core mm, so we can happily\nmove it to vmscan.c.\n\nAlso, make the function a little more generic by not requiring that it\nadds an isolated page to a given list.  Callers can do that.\n\n\tNote that we now have \u0027__isolate_lru_page()\u0027, that does\n\tsomething quite different, visible outside of vmscan.c\n\tfor use with memory controller.  Methinks we need to\n\trationalize these names/purposes.\t--lts\n\n[akpm@linux-foundation.org: fix mm/memory_hotplug.c build]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71088785c6bc68fddb450063d57b1bd1c78e0ea1",
      "tree": "026e0e2be8aac85959424211f7e319be6cac40ca",
      "parents": [
        "8433ac61acf733dc4b427de5f0891518c21538f9"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Oct 18 20:25:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "mm: cleanup to make remove_memory() arch-neutral\n\nThere is nothing architecture specific about remove_memory().\nremove_memory() function is common for all architectures which support\nhotplug memory remove.  Instead of duplicating it in every architecture,\ncollapse them into arch neutral function.\n\n[akpm@linux-foundation.org: fix the export]\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8433ac61acf733dc4b427de5f0891518c21538f9",
      "tree": "4e777dfde5155ddeb02b90a281440af42b302bd5",
      "parents": [
        "cbb2ed4ac61f3e3d1656db141cfced6ed38861d5"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Oct 18 20:25:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:24 2008 -0700"
      },
      "message": "serial_txx9: use %lx for iobase\n\nFix a warning caused by commit 0c8946d97ae7d2d6691f8290a10faa63453b63f8\n(serial: Make uart_port\u0027s ioport \"unsigned long\".)\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Josip Rodin \u003cjoy@entuzijast.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbb2ed4ac61f3e3d1656db141cfced6ed38861d5",
      "tree": "75f41905b0ba5ae88e7d7e5278eb6523bd44e25d",
      "parents": [
        "d014e5f7f817d8a5d65457c416ade9244785f196"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sat Oct 18 20:25:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:24 2008 -0700"
      },
      "message": "tpm: don\u0027t export static functions\n\nToday\u0027s linux-next build (powerpc_allyesconfig) failed like this:\n\ndrivers/char/tpm/tpm.c:1162: error: __ksymtab_tpm_dev_release causes a section type conflict\n\nCaused by commit 253115b71fa06330bd58afbe01ccaf763a8a0cf1 (\"The\ntpm_dev_release function is only called for platform devices, not pnp\")\nwhich exported a static function.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Rajiv Andrade \u003csrajiv@linux.vnet.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d014e5f7f817d8a5d65457c416ade9244785f196",
      "tree": "c05afc8fd075ff08c7d217245ffe2443a91a1119",
      "parents": [
        "d9d332e0874f46b91d8ac4604b68ee42b8a7a2c6"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Oct 18 20:25:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:24 2008 -0700"
      },
      "message": "mailmap: add Mark Brown\n\nA couple of commits have a broken real name - fix them up.\n\nSigned-off-by: Mark Brown \u003cbroonie@sirena.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": "d9d332e0874f46b91d8ac4604b68ee42b8a7a2c6",
      "tree": "070023e76343c4713c352aba31faae042ad3d4a6",
      "parents": [
        "0cfd81031a26717fe14380d18275f8e217571615"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 19 10:32:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 19 11:50:35 2008 -0700"
      },
      "message": "anon_vma_prepare: properly lock even newly allocated entries\n\nThe anon_vma code is very subtle, and we end up doing optimistic lookups\nof anon_vmas under RCU in page_lock_anon_vma() with no locking.  Other\nCPU\u0027s can also see the newly allocated entry immediately after we\u0027ve\nexposed it by setting \"vma-\u003eanon_vma\" to the new value.\n\nWe protect against the anon_vma being destroyed by having the SLAB\nmarked as SLAB_DESTROY_BY_RCU, so the RCU lookup can depend on the\nallocation not being destroyed - but it might still be free\u0027d and\nre-allocated here to a new vma.\n\nAs a result, we should not do the anon_vma list ops on a newly allocated\nvma without proper locking.\n\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0cfd81031a26717fe14380d18275f8e217571615",
      "tree": "78a84e4cb97e7f45eb77dc0fbd8857a5dd717869",
      "parents": [
        "f7ea4a4ba84f382e8eb143e435551de0feee5b4b",
        "802f389a2cc6e2771b8de915ac241456d41eb79e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:43:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:43:52 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (94 commits)\n  USB: remove err() macro from more usb drivers\n  USB: remove err() macro from usb misc drivers\n  USB: remove err() macro from usb core code\n  USB: remove err() macro from usb class drivers\n  USB: remove use of err() in drivers/usb/serial\n  USB: remove info() macro from usb mtd drivers\n  USB: remove info() macro from usb input drivers\n  USB: remove info() macro from usb network drivers\n  USB: remove info() macro from remaining usb drivers\n  USB: remove info() macro from usb/misc drivers\n  USB: remove info() macro from usb/serial drivers\n  USB: remove warn macro from HID core\n  USB: remove warn() macro from usb drivers\n  USB: remove warn() macro from usb net drivers\n  USB: remove warn() macro from usb media drivers\n  USB: remove warn() macro from usb input drivers\n  usb/fsl_qe_udc: clear data toggle on clear halt request\n  usb/fsl_qe_udc: fix response to get status request\n  fsl_usb2_udc: Fix oops on probe failure.\n  fsl_usb2_udc: Add a wmb before priming endpoint.\n  ...\n"
    },
    {
      "commit": "f7ea4a4ba84f382e8eb143e435551de0feee5b4b",
      "tree": "0771d5413f1b9104816ca0ddec21c5503d562a3d",
      "parents": [
        "5564da7e9d12ea80745f66c8d2ec7bd00f3f94eb",
        "4b40893918203ee1a1f6a114316c2a19c072e9bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:09:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:09:20 2008 -0700"
      },
      "message": "Merge branch \u0027drm-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (44 commits)\n  drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831)\n  drm: make CONFIG_DRM depend on CONFIG_SHMEM.\n  radeon: fix PCI bus mastering support enables.\n  radeon: add RS400 family support.\n  drm/radeon: add support for RS740 IGP chipsets.\n  i915: GM45 has GM965-style MCH setup.\n  i915: Don\u0027t run retire work handler while suspended\n  i915: Map status page cached for chips with GTT-based HWS location.\n  i915: Fix up ring initialization to cover G45 oddities\n  i915: Use non-reserved status page index for breadcrumb\n  drm: Increment dev_priv-\u003eirq_received so i915_gem_interrupts count works.\n  drm: kill drm_device-\u003eirq\n  drm: wbinvd is cache coherent.\n  i915: add missing return in error path.\n  i915: fixup permissions on gem ioctls.\n  drm: Clean up many sparse warnings in i915.\n  drm: Use ioremap_wc in i915_driver instead of ioremap, since we always want WC.\n  drm: G33-class hardware has a newer 965-style MCH (no DCC register).\n  drm: Avoid oops in GEM execbuffers with bad arguments.\n  DRM: Return -EBADF on bad object in flink, and return curent name if it exists.\n  ...\n"
    },
    {
      "commit": "5564da7e9d12ea80745f66c8d2ec7bd00f3f94eb",
      "tree": "30e5327e7fac3dad5e8f74e777d1f621f0693791",
      "parents": [
        "58617d5e59663d2edea03bd03cb74279827611bb",
        "d4305c68cc30b66a71ea05297e6c0663feccad65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:08:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:08:47 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (95 commits)\n  V4L/DVB (9296): Patch to remove warning message during cx88-dvb compilation\n  V4L/DVB (9294): gspca: Add a stop sequence in t613.\n  V4L/DVB (9293): gspca: Separate and fix the sensor dependant sequences in t613.\n  V4L/DVB (9292): gspca: Call the control setting functions at init time in t613.\n  V4L/DVB (9291): gspca: Do not set the white balance temperature by default in t613.\n  V4L/DVB (9290): gspca: Adjust the sensor init sequences in t613.\n  V4L/DVB (9289): gspca: Other sensor identified as om6802 in t613.\n  V4L/DVB (9288): gspca: Write to the USB device and not USB interface in t613.\n  V4L/DVB (9287): gspca: Change the name of the multi bytes write function in t613.\n  V4L/DVB (9286): gspca: Compilation problem of gspca.c and the kernel version.\n  V4L/DVB (9283): Correct typo and enable setting the gain on the mt9m111 sensor\n  V4L/DVB (9282): Properly iterate the urbs when destroying them.\n  V4L/DVB (9281): gspca: Add hflip and vflip to the po1030 sensor\n  V4L/DVB (9280): gspca: Use the gspca debug macros\n  V4L/DVB (9279): gspca: Correct some copyright headers\n  V4L/DVB (9278): gspca: Remove the m5602_debug variable\n  V4L/DVB (9277): gspca: propagate an error in m5602_start_transfer()\n  V4L/DVB (9276): videobuf-dvb: two functions are now static\n  V4L/DVB (9275): dvb: input data pointer of cx24116_writeregN() should be const\n  V4L/DVB (9274): Remove spurious messages and turn into debug.\n  ...\n"
    },
    {
      "commit": "58617d5e59663d2edea03bd03cb74279827611bb",
      "tree": "1b472f0ab43ae08fef5dea30b95592a005385686",
      "parents": [
        "26e9a397774a0e94efbb8a0bf4a952c28d808cab",
        "f287a1a56130be5fdb96a4a62d1290bd064f308e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:08:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:08:11 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Remove automatic enabling of the HUGE_FILE feature flag\n  ext4: Replace hackish ext4_mb_poll_new_transaction with commit callback\n  ext4: Update Documentation/filesystems/ext4.txt\n  ext4: Remove unused mount options: nomballoc, mballoc, nocheck\n  ext4: Remove compile warnings when building w/o CONFIG_PROC_FS\n  ext4: Add missing newlines to printk messages\n  ext4: Fix file fragmentation during large file write.\n  vfs: Add no_nrwrite_index_update writeback control flag\n  vfs: Remove the range_cont writeback mode.\n  ext4: Use tag dirty lookup during mpage_da_submit_io\n  ext4: let the block device know when unused blocks can be discarded\n  ext4: Don\u0027t reuse released data blocks until transaction commits\n  ext4: Use an rbtree for tracking blocks freed during transaction.\n  ext4: Do mballoc init before doing filesystem recovery\n  ext4: Free ext4_prealloc_space using kmem_cache_free\n  ext4: Fix Kconfig typo for ext4dev\n  ext4: Remove an old reference to ext4dev in Makefile comment\n"
    },
    {
      "commit": "802f389a2cc6e2771b8de915ac241456d41eb79e",
      "tree": "96d8f13545e95b61c9dde5d87ba7d036efb6cb75",
      "parents": [
        "fd3f1917e345d852ef9ae36178719f4e639f70ae"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 14 09:37:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:41:14 2008 -0700"
      },
      "message": "USB: remove err() macro from more usb drivers\n\nUSB should not be having it\u0027s own printk macros, so remove err() and\nuse the system-wide standard of dev_err() wherever possible.  In the\nfew places that will not work out, use a basic printk().\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fd3f1917e345d852ef9ae36178719f4e639f70ae",
      "tree": "cecafd0b978ede1735aa7e3eb0e032ccf8b63edc",
      "parents": [
        "69a85942ff2df8e1ee0a3b6afe8b1d85dce58333"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 14 09:37:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:41:13 2008 -0700"
      },
      "message": "USB: remove err() macro from usb misc drivers\n\nUSB should not be having it\u0027s own printk macros, so remove err() and\nuse the system-wide standard of dev_err() wherever possible.  In the\nfew places that will not work out, use a basic printk().\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "69a85942ff2df8e1ee0a3b6afe8b1d85dce58333"
}
