)]}'
{
  "log": [
    {
      "commit": "b9075fa968a0a4347aef35e235e2995c0e57dddd",
      "tree": "cf9f9716784e790d8a43339653256d9cf9178ff3",
      "parents": [
        "ae29bc92da01a2e9d278a9a58c3b307d41cc0254"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Oct 31 17:11:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:54 2011 -0700"
      },
      "message": "treewide: use __printf not __attribute__((format(printf,...)))\n\nStandardize the style for compiler based printf format verification.\nStandardized the location of __printf too.\n\nDone via script and a little typing.\n\n$ grep -rPl --include\u003d*.[ch] -w \"__attribute__\" * | \\\n  grep -vP \"^(tools|scripts|include/linux/compiler-gcc.h)\" | \\\n  xargs perl -n -i -e \u0027local $/; while (\u003c\u003e) { s/\\b__attribute__\\s*\\(\\s*\\(\\s*format\\s*\\(\\s*printf\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*\\)\\s*\\)\\s*\\)/__printf($1, $2)/g ; print; }\u0027\n\n[akpm@linux-foundation.org: revert arch bits]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec400c9fab99d16a491cea17d27d0c6a5780b97c",
      "tree": "38516e6244d3ec0b68e52a5679f0b4b9517d71db",
      "parents": [
        "895c156c044a736d8dc2239020f4530bb6245675"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Oct 31 17:11:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:52 2011 -0700"
      },
      "message": "lis3lv02d: make regulator API usage unconditional\n\nThe regulator API contains a range of features for stubbing itself out\nwhen not in use and for transparently restricting the actual effect of\nregulator API calls where they can\u0027t be supported on a particular system\nso that drivers don\u0027t need to individually implement this.  Simplify the\ndriver slightly by making use of this idiom.\n\nThe only in tree user is ecovec24 which does not use the regulator API.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Éric Piel \u003ceric.piel@tremplin-utc.net\u003e\nCc: Ilkka Koskinen \u003cilkka.koskinen@nokia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d43a87e68e9e71d2987a29cc239acec4e8f410c9",
      "tree": "75b2950b286dcad4c4e7785f991ab0a35146b8d1",
      "parents": [
        "dd73e85f6d8f721d66bcbd2734a5f4bc3d3cd768"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Mon Oct 31 17:09:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:49 2011 -0700"
      },
      "message": "mm: compaction: make compact_zone_order() static\n\nThere\u0027s no compact_zone_order() user outside file scope, so make it static.\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-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": "09f363c7363eb10cfb4b82094bd7064e5608258b",
      "tree": "4b1890150cf7f7a2339694ea97efa6c45b8705a1",
      "parents": [
        "20c8c62891a346e09c8d26de41ce78bd7a76c5b0"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Oct 31 17:08:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:49 2011 -0700"
      },
      "message": "vmscan: fix shrinker callback bug in fs/super.c\n\nThe callback must not return -1 when nr_to_scan is zero. Fix the bug in\nfs/super.c and add this requirement to the callback specification.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ee9a4f086716d792219c021e8509f91165a4128",
      "tree": "f85162b8e024624f07909eaba4e85b89df924ebb",
      "parents": [
        "06d5e032adcbc7d50c606a1396f00e2474e4213e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Oct 31 17:08:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:48 2011 -0700"
      },
      "message": "mm: neaten warn_alloc_failed\n\nAdd __attribute__((format (printf...) to the function to validate format\nand arguments.  Use vsprintf extension %pV to avoid any possible message\ninterleaving.  Coalesce format string.  Convert printks/pr_warning to\npr_warn.\n\n[akpm@linux-foundation.org: use the __printf() macro]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37a1c49a91ad55f917a399ef2174b5ebda4283f9",
      "tree": "d272ab0f51016181493c6792f0cf229a87da9ae3",
      "parents": [
        "7b6efc2bc4f19952b25ebf9b236e5ac43cd386c2"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Mon Oct 31 17:08:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:48 2011 -0700"
      },
      "message": "thp: mremap support and TLB optimization\n\nThis adds THP support to mremap (decreases the number of split_huge_page()\ncalls).\n\nHere are also some benchmarks with a proggy like this:\n\n\u003d\u003d\u003d\n#define _GNU_SOURCE\n#include \u003csys/mman.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstring.h\u003e\n#include \u003csys/time.h\u003e\n\n#define SIZE (5UL*1024*1024*1024)\n\nint main()\n{\n        static struct timeval oldstamp, newstamp;\n\tlong diffsec;\n\tchar *p, *p2, *p3, *p4;\n\tif (posix_memalign((void **)\u0026p, 2*1024*1024, SIZE))\n\t\tperror(\"memalign\"), exit(1);\n\tif (posix_memalign((void **)\u0026p2, 2*1024*1024, SIZE))\n\t\tperror(\"memalign\"), exit(1);\n\tif (posix_memalign((void **)\u0026p3, 2*1024*1024, 4096))\n\t\tperror(\"memalign\"), exit(1);\n\n\tmemset(p, 0xff, SIZE);\n\tmemset(p2, 0xff, SIZE);\n\tmemset(p3, 0x77, 4096);\n\tgettimeofday(\u0026oldstamp, NULL);\n\tp4 \u003d mremap(p, SIZE, SIZE, MREMAP_FIXED|MREMAP_MAYMOVE, p3);\n\tgettimeofday(\u0026newstamp, NULL);\n\tdiffsec \u003d newstamp.tv_sec - oldstamp.tv_sec;\n\tdiffsec \u003d newstamp.tv_usec - oldstamp.tv_usec + 1000000 * diffsec;\n\tprintf(\"usec %ld\\n\", diffsec);\n\tif (p \u003d\u003d MAP_FAILED || p4 !\u003d p3)\n\t//if (p \u003d\u003d MAP_FAILED)\n\t\tperror(\"mremap\"), exit(1);\n\tif (memcmp(p4, p2, SIZE))\n\t\tprintf(\"mremap bug\\n\"), exit(1);\n\tprintf(\"ok\\n\");\n\n\treturn 0;\n}\n\u003d\u003d\u003d\n\nTHP on\n\n Performance counter stats for \u0027./largepage13\u0027 (3 runs):\n\n          69195836 dTLB-loads                 ( +-   3.546% )  (scaled from 50.30%)\n             60708 dTLB-load-misses           ( +-  11.776% )  (scaled from 52.62%)\n         676266476 dTLB-stores                ( +-   5.654% )  (scaled from 69.54%)\n             29856 dTLB-store-misses          ( +-   4.081% )  (scaled from 89.22%)\n        1055848782 iTLB-loads                 ( +-   4.526% )  (scaled from 80.18%)\n              8689 iTLB-load-misses           ( +-   2.987% )  (scaled from 58.20%)\n\n        7.314454164  seconds time elapsed   ( +-   0.023% )\n\nTHP off\n\n Performance counter stats for \u0027./largepage13\u0027 (3 runs):\n\n        1967379311 dTLB-loads                 ( +-   0.506% )  (scaled from 60.59%)\n           9238687 dTLB-load-misses           ( +-  22.547% )  (scaled from 61.87%)\n        2014239444 dTLB-stores                ( +-   0.692% )  (scaled from 60.40%)\n           3312335 dTLB-store-misses          ( +-   7.304% )  (scaled from 67.60%)\n        6764372065 iTLB-loads                 ( +-   0.925% )  (scaled from 79.00%)\n              8202 iTLB-load-misses           ( +-   0.475% )  (scaled from 70.55%)\n\n        9.693655243  seconds time elapsed   ( +-   0.069% )\n\ngrep thp /proc/vmstat\nthp_fault_alloc 35849\nthp_fault_fallback 0\nthp_collapse_alloc 3\nthp_collapse_alloc_failed 0\nthp_split 0\n\nthp_split 0 confirms no thp split despite plenty of hugepages allocated.\n\nThe measurement of only the mremap time (so excluding the 3 long\nmemset and final long 10GB memory accessing memcmp):\n\nTHP on\n\nusec 14824\nusec 14862\nusec 14859\n\nTHP off\n\nusec 256416\nusec 255981\nusec 255847\n\nWith an older kernel without the mremap optimizations (the below patch\noptimizes the non THP version too).\n\nTHP on\n\nusec 392107\nusec 390237\nusec 404124\n\nTHP off\n\nusec 444294\nusec 445237\nusec 445820\n\nI guess with a threaded program that sends more IPI on large SMP it\u0027d\ncreate an even larger difference.\n\nAll debug options are off except DEBUG_VM to avoid skewing the\nresults.\n\nThe only problem for native 2M mremap like it happens above both the\nsource and destination address must be 2M aligned or the hugepmd can\u0027t be\nmoved without a split but that is an hardware limitation.\n\n[akpm@linux-foundation.org: coding-style nitpicking]\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a93ebef698b08ed04af0d7d913bab8aedfdc253",
      "tree": "dcdb4bba9355647dd060d9150422537ad126442a",
      "parents": [
        "f5252e009d5b87071a919221e4f6624184005368"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Oct 31 17:08:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:47 2011 -0700"
      },
      "message": "memblock: add memblock_start_of_DRAM()\n\nSPARC32 require access to the start address.  Add a new helper\nmemblock_start_of_DRAM() to give access to the address of the first\nmemblock - which contains the lowest address.\n\nThe awkward name was chosen to match the already present\nmemblock_end_of_DRAM().\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5252e009d5b87071a919221e4f6624184005368",
      "tree": "4be380e99c468dcb10597c445eb6b801897eafea",
      "parents": [
        "8c5fb8eadde41f67c61a7ac2d3246dab87bf7020"
      ],
      "author": {
        "name": "Mitsuo Hayasaka",
        "email": "mitsuo.hayasaka.hu@hitachi.com",
        "time": "Mon Oct 31 17:08:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:47 2011 -0700"
      },
      "message": "mm: avoid null pointer access in vm_struct via /proc/vmallocinfo\n\nThe /proc/vmallocinfo shows information about vmalloc allocations in\nvmlist that is a linklist of vm_struct.  It, however, may access pages\nfield of vm_struct where a page was not allocated.  This results in a null\npointer access and leads to a kernel panic.\n\nWhy this happens: In __vmalloc_node_range() called from vmalloc(), newly\nallocated vm_struct is added to vmlist at __get_vm_area_node() and then,\nsome fields of vm_struct such as nr_pages and pages are set at\n__vmalloc_area_node().  In other words, it is added to vmlist before it is\nfully initialized.  At the same time, when the /proc/vmallocinfo is read,\nit accesses the pages field of vm_struct according to the nr_pages field\nat show_numa_info().  Thus, a null pointer access happens.\n\nThe patch adds the newly allocated vm_struct to the vmlist *after* it is\nfully initialized.  So, it can avoid accessing the pages field with\nunallocated page when show_numa_info() is called.\n\nSigned-off-by: Mitsuo Hayasaka \u003cmitsuo.hayasaka.hu@hitachi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: \u003cstable@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": "798248206b59acc6e1238c778281419c041891a7",
      "tree": "ff8564431367b442b18bca4a0a9732e5799e2391",
      "parents": [
        "77311139f364d7f71fc9ba88f59fd90e60205007"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Oct 31 17:08:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:47 2011 -0700"
      },
      "message": "lib/string.c: introduce memchr_inv()\n\nmemchr_inv() is mainly used to check whether the whole buffer is filled\nwith just a specified byte.\n\nThe function name and prototype are stolen from logfs and the\nimplementation is from SLUB.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@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": "49ea7eb65e7c5060807fb9312b1ad4c3eab82e2c",
      "tree": "88eaa206cdcac1190817820a0eb56bca2585f9ea",
      "parents": [
        "92df3a723f84cdf8133560bbff950a7a99e92bc9"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Mon Oct 31 17:07:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:47 2011 -0700"
      },
      "message": "mm: vmscan: immediately reclaim end-of-LRU dirty pages when writeback completes\n\nWhen direct reclaim encounters a dirty page, it gets recycled around the\nLRU for another cycle.  This patch marks the page PageReclaim similar to\ndeactivate_page() so that the page gets reclaimed almost immediately after\nthe page gets cleaned.  This is to avoid reclaiming clean pages that are\nyounger than a dirty page encountered at the end of the LRU that might\nhave been something like a use-once page.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee72886d8ed5d9de3fa0ed3b99a7ca7702576a96",
      "tree": "d9596005d3ea38541c5dfe1c2a0b7d5a4d73488f",
      "parents": [
        "e10d59f2c3decaf22cc5d3de7040eba202bc2df3"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Oct 31 17:07:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: vmscan: do not writeback filesystem pages in direct reclaim\n\nTesting from the XFS folk revealed that there is still too much I/O from\nthe end of the LRU in kswapd.  Previously it was considered acceptable by\nVM people for a small number of pages to be written back from reclaim with\ntesting generally showing about 0.3% of pages reclaimed were written back\n(higher if memory was low).  That writing back a small number of pages is\nok has been heavily disputed for quite some time and Dave Chinner\nexplained it well;\n\n\tIt doesn\u0027t have to be a very high number to be a problem. IO\n\tis orders of magnitude slower than the CPU time it takes to\n\tflush a page, so the cost of making a bad flush decision is\n\tvery high. And single page writeback from the LRU is almost\n\talways a bad flush decision.\n\nTo complicate matters, filesystems respond very differently to requests\nfrom reclaim according to Christoph Hellwig;\n\n\txfs tries to write it back if the requester is kswapd\n\text4 ignores the request if it\u0027s a delayed allocation\n\tbtrfs ignores the request\n\nAs a result, each filesystem has different performance characteristics\nwhen under memory pressure and there are many pages being dirtied.  In\nsome cases, the request is ignored entirely so the VM cannot depend on the\nIO being dispatched.\n\nThe objective of this series is to reduce writing of filesystem-backed\npages from reclaim, play nicely with writeback that is already in progress\nand throttle reclaim appropriately when writeback pages are encountered.\nThe assumption is that the flushers will always write pages faster than if\nreclaim issues the IO.\n\nA secondary goal is to avoid the problem whereby direct reclaim splices\ntwo potentially deep call stacks together.\n\nThere is a potential new problem as reclaim has less control over how long\nbefore a page in a particularly zone or container is cleaned and direct\nreclaimers depend on kswapd or flusher threads to do the necessary work.\nHowever, as filesystems sometimes ignore direct reclaim requests already,\nit is not expected to be a serious issue.\n\nPatch 1 disables writeback of filesystem pages from direct reclaim\n\tentirely. Anonymous pages are still written.\n\nPatch 2 removes dead code in lumpy reclaim as it is no longer able\n\tto synchronously write pages. This hurts lumpy reclaim but\n\tthere is an expectation that compaction is used for hugepage\n\tallocations these days and lumpy reclaim\u0027s days are numbered.\n\nPatches 3-4 add warnings to XFS and ext4 if called from\n\tdirect reclaim. With patch 1, this \"never happens\" and is\n\tintended to catch regressions in this logic in the future.\n\nPatch 5 disables writeback of filesystem pages from kswapd unless\n\tthe priority is raised to the point where kswapd is considered\n\tto be in trouble.\n\nPatch 6 throttles reclaimers if too many dirty pages are being\n\tencountered and the zones or backing devices are congested.\n\nPatch 7 invalidates dirty pages found at the end of the LRU so they\n\tare reclaimed quickly after being written back rather than\n\twaiting for a reclaimer to find them\n\nI consider this series to be orthogonal to the writeback work but it is\nworth noting that the writeback work affects the viability of patch 8 in\nparticular.\n\nI tested this on ext4 and xfs using fs_mark, a simple writeback test based\non dd and a micro benchmark that does a streaming write to a large mapping\n(exercises use-once LRU logic) followed by streaming writes to a mix of\nanonymous and file-backed mappings.  The command line for fs_mark when\nbotted with 512M looked something like\n\n./fs_mark -d  /tmp/fsmark-2676  -D  100  -N  150  -n  150  -L  25  -t  1  -S0  -s  10485760\n\nThe number of files was adjusted depending on the amount of available\nmemory so that the files created was about 3xRAM.  For multiple threads,\nthe -d switch is specified multiple times.\n\nThe test machine is x86-64 with an older generation of AMD processor with\n4 cores.  The underlying storage was 4 disks configured as RAID-0 as this\nwas the best configuration of storage I had available.  Swap is on a\nseparate disk.  Dirty ratio was tuned to 40% instead of the default of\n20%.\n\nTesting was run with and without monitors to both verify that the patches\nwere operating as expected and that any performance gain was real and not\ndue to interference from monitors.\n\nHere is a summary of results based on testing XFS.\n\n512M1P-xfs           Files/s  mean                 32.69 ( 0.00%)     34.44 ( 5.08%)\n512M1P-xfs           Elapsed Time fsmark                    51.41     48.29\n512M1P-xfs           Elapsed Time simple-wb                114.09    108.61\n512M1P-xfs           Elapsed Time mmap-strm                113.46    109.34\n512M1P-xfs           Kswapd efficiency fsmark                 62%       63%\n512M1P-xfs           Kswapd efficiency simple-wb              56%       61%\n512M1P-xfs           Kswapd efficiency mmap-strm              44%       42%\n512M-xfs             Files/s  mean                 30.78 ( 0.00%)     35.94 (14.36%)\n512M-xfs             Elapsed Time fsmark                    56.08     48.90\n512M-xfs             Elapsed Time simple-wb                112.22     98.13\n512M-xfs             Elapsed Time mmap-strm                219.15    196.67\n512M-xfs             Kswapd efficiency fsmark                 54%       56%\n512M-xfs             Kswapd efficiency simple-wb              54%       55%\n512M-xfs             Kswapd efficiency mmap-strm              45%       44%\n512M-4X-xfs          Files/s  mean                 30.31 ( 0.00%)     33.33 ( 9.06%)\n512M-4X-xfs          Elapsed Time fsmark                    63.26     55.88\n512M-4X-xfs          Elapsed Time simple-wb                100.90     90.25\n512M-4X-xfs          Elapsed Time mmap-strm                261.73    255.38\n512M-4X-xfs          Kswapd efficiency fsmark                 49%       50%\n512M-4X-xfs          Kswapd efficiency simple-wb              54%       56%\n512M-4X-xfs          Kswapd efficiency mmap-strm              37%       36%\n512M-16X-xfs         Files/s  mean                 60.89 ( 0.00%)     65.22 ( 6.64%)\n512M-16X-xfs         Elapsed Time fsmark                    67.47     58.25\n512M-16X-xfs         Elapsed Time simple-wb                103.22     90.89\n512M-16X-xfs         Elapsed Time mmap-strm                237.09    198.82\n512M-16X-xfs         Kswapd efficiency fsmark                 45%       46%\n512M-16X-xfs         Kswapd efficiency simple-wb              53%       55%\n512M-16X-xfs         Kswapd efficiency mmap-strm              33%       33%\n\nUp until 512-4X, the FSmark improvements were statistically significant.\nFor the 4X and 16X tests the results were within standard deviations but\njust barely.  The time to completion for all tests is improved which is an\nimportant result.  In general, kswapd efficiency is not affected by\nskipping dirty pages.\n\n1024M1P-xfs          Files/s  mean                 39.09 ( 0.00%)     41.15 ( 5.01%)\n1024M1P-xfs          Elapsed Time fsmark                    84.14     80.41\n1024M1P-xfs          Elapsed Time simple-wb                210.77    184.78\n1024M1P-xfs          Elapsed Time mmap-strm                162.00    160.34\n1024M1P-xfs          Kswapd efficiency fsmark                 69%       75%\n1024M1P-xfs          Kswapd efficiency simple-wb              71%       77%\n1024M1P-xfs          Kswapd efficiency mmap-strm              43%       44%\n1024M-xfs            Files/s  mean                 35.45 ( 0.00%)     37.00 ( 4.19%)\n1024M-xfs            Elapsed Time fsmark                    94.59     91.00\n1024M-xfs            Elapsed Time simple-wb                229.84    195.08\n1024M-xfs            Elapsed Time mmap-strm                405.38    440.29\n1024M-xfs            Kswapd efficiency fsmark                 79%       71%\n1024M-xfs            Kswapd efficiency simple-wb              74%       74%\n1024M-xfs            Kswapd efficiency mmap-strm              39%       42%\n1024M-4X-xfs         Files/s  mean                 32.63 ( 0.00%)     35.05 ( 6.90%)\n1024M-4X-xfs         Elapsed Time fsmark                   103.33     97.74\n1024M-4X-xfs         Elapsed Time simple-wb                204.48    178.57\n1024M-4X-xfs         Elapsed Time mmap-strm                528.38    511.88\n1024M-4X-xfs         Kswapd efficiency fsmark                 81%       70%\n1024M-4X-xfs         Kswapd efficiency simple-wb              73%       72%\n1024M-4X-xfs         Kswapd efficiency mmap-strm              39%       38%\n1024M-16X-xfs        Files/s  mean                 42.65 ( 0.00%)     42.97 ( 0.74%)\n1024M-16X-xfs        Elapsed Time fsmark                   103.11     99.11\n1024M-16X-xfs        Elapsed Time simple-wb                200.83    178.24\n1024M-16X-xfs        Elapsed Time mmap-strm                397.35    459.82\n1024M-16X-xfs        Kswapd efficiency fsmark                 84%       69%\n1024M-16X-xfs        Kswapd efficiency simple-wb              74%       73%\n1024M-16X-xfs        Kswapd efficiency mmap-strm              39%       40%\n\nAll FSMark tests up to 16X had statistically significant improvements.\nFor the most part, tests are completing faster with the exception of the\nstreaming writes to a mixture of anonymous and file-backed mappings which\nwere slower in two cases\n\nIn the cases where the mmap-strm tests were slower, there was more\nswapping due to dirty pages being skipped.  The number of additional pages\nswapped is almost identical to the fewer number of pages written from\nreclaim.  In other words, roughly the same number of pages were reclaimed\nbut swapping was slower.  As the test is a bit unrealistic and stresses\nmemory heavily, the small shift is acceptable.\n\n4608M1P-xfs          Files/s  mean                 29.75 ( 0.00%)     30.96 ( 3.91%)\n4608M1P-xfs          Elapsed Time fsmark                   512.01    492.15\n4608M1P-xfs          Elapsed Time simple-wb                618.18    566.24\n4608M1P-xfs          Elapsed Time mmap-strm                488.05    465.07\n4608M1P-xfs          Kswapd efficiency fsmark                 93%       86%\n4608M1P-xfs          Kswapd efficiency simple-wb              88%       84%\n4608M1P-xfs          Kswapd efficiency mmap-strm              46%       45%\n4608M-xfs            Files/s  mean                 27.60 ( 0.00%)     28.85 ( 4.33%)\n4608M-xfs            Elapsed Time fsmark                   555.96    532.34\n4608M-xfs            Elapsed Time simple-wb                659.72    571.85\n4608M-xfs            Elapsed Time mmap-strm               1082.57   1146.38\n4608M-xfs            Kswapd efficiency fsmark                 89%       91%\n4608M-xfs            Kswapd efficiency simple-wb              88%       82%\n4608M-xfs            Kswapd efficiency mmap-strm              48%       46%\n4608M-4X-xfs         Files/s  mean                 26.00 ( 0.00%)     27.47 ( 5.35%)\n4608M-4X-xfs         Elapsed Time fsmark                   592.91    564.00\n4608M-4X-xfs         Elapsed Time simple-wb                616.65    575.07\n4608M-4X-xfs         Elapsed Time mmap-strm               1773.02   1631.53\n4608M-4X-xfs         Kswapd efficiency fsmark                 90%       94%\n4608M-4X-xfs         Kswapd efficiency simple-wb              87%       82%\n4608M-4X-xfs         Kswapd efficiency mmap-strm              43%       43%\n4608M-16X-xfs        Files/s  mean                 26.07 ( 0.00%)     26.42 ( 1.32%)\n4608M-16X-xfs        Elapsed Time fsmark                   602.69    585.78\n4608M-16X-xfs        Elapsed Time simple-wb                606.60    573.81\n4608M-16X-xfs        Elapsed Time mmap-strm               1549.75   1441.86\n4608M-16X-xfs        Kswapd efficiency fsmark                 98%       98%\n4608M-16X-xfs        Kswapd efficiency simple-wb              88%       82%\n4608M-16X-xfs        Kswapd efficiency mmap-strm              44%       42%\n\nUnlike the other tests, the fsmark results are not statistically\nsignificant but the min and max times are both improved and for the most\npart, tests completed faster.\n\nThere are other indications that this is an improvement as well.  For\nexample, in the vast majority of cases, there were fewer pages scanned by\ndirect reclaim implying in many cases that stalls due to direct reclaim\nare reduced.  KSwapd is scanning more due to skipping dirty pages which is\nunfortunate but the CPU usage is still acceptable\n\nIn an earlier set of tests, I used blktrace and in almost all cases\nthroughput throughout the entire test was higher.  However, I ended up\ndiscarding those results as recording blktrace data was too heavy for my\nliking.\n\nOn a laptop, I plugged in a USB stick and ran a similar tests of tests\nusing it as backing storage.  A desktop environment was running and for\nthe entire duration of the tests, firefox and gnome terminal were\nlaunching and exiting to vaguely simulate a user.\n\n1024M-xfs            Files/s  mean               0.41 ( 0.00%)        0.44 ( 6.82%)\n1024M-xfs            Elapsed Time fsmark               2053.52   1641.03\n1024M-xfs            Elapsed Time simple-wb            1229.53    768.05\n1024M-xfs            Elapsed Time mmap-strm            4126.44   4597.03\n1024M-xfs            Kswapd efficiency fsmark              84%       85%\n1024M-xfs            Kswapd efficiency simple-wb           92%       81%\n1024M-xfs            Kswapd efficiency mmap-strm           60%       51%\n1024M-xfs            Avg wait ms fsmark                5404.53     4473.87\n1024M-xfs            Avg wait ms simple-wb             2541.35     1453.54\n1024M-xfs            Avg wait ms mmap-strm             3400.25     3852.53\n\nThe mmap-strm results were hurt because firefox launching had a tendency\nto push the test out of memory.  On the postive side, firefox launched\nmarginally faster with the patches applied.  Time to completion for many\ntests was faster but more importantly - the \"Avg wait\" time as measured by\niostat was far lower implying the system would be more responsive.  It was\nalso the case that \"Avg wait ms\" on the root filesystem was lower.  I\ntested it manually and while the system felt slightly more responsive\nwhile copying data to a USB stick, it was marginal enough that it could be\nmy imagination.\n\nThis patch: do not writeback filesystem pages in direct reclaim.\n\nWhen kswapd is failing to keep zones above the min watermark, a process\nwill enter direct reclaim in the same manner kswapd does.  If a dirty page\nis encountered during the scan, this page is written to backing storage\nusing mapping-\u003ewritepage.\n\nThis causes two problems.  First, it can result in very deep call stacks,\nparticularly if the target storage or filesystem are complex.  Some\nfilesystems ignore write requests from direct reclaim as a result.  The\nsecond is that a single-page flush is inefficient in terms of IO.  While\nthere is an expectation that the elevator will merge requests, this does\nnot always happen.  Quoting Christoph Hellwig;\n\n\tThe elevator has a relatively small window it can operate on,\n\tand can never fix up a bad large scale writeback pattern.\n\nThis patch prevents direct reclaim writing back filesystem pages by\nchecking if current is kswapd.  Anonymous pages are still written to swap\nas there is not the equivalent of a flusher thread for anonymous pages.\nIf the dirty pages cannot be written back, they are placed back on the LRU\nlists.  There is now a direct dependency on dirty page balancing to\nprevent too many pages in the system being dirtied which would prevent\nreclaim making forward progress.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e10d59f2c3decaf22cc5d3de7040eba202bc2df3",
      "tree": "68a25b573ddd1701d6a50f22b26287eca8e5c1ea",
      "parents": [
        "bc3e53f682d93df677dbd5006a404722b3adfe18"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Oct 31 17:07:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: add comments to explain mm_struct fields\n\nAdd comments to explain the page statistics field in the mm_struct.\n\n[akpm@linux-foundation.org: add missing ;]\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc3e53f682d93df677dbd5006a404722b3adfe18",
      "tree": "f386c29f13626e2b7d98d5a52525a78a9b59e447",
      "parents": [
        "f11c0ca501af89fc07b0d9f17531ba3b68a4ef39"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Oct 31 17:07:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: distinguish between mlocked and pinned pages\n\nSome kernel components pin user space memory (infiniband and perf) (by\nincreasing the page count) and account that memory as \"mlocked\".\n\nThe difference between mlocking and pinning is:\n\nA. mlocked pages are marked with PG_mlocked and are exempt from\n   swapping. Page migration may move them around though.\n   They are kept on a special LRU list.\n\nB. Pinned pages cannot be moved because something needs to\n   directly access physical memory. They may not be on any\n   LRU list.\n\nI recently saw an mlockalled process where mm-\u003elocked_vm became\nbigger than the virtual size of the process (!) because some\nmemory was accounted for twice:\n\nOnce when the page was mlocked and once when the Infiniband\nlayer increased the refcount because it needt to pin the RDMA\nmemory.\n\nThis patch introduces a separate counter for pinned pages and\naccounts them seperately.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Mike Marciniszyn \u003cinfinipath@qlogic.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43362a4977e37db46f86f7e6ab935f0006956632",
      "tree": "5ab7070237ebd3f40d7fcfc0066586422da8310a",
      "parents": [
        "c9f01245b6a7d77d17deaa71af10f6aca14fa24e"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Oct 31 17:07:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:45 2011 -0700"
      },
      "message": "oom: fix race while temporarily setting current\u0027s oom_score_adj\n\ntest_set_oom_score_adj() was introduced in 72788c385604 (\"oom: replace\nPF_OOM_ORIGIN with toggling oom_score_adj\") to temporarily elevate\ncurrent\u0027s oom_score_adj for ksm and swapoff without requiring an\nadditional per-process flag.\n\nUsing that function to both set oom_score_adj to OOM_SCORE_ADJ_MAX and\nthen reinstate the previous value is racy since it\u0027s possible that\nuserspace can set the value to something else itself before the old value\nis reinstated.  That results in userspace setting current\u0027s oom_score_adj\nto a different value and then the kernel immediately setting it back to\nits previous value without notification.\n\nTo fix this, a new compare_swap_oom_score_adj() function is introduced\nwith the same semantics as the compare and swap CAS instruction, or\nCMPXCHG on x86.  It is used to reinstate the previous value of\noom_score_adj if and only if the present value is the same as the old\nvalue.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ying Han \u003cyinghan@google.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": "c9f01245b6a7d77d17deaa71af10f6aca14fa24e",
      "tree": "13ffde591a5bcefba39cb6393f09b27f1ebc1a30",
      "parents": [
        "7b0d44fa49b1dcfdcf4897f12ddd12ddeab1a9d7"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Oct 31 17:07:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:45 2011 -0700"
      },
      "message": "oom: remove oom_disable_count\n\nThis removes mm-\u003eoom_disable_count entirely since it\u0027s unnecessary and\ncurrently buggy.  The counter was intended to be per-process but it\u0027s\ncurrently decremented in the exit path for each thread that exits, causing\nit to underflow.\n\nThe count was originally intended to prevent oom killing threads that\nshare memory with threads that cannot be killed since it doesn\u0027t lead to\nfuture memory freeing.  The counter could be fixed to represent all\nthreads sharing the same mm, but it\u0027s better to remove the count since:\n\n - it is possible that the OOM_DISABLE thread sharing memory with the\n   victim is waiting on that thread to exit and will actually cause\n   future memory freeing, and\n\n - there is no guarantee that a thread is disabled from oom killing just\n   because another thread sharing its mm is oom disabled.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ying Han \u003cyinghan@google.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": "f80c0673610e36ae29d63e3297175e22f70dde5f",
      "tree": "0a6aab3b637fa75961224e9261eb544156672c34",
      "parents": [
        "39deaf8585152f1a35c1676d3d7dc6ae0fb65967"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon Oct 31 17:06:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:44 2011 -0700"
      },
      "message": "mm: zone_reclaim: make isolate_lru_page() filter-aware\n\nIn __zone_reclaim case, we don\u0027t want to shrink mapped page.  Nonetheless,\nwe have isolated mapped page and re-add it into LRU\u0027s head.  It\u0027s\nunnecessary CPU overhead and makes LRU churning.\n\nOf course, when we isolate the page, the page might be mapped but when we\ntry to migrate the page, the page would be not mapped.  So it could be\nmigrated.  But race is rare and although it happens, it\u0027s no big deal.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39deaf8585152f1a35c1676d3d7dc6ae0fb65967",
      "tree": "a7509ea61c2f1028ed7ef961aa1abd16d50905f9",
      "parents": [
        "4356f21d09283dc6d39a6f7287a65ddab61e2808"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon Oct 31 17:06:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:44 2011 -0700"
      },
      "message": "mm: compaction: make isolate_lru_page() filter-aware\n\nIn async mode, compaction doesn\u0027t migrate dirty or writeback pages.  So,\nit\u0027s meaningless to pick the page and re-add it to lru list.\n\nOf course, when we isolate the page in compaction, the page might be dirty\nor writeback but when we try to migrate the page, the page would be not\ndirty, writeback.  So it could be migrated.  But it\u0027s very unlikely as\nisolate and migration cycle is much faster than writeout.\n\nSo, this patch helps cpu overhead and prevent unnecessary LRU churning.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4356f21d09283dc6d39a6f7287a65ddab61e2808",
      "tree": "34822a1662ea83291455834556a4fb5bf98ecd72",
      "parents": [
        "b9e84ac1536d35aee03b2601f19694949f0bd506"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon Oct 31 17:06:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:44 2011 -0700"
      },
      "message": "mm: change isolate mode from #define to bitwise type\n\nChange ISOLATE_XXX macro with bitwise isolate_mode_t type.  Normally,\nmacro isn\u0027t recommended as it\u0027s type-unsafe and making debugging harder as\nsymbol cannot be passed throught to the debugger.\n\nQuote from Johannes\n\" Hmm, it would probably be cleaner to fully convert the isolation mode\ninto independent flags.  INACTIVE, ACTIVE, BOTH is currently a\ntri-state among flags, which is a bit ugly.\"\n\nThis patch moves isolate mode from swap.h to mmzone.h by memcontrol.h\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fcf634098c00dd9cd247447368495f0b79be12d1",
      "tree": "77fc98cd461bd52ba3b14e833d54a115ffbbd7bc",
      "parents": [
        "32ea845d5bafc37b7406bea1aee3005407cb0900"
      ],
      "author": {
        "name": "Christopher Yeoh",
        "email": "cyeoh@au1.ibm.com",
        "time": "Mon Oct 31 17:06:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:44 2011 -0700"
      },
      "message": "Cross Memory Attach\n\nThe basic idea behind cross memory attach is to allow MPI programs doing\nintra-node communication to do a single copy of the message rather than a\ndouble copy of the message via shared memory.\n\nThe following patch attempts to achieve this by allowing a destination\nprocess, given an address and size from a source process, to copy memory\ndirectly from the source process into its own address space via a system\ncall.  There is also a symmetrical ability to copy from the current\nprocess\u0027s address space into a destination process\u0027s address space.\n\n- Use of /proc/pid/mem has been considered, but there are issues with\n  using it:\n  - Does not allow for specifying iovecs for both src and dest, assuming\n    preadv or pwritev was implemented either the area read from or\n  written to would need to be contiguous.\n  - Currently mem_read allows only processes who are currently\n  ptrace\u0027ing the target and are still able to ptrace the target to read\n  from the target. This check could possibly be moved to the open call,\n  but its not clear exactly what race this restriction is stopping\n  (reason  appears to have been lost)\n  - Having to send the fd of /proc/self/mem via SCM_RIGHTS on unix\n  domain socket is a bit ugly from a userspace point of view,\n  especially when you may have hundreds if not (eventually) thousands\n  of processes  that all need to do this with each other\n  - Doesn\u0027t allow for some future use of the interface we would like to\n  consider adding in the future (see below)\n  - Interestingly reading from /proc/pid/mem currently actually\n  involves two copies! (But this could be fixed pretty easily)\n\nAs mentioned previously use of vmsplice instead was considered, but has\nproblems.  Since you need the reader and writer working co-operatively if\nthe pipe is not drained then you block.  Which requires some wrapping to\ndo non blocking on the send side or polling on the receive.  In all to all\ncommunication it requires ordering otherwise you can deadlock.  And in the\nexample of many MPI tasks writing to one MPI task vmsplice serialises the\ncopying.\n\nThere are some cases of MPI collectives where even a single copy interface\ndoes not get us the performance gain we could.  For example in an\nMPI_Reduce rather than copy the data from the source we would like to\ninstead use it directly in a mathops (say the reduce is doing a sum) as\nthis would save us doing a copy.  We don\u0027t need to keep a copy of the data\nfrom the source.  I haven\u0027t implemented this, but I think this interface\ncould in the future do all this through the use of the flags - eg could\nspecify the math operation and type and the kernel rather than just\ncopying the data would apply the specified operation between the source\nand destination and store it in the destination.\n\nAlthough we don\u0027t have a \"second user\" of the interface (though I\u0027ve had\nsome nibbles from people who may be interested in using it for intra\nprocess messaging which is not MPI).  This interface is something which\nhardware vendors are already doing for their custom drivers to implement\nfast local communication.  And so in addition to this being useful for\nOpenMPI it would mean the driver maintainers don\u0027t have to fix things up\nwhen the mm changes.\n\nThere was some discussion about how much faster a true zero copy would\ngo. Here\u0027s a link back to the email with some testing I did on that:\n\nhttp://marc.info/?l\u003dlinux-mm\u0026m\u003d130105930902915\u0026w\u003d2\n\nThere is a basic man page for the proposed interface here:\n\nhttp://ozlabs.org/~cyeoh/cma/process_vm_readv.txt\n\nThis has been implemented for x86 and powerpc, other architecture should\nmainly (I think) just need to add syscall numbers for the process_vm_readv\nand process_vm_writev. There are 32 bit compatibility versions for\n64-bit kernels.\n\nFor arch maintainers there are some simple tests to be able to quickly\nverify that the syscalls are working correctly here:\n\nhttp://ozlabs.org/~cyeoh/cma/cma-test-20110718.tgz\n\nSigned-off-by: Chris Yeoh \u003cyeohc@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: \u003clinux-man@vger.kernel.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6eea69dd8befeabd3d0f217400f54b157dd91fe9",
      "tree": "c46d983c78874bf993a14dd87022b4b526be1ab6",
      "parents": [
        "07a723097cd31e9c2def69ac4d42834a16f79219"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Oct 31 17:06:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:44 2011 -0700"
      },
      "message": "include/linux/dmar.h: forward-declare struct acpi_dmar_header\n\nx86_64 allnoconfig:\n\nIn file included from arch/x86/kernel/pci-dma.c:3:\ninclude/linux/dmar.h:248: warning: \u0027struct acpi_dmar_header\u0027 declared inside parameter list\ninclude/linux/dmar.h:248: warning: its scope is only this definition or declaration, which is probably not what you want\n\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@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": "1a4ceab195e66bce9c1638fdded6d92988100ba4",
      "tree": "3ec17bd66fb3ac1429131e373cc8d99550d5451a",
      "parents": [
        "83f89ca755c9f783b8229d968c4e9d2c660ca427",
        "6a32e4f9dd9219261f8856f817e6655114cfec2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 15:22:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 15:22:44 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (27 commits)\n  vlan: allow nested vlan_do_receive()\n  ipv6: fix route lookup in addrconf_prefix_rcv()\n  bonding: eliminate bond_close race conditions\n  qlcnic: fix beacon and LED test.\n  qlcnic: Updated License file\n  qlcnic: updated reset sequence\n  qlcnic: reset loopback mode if promiscous mode setting fails.\n  qlcnic: skip IDC ack check in fw reset path.\n  i825xx: Fix incorrect dependency for BVME6000_NET\n  ipv6: fix route error binding peer in func icmp6_dst_alloc\n  ipv6: fix error propagation in ip6_ufo_append_data()\n  stmmac: update normal descriptor structure (v2)\n  stmmac: fix NULL pointer dereference in capabilities fixup (v2)\n  stmmac: fix a bug while checking the HW cap reg (v2)\n  be2net: Changing MAC Address of a VF was broken.\n  be2net: Refactored be_cmds.c file.\n  bnx2x: update driver version to 1.70.30-0\n  bnx2x: use FW 7.0.29.0\n  bnx2x: Enable changing speed when port type is PORT_DA\n  bnx2x: Fix 54618se LED behavior\n  ...\n"
    },
    {
      "commit": "839d8810747bbf39e0a5a7f223b67bffa7945f8d",
      "tree": "c16583342b871107f6805c21da4b1a96cfaa7aac",
      "parents": [
        "0cfdc724390fb9370f27bb9a133eadf69114dd21",
        "06a67848c6681a73e621e47c056490d51a07289f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:54:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:54:59 2011 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c: Functions for byte-swapped smbus_write/read_word_data\n  i2c-algo-pca: Return standard fault codes\n  i2c-algo-bit: Return standard fault codes\n  i2c-algo-bit: Be verbose on bus testing failure\n  i2c-algo-bit: Let user test buses without failing\n  i2c/scx200_acb: Fix section mismatch warning in scx200_pci_drv\n  i2c: I2C_ELEKTOR should depend on HAS_IOPORT\n"
    },
    {
      "commit": "0cfdc724390fb9370f27bb9a133eadf69114dd21",
      "tree": "2abfb0112c46c837c6b42007eadfc389293b7710",
      "parents": [
        "b48aeab65e9fc4b0c9757c5fbc1d722544eb8786",
        "1abb4ba596a91a839f82e0c9c837b777d574e83d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:46:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:46:19 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (33 commits)\n  iommu/core: Remove global iommu_ops and register_iommu\n  iommu/msm: Use bus_set_iommu instead of register_iommu\n  iommu/omap: Use bus_set_iommu instead of register_iommu\n  iommu/vt-d: Use bus_set_iommu instead of register_iommu\n  iommu/amd: Use bus_set_iommu instead of register_iommu\n  iommu/core: Use bus-\u003eiommu_ops in the iommu-api\n  iommu/core: Convert iommu_found to iommu_present\n  iommu/core: Add bus_type parameter to iommu_domain_alloc\n  Driver core: Add iommu_ops to bus_type\n  iommu/core: Define iommu_ops and register_iommu only with CONFIG_IOMMU_API\n  iommu/amd: Fix wrong shift direction\n  iommu/omap: always provide iommu debug code\n  iommu/core: let drivers know if an iommu fault handler isn\u0027t installed\n  iommu/core: export iommu_set_fault_handler()\n  iommu/omap: Fix build error with !IOMMU_SUPPORT\n  iommu/omap: Migrate to the generic fault report mechanism\n  iommu/core: Add fault reporting mechanism\n  iommu/core: Use PAGE_SIZE instead of hard-coded value\n  iommu/core: use the existing IS_ALIGNED macro\n  iommu/msm: -\u003eunmap() should return order of unmapped page\n  ...\n\nFixup trivial conflicts in drivers/iommu/Makefile: \"move omap iommu to\ndedicated iommu folder\" vs \"Rename the DMAR and INTR_REMAP config\noptions\" just happened to touch lines next to each other.\n"
    },
    {
      "commit": "1bc87b00556e8f7ba30a1010471951c5b8f71114",
      "tree": "e73c2d187e2dff0df97ed82e32b45e362b923117",
      "parents": [
        "acff987d94cbdb4049f3706bed1f1792f8ef6837",
        "f1c1da2bde712812a3e0f9a7a7ebe7a916a4b5f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:36:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:36:45 2011 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates/3.2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (75 commits)\n  KVM: SVM: Keep intercepting task switching with NPT enabled\n  KVM: s390: implement sigp external call\n  KVM: s390: fix register setting\n  KVM: s390: fix return value of kvm_arch_init_vm\n  KVM: s390: check cpu_id prior to using it\n  KVM: emulate lapic tsc deadline timer for guest\n  x86: TSC deadline definitions\n  KVM: Fix simultaneous NMIs\n  KVM: x86 emulator: convert push %sreg/pop %sreg to direct decode\n  KVM: x86 emulator: switch lds/les/lss/lfs/lgs to direct decode\n  KVM: x86 emulator: streamline decode of segment registers\n  KVM: x86 emulator: simplify OpMem64 decode\n  KVM: x86 emulator: switch src decode to decode_operand()\n  KVM: x86 emulator: qualify OpReg inhibit_byte_regs hack\n  KVM: x86 emulator: switch OpImmUByte decode to decode_imm()\n  KVM: x86 emulator: free up some flag bits near src, dst\n  KVM: x86 emulator: switch src2 to generic decode_operand()\n  KVM: x86 emulator: expand decode flags to 64 bits\n  KVM: x86 emulator: split dst decode to a generic decode_operand()\n  KVM: x86 emulator: move memop, memopp into emulation context\n  ...\n"
    },
    {
      "commit": "acff987d94cbdb4049f3706bed1f1792f8ef6837",
      "tree": "36bded977aab5d80cf9aeb5467f83dd554a25d01",
      "parents": [
        "ce949717b559709423c1ef716a9db16d1dcadaed",
        "b57287ba497b63a0d87a058631bbddfed9392e9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:30:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:30:01 2011 -0700"
      },
      "message": "Merge branch \u0027fbdev-next\u0027 of git://github.com/schandinat/linux-2.6\n\n* \u0027fbdev-next\u0027 of git://github.com/schandinat/linux-2.6: (270 commits)\n  video: platinumfb: Add __devexit_p at necessary place\n  drivers/video: fsl-diu-fb: merge diu_pool into fsl_diu_data\n  drivers/video: fsl-diu-fb: merge diu_hw into fsl_diu_data\n  drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported\n  drivers/video: fsl-diu-fb: remove unused panel operating mode support\n  drivers/video: fsl-diu-fb: use an enum for the AOI index\n  drivers/video: fsl-diu-fb: add several new video modes\n  drivers/video: fsl-diu-fb: remove broken screen blanking support\n  drivers/video: fsl-diu-fb: move some definitions out of the header file\n  drivers/video: fsl-diu-fb: fix some ioctls\n  video: da8xx-fb: Increased resolution configuration of revised LCDC IP\n  OMAPDSS: picodlp: add missing #include \u003clinux/module.h\u003e\n  fb: fix au1100fb bitrot.\n  mx3fb: fix NULL pointer dereference in screen blanking.\n  video: irq: Remove IRQF_DISABLED\n  smscufx: change edid data to u8 instead of char\n  OMAPDSS: DISPC: zorder support for DSS overlays\n  OMAPDSS: DISPC: VIDEO3 pipeline support\n  OMAPDSS/OMAP_VOUT: Fix incorrect OMAP3-alpha compatibility setting\n  video/omap: fix build dependencies\n  ...\n\nFix up conflicts in:\n - drivers/staging/xgifb/XGI_main_26.c\n\tChanges to XGIfb_pan_var()\n - drivers/video/omap/{lcd_apollon.c,lcd_ldp.c,lcd_overo.c}\n\tRemoved (or in the case of apollon.c, merged into the generic\n\tDSS panel in drivers/video/omap2/displays/panel-generic-dpi.c)\n"
    },
    {
      "commit": "06a67848c6681a73e621e47c056490d51a07289f",
      "tree": "df6e3df869b7b1a1f40f09b9b3a6f8b8a2ad12d6",
      "parents": [
        "4403988afc0a92b8faf59b46f51d25fafaf0e63d"
      ],
      "author": {
        "name": "Jonathan Cameron",
        "email": "jic23@cam.ac.uk",
        "time": "Sun Oct 30 13:47:25 2011 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun Oct 30 13:47:25 2011 +0100"
      },
      "message": "i2c: Functions for byte-swapped smbus_write/read_word_data\n\nReimplemented at least 17 times discounting error mangling cases\nwhere it could be used.\n\nSigned-off-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "7697e71f72b45a1bd0abe70918c383100fcc8514",
      "tree": "afad6ff9dcd00a031de31b9cd34d2ae09484586a",
      "parents": [
        "7eef87dc99e419b1cc051e4417c37e4744d7b661"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Tue Oct 18 12:27:15 2011 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Oct 30 12:24:05 2011 +0200"
      },
      "message": "KVM: s390: implement sigp external call\n\nImplement sigp external call, which might be required for guests that\nissue an external call instead of an emergency signal for IPI.\n\nThis fixes an issue with \"KVM: unknown SIGP: 0x02\" when booting\nsuch an SMP guest.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "6a32e4f9dd9219261f8856f817e6655114cfec2f",
      "tree": "964061ded76a2e5c9e2aa9122a3a88956db109c1",
      "parents": [
        "14ef37b6d00eb5d06704e45989ba4c21e7be7673"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Oct 29 06:13:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 30 04:43:30 2011 -0400"
      },
      "message": "vlan: allow nested vlan_do_receive()\n\ncommit 2425717b27eb (net: allow vlan traffic to be received under bond)\nbroke ARP processing on vlan on top of bonding.\n\n       +-------+\neth0 --| bond0 |---bond0.103\neth1 --|       |\n       +-------+\n\n52870.115435: skb_gro_reset_offset \u003c-napi_gro_receive\n52870.115435: dev_gro_receive \u003c-napi_gro_receive\n52870.115435: napi_skb_finish \u003c-napi_gro_receive\n52870.115435: netif_receive_skb \u003c-napi_skb_finish\n52870.115435: get_rps_cpu \u003c-netif_receive_skb\n52870.115435: __netif_receive_skb \u003c-netif_receive_skb\n52870.115436: vlan_do_receive \u003c-__netif_receive_skb\n52870.115436: bond_handle_frame \u003c-__netif_receive_skb\n52870.115436: vlan_do_receive \u003c-__netif_receive_skb\n52870.115436: arp_rcv \u003c-__netif_receive_skb\n52870.115436: kfree_skb \u003c-arp_rcv\n\nPacket is dropped in arp_rcv() because its pkt_type was set to\nPACKET_OTHERHOST in the first vlan_do_receive() call, since no eth0.103\nexists.\n\nWe really need to change pkt_type only if no more rx_handler is about to\nbe called for the packet.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "249842477c589ea29ff161ace9c8666d96e9883a",
      "tree": "5b041a3a703fe9c5040835b27c4a727009a242db",
      "parents": [
        "18c0635363364ca2fc2d1cbd65bbf918daf89d1a",
        "81397a625d063403d80a25bba00fa1cb6d7e04f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 29 07:29:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 29 07:29:40 2011 -0700"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  ARM: mark empty gpio.h files empty\n  gpio: Fix ARM versatile-express build failure\n  of: include errno.h\n"
    },
    {
      "commit": "18c0635363364ca2fc2d1cbd65bbf918daf89d1a",
      "tree": "6fd1975977b4ab190b77952ee8e263f66e3dc5f7",
      "parents": [
        "41684f67af75b04152a1714e1a5375dfb00ee3da",
        "940ab88962bc1aff3273a8356d64577a6e386736"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 29 07:28:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 29 07:28:36 2011 -0700"
      },
      "message": "Merge branch \u0027spi/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027spi/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  drivercore: Add helper macro for platform_driver boilerplate\n  spi: irq: Remove IRQF_DISABLED\n  OMAP: SPI: Fix the trying to free nonexistent resource error\n  spi/spi-ep93xx: add module.h include\n  spi/tegra: fix compilation error in spi-tegra.c\n  spi: spi-dw: fix all sparse warnings\n  spi/spi-pl022: Call pl022_dma_remove(pl022) only if enable_dma is true\n  spi/spi-pl022: calculate_effective_freq() must set rate \u003c\u003d requested rate\n  spi/spi-pl022: Don\u0027t allocate more sg than required.\n  spi/spi-pl022: Use GFP_ATOMIC for allocation from tasklet\n  spi/spi-pl022: Resolve formatting issues\n"
    },
    {
      "commit": "41684f67af75b04152a1714e1a5375dfb00ee3da",
      "tree": "3b0f51dd8103a4fd40ebb6cefeece7579e348cde",
      "parents": [
        "ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954",
        "d92ef29a6fa971d9e314e412cd9c09757906411a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 29 07:27:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 29 07:27:45 2011 -0700"
      },
      "message": "Merge branch \u0027gpio/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027gpio/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  h8300: Move gpio.h to gpio-internal.h\n  gpio: pl061: add DT binding support\n  gpio: fix build error in include/asm-generic/gpio.h\n  gpiolib: Ensure struct gpio is always defined\n  irq: Add EXPORT_SYMBOL_GPL to function of irq generic-chip\n  gpio-ml-ioh: Use NUMA_NO_NODE not GFP_KERNEL\n  gpio-pch: Use NUMA_NO_NODE not GFP_KERNEL\n  gpio: langwell: ensure alternate function is cleared\n  gpio-pch: Support interrupt function\n  gpio-pch: Save register value in suspend()\n  gpio-pch: modify gpio_nums and mask\n  gpio-pch: support ML7223 IOH n-Bus\n  gpio-pch: add spinlock in suspend/resume processing\n  gpio-pch: Delete invalid \"restore\" code in suspend()\n  gpio-ml-ioh: Fix suspend/resume issue\n  gpio-ml-ioh: Support interrupt function\n  gpio-ml-ioh: Delete unnecessary code\n  gpio/mxc: add chained_irq_enter/exit() to mx3_gpio_irq_handler()\n  gpio/nomadik: use genirq core to track enablement\n  gpio/nomadik: disable clocks when unused\n"
    },
    {
      "commit": "e51130c0f5e5ca2f5b669ca6759e0ae1aa197b63",
      "tree": "f2160b4248909def62b33c24f1d1c1863781a9ce",
      "parents": [
        "ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kvalo@qca.qualcomm.com",
        "time": "Thu Oct 06 15:40:44 2011 +0300"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Oct 29 12:49:40 2011 +0200"
      },
      "message": "of: include errno.h\n\nWhen compiling ath6kl for beagleboard (omap2plus_defconfig plus\nCONFIG_ATH6KL, CONFIG_OF disable) with current linux-next compilation\nfails:\n\ninclude/linux/of.h:269: error: \u0027ENOSYS\u0027 undeclared (first use in this function)\ninclude/linux/of.h:276: error: \u0027ENOSYS\u0027 undeclared (first use in this function)\ninclude/linux/of.h:289: error: \u0027ENOSYS\u0027 undeclared (first use in this function)\n\nFix this by including errno.h from of.h.\n\nSigned-off-by: Kalle Valo \u003ckvalo@qca.qualcomm.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954",
      "tree": "e6b0c64a51a7c0aa0efd09d4f7a80872e3b1657a",
      "parents": [
        "97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d",
        "590134fa78fbdbe5fea78c7ae0b2c3364bc9572f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)\n  [SCSI] qla4xxx: export address/port of connection (fix udev disk names)\n  [SCSI] ipr: Fix BUG on adapter dump timeout\n  [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer\n  [SCSI] hpsa: change confusing message to be more clear\n  [SCSI] iscsi class: fix vlan configuration\n  [SCSI] qla4xxx: fix data alignment and use nl helpers\n  [SCSI] iscsi class: fix link local mispelling\n  [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA\n  [SCSI] aacraid: use lower snprintf() limit\n  [SCSI] lpfc 8.3.27: Change driver version to 8.3.27\n  [SCSI] lpfc 8.3.27: T10 additions for SLI4\n  [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery\n  [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name\n  [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout\n  [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes\n  [SCSI] megaraid_sas: Changelog and version update\n  [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic\n  [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support\n  [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers\n  [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts\n  ...\n"
    },
    {
      "commit": "97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d",
      "tree": "86f6382941f8cfc41647d33d87bec7bc1407c18c",
      "parents": [
        "68d99b2c8efcb6ed3807a55569300c53b5f88be5",
        "339573406737461cfb17bebabf7ba536a302d841"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:42:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:42:18 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://ceph.newdream.net/git/ceph-client\n\n* \u0027for-linus\u0027 of git://ceph.newdream.net/git/ceph-client:\n  libceph: fix double-free of page vector\n  ceph: fix 32-bit ino numbers\n  libceph: force resend of osd requests if we skip an osdmap\n  ceph: use kernel DNS resolver\n  ceph: fix ceph_monc_init memory leak\n  ceph: let the set_layout ioctl set single traits\n  Revert \"ceph: don\u0027t truncate dirty pages in invalidate work thread\"\n  ceph: replace leading spaces with tabs\n  libceph: warn on msg allocation failures\n  libceph: don\u0027t complain on msgpool alloc failures\n  libceph: always preallocate mon connection\n  libceph: create messenger with client\n  ceph: document ioctls\n  ceph: implement (optional) max read size\n  ceph: rename rsize -\u003e rasize\n  ceph: make readpages fully async\n"
    },
    {
      "commit": "68d99b2c8efcb6ed3807a55569300c53b5f88be5",
      "tree": "f189c8f2132d3668a2f0e503f5c3f8695b26a1c8",
      "parents": [
        "0e59e7e7feb5a12938fbf9135147eeda3238c6c4",
        "8128c9f21509f9a8b6da94ac432d845dda458406"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 14:25:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 14:25:01 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)\n  ALSA: hda - Fix ADC input-amp handling for Cx20549 codec\n  ALSA: hda - Keep EAPD turned on for old Conexant chips\n  ALSA: hda/realtek - Fix missing volume controls with ALC260\n  ASoC: wm8940: Properly set codec-\u003edapm.bias_level\n  ALSA: hda - Fix pin-config for ASUS W90V\n  ALSA: hda - Fix surround/CLFE headphone and speaker pins order\n  ALSA: hda - Fix typo\n  ALSA: Update the sound git tree URL\n  ALSA: HDA: Add new revision for ALC662\n  ASoC: max98095: Convert codec-\u003ehw_write to snd_soc_write\n  ASoC: keep pointer to resource so it can be freed\n  ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls\n  ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2\n  ASoC: da7210: Add support for line out and DAC\n  ASoC: da7210: Add support for DAPM\n  ALSA: hda/realtek - Fix DAC assignments of multiple speakers\n  ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value\n  ASoC: Set sgtl5000-\u003eldo in ldo_regulator_register\n  ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture\n  ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture\n  ...\n"
    },
    {
      "commit": "0e59e7e7feb5a12938fbf9135147eeda3238c6c4",
      "tree": "dbe994369ca9cad6893f0fd710f75791bc84b816",
      "parents": [
        "46b51ea2099fa2082342e52b8284aa828429b80b",
        "a513a99a7cebfb452839cc09c9c0586f72d96414"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 14:20:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 14:20:44 2011 -0700"
      },
      "message": "Merge branch \u0027next-rebase\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\n* \u0027next-rebase\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci:\n  PCI: Clean-up MPS debug output\n  pci: Clamp pcie_set_readrq() when using \"performance\" settings\n  PCI: enable MPS \"performance\" setting to properly handle bridge MPS\n  PCI: Workaround for Intel MPS errata\n  PCI: Add support for PASID capability\n  PCI: Add implementation for PRI capability\n  PCI: Export ATS functions to modules\n  PCI: Move ATS implementation into own file\n  PCI / PM: Remove unnecessary error variable from acpi_dev_run_wake()\n  PCI hotplug: acpiphp: Prevent deadlock on PCI-to-PCI bridge remove\n  PCI / PM: Extend PME polling to all PCI devices\n  PCI quirk: mmc: Always check for lower base frequency quirk for Ricoh 1180:e823\n  PCI: Make pci_setup_bridge() non-static for use by arch code\n  x86: constify PCI raw ops structures\n  PCI: Add quirk for known incorrect MPSS\n  PCI: Add Solarflare vendor ID and SFC4000 device IDs\n"
    },
    {
      "commit": "46b51ea2099fa2082342e52b8284aa828429b80b",
      "tree": "0a0d7bfe1aff036c86a2e7beacbd91398008bfb6",
      "parents": [
        "1fdb24e969110fafea36d3b393bea438f702c87f",
        "a6029e1f75bb484c1f5bc68b6a8572e4024795bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 14:16:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 14:16:11 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (83 commits)\n  mmc: fix compile error when CONFIG_BLOCK is not enabled\n  mmc: core: Cleanup eMMC4.5 conditionals\n  mmc: omap_hsmmc: if multiblock reads are broken, disable them\n  mmc: core: add workaround for controllers with broken multiblock reads\n  mmc: core: Prevent too long response times for suspend\n  mmc: recognise SDIO cards with SDIO_CCCR_REV 3.00\n  mmc: sd: Handle SD3.0 cards not supporting UHS-I bus speed mode\n  mmc: core: support HPI send command\n  mmc: core: Add cache control for eMMC4.5 device\n  mmc: core: Modify the timeout value for writing power class\n  mmc: core: new discard feature support at eMMC v4.5\n  mmc: core: mmc sanitize feature support for v4.5\n  mmc: dw_mmc: modify DATA register offset\n  mmc: sdhci-pci: add flag for devices that can support runtime PM\n  mmc: omap_hsmmc: ensure pbias configuration is always done\n  mmc: core: Add Power Off Notify Feature eMMC 4.5\n  mmc: sdhci-s3c: fix potential NULL dereference\n  mmc: replace printk with appropriate display macro\n  mmc: core: Add default timeout value for CMD6\n  mmc: sdhci-pci: add runtime pm support\n  ...\n"
    },
    {
      "commit": "1fdb24e969110fafea36d3b393bea438f702c87f",
      "tree": "47a1dfef8a259e7922285315f8a02d31b4efe2f1",
      "parents": [
        "f362f98e7c445643d27c610bb7a86b79727b592e",
        "531a6a941745e1e045dd2a6bd09e1dc01247a5f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 12:02:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 12:02:27 2011 -0700"
      },
      "message": "Merge branch \u0027devel-stable\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm\n\n* \u0027devel-stable\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits)\n  ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET\n  ARM: gic, local timers: use the request_percpu_irq() interface\n  ARM: gic: consolidate PPI handling\n  ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H\n  ARM: mach-s5p64x0: remove mach/memory.h\n  ARM: mach-s3c64xx: remove mach/memory.h\n  ARM: plat-mxc: remove mach/memory.h\n  ARM: mach-prima2: remove mach/memory.h\n  ARM: mach-zynq: remove mach/memory.h\n  ARM: mach-bcmring: remove mach/memory.h\n  ARM: mach-davinci: remove mach/memory.h\n  ARM: mach-pxa: remove mach/memory.h\n  ARM: mach-ixp4xx: remove mach/memory.h\n  ARM: mach-h720x: remove mach/memory.h\n  ARM: mach-vt8500: remove mach/memory.h\n  ARM: mach-s5pc100: remove mach/memory.h\n  ARM: mach-tegra: remove mach/memory.h\n  ARM: plat-tcc: remove mach/memory.h\n  ARM: mach-mmp: remove mach/memory.h\n  ARM: mach-cns3xxx: remove mach/memory.h\n  ...\n\nFix up mostly pretty trivial conflicts in:\n - arch/arm/Kconfig\n - arch/arm/include/asm/localtimer.h\n - arch/arm/kernel/Makefile\n - arch/arm/mach-shmobile/board-ap4evb.c\n - arch/arm/mach-u300/core.c\n - arch/arm/mm/dma-mapping.c\n - arch/arm/mm/proc-v7.S\n - arch/arm/plat-omap/Kconfig\nlargely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP -\u003e\nCONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and\naddition of NEED_MACH_MEMORY_H next to HAVE_IDE.\n"
    },
    {
      "commit": "f362f98e7c445643d27c610bb7a86b79727b592e",
      "tree": "399d9ebccdfbdfe9690ab1403a001d6f08e54b41",
      "parents": [
        "f793f2961170c0b49c1650e69e7825484159ce62",
        "f3c7691e8d30d88899b514675c7c86d19057b5fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 10:49:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 10:49:34 2011 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue: (21 commits)\n  leases: fix write-open/read-lease race\n  nfs: drop unnecessary locking in llseek\n  ext4: replace cut\u0027n\u0027pasted llseek code with generic_file_llseek_size\n  vfs: add generic_file_llseek_size\n  vfs: do (nearly) lockless generic_file_llseek\n  direct-io: merge direct_io_walker into __blockdev_direct_IO\n  direct-io: inline the complete submission path\n  direct-io: separate map_bh from dio\n  direct-io: use a slab cache for struct dio\n  direct-io: rearrange fields in dio/dio_submit to avoid holes\n  direct-io: fix a wrong comment\n  direct-io: separate fields only used in the submission path from struct dio\n  vfs: fix spinning prevention in prune_icache_sb\n  vfs: add a comment to inode_permission()\n  vfs: pass all mask flags check_acl and posix_acl_permission\n  vfs: add hex format for MAY_* flag values\n  vfs: indicate that the permission functions take all the MAY_* flags\n  compat: sync compat_stats with statfs.\n  vfs: add \"device\" tag to /proc/self/mountstats\n  cleanup: vfs: small comment fix for block_invalidatepage\n  ...\n\nFix up trivial conflict in fs/gfs2/file.c (llseek changes)\n"
    },
    {
      "commit": "dabcbb1bae0f55378060b285062b20f6ec648c6a",
      "tree": "027cdd35ce43cce95a78afab22e1e809b436b636",
      "parents": [
        "5619a693965b291315685bdfe01a0246ebd7e41e",
        "e0c8ea1a69410ef44043646938a6a4175f5307e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 10:43:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 10:43:32 2011 -0700"
      },
      "message": "Merge branch \u00273.2-without-smb2\u0027 of git://git.samba.org/sfrench/cifs-2.6\n\n* \u00273.2-without-smb2\u0027 of git://git.samba.org/sfrench/cifs-2.6: (52 commits)\n  Fix build break when freezer not configured\n  Add definition for share encryption\n  CIFS: Make cifs_push_locks send as many locks at once as possible\n  CIFS: Send as many mandatory unlock ranges at once as possible\n  CIFS: Implement caching mechanism for posix brlocks\n  CIFS: Implement caching mechanism for mandatory brlocks\n  CIFS: Fix DFS handling in cifs_get_file_info\n  CIFS: Fix error handling in cifs_readv_complete\n  [CIFS] Fixup trivial checkpatch warning\n  [CIFS] Show nostrictsync and noperm mount options in /proc/mounts\n  cifs, freezer: add wait_event_freezekillable and have cifs use it\n  cifs: allow cifs_max_pending to be readable under /sys/module/cifs/parameters\n  cifs: tune bdi.ra_pages in accordance with the rsize\n  cifs: allow for larger rsize\u003d options and change defaults\n  cifs: convert cifs_readpages to use async reads\n  cifs: add cifs_async_readv\n  cifs: fix protocol definition for READ_RSP\n  cifs: add a callback function to receive the rest of the frame\n  cifs: break out 3rd receive phase into separate function\n  cifs: find mid earlier in receive codepath\n  ...\n"
    },
    {
      "commit": "5760495a872d63a182962680a13c2af29235237c",
      "tree": "ab7ac2b0ec66006efbc27c318c89474a63d6e4d1",
      "parents": [
        "ef3d0fd27e90f67e35da516dafc1482c82939a60"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Thu Sep 15 16:06:50 2011 -0700"
      },
      "committer": {
        "name": "root",
        "email": "root@serles.lst.de",
        "time": "Fri Oct 28 14:58:59 2011 +0200"
      },
      "message": "vfs: add generic_file_llseek_size\n\nAdd a generic_file_llseek variant to the VFS that allows passing in\nthe maximum file size of the file system, instead of always\nusing maxbytes from the superblock.\n\nThis can be used to eliminate some cut\u0027n\u0027paste seek code in ext4.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "ef3d0fd27e90f67e35da516dafc1482c82939a60",
      "tree": "dea852eab2a52782867becffb11bce2577ed2b91",
      "parents": [
        "847cc6371ba820763773e993000410d6d8d23515"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Thu Sep 15 16:06:48 2011 -0700"
      },
      "committer": {
        "name": "root",
        "email": "root@serles.lst.de",
        "time": "Fri Oct 28 14:58:58 2011 +0200"
      },
      "message": "vfs: do (nearly) lockless generic_file_llseek\n\nThe i_mutex lock use of generic _file_llseek hurts.  Independent processes\naccessing the same file synchronize over a single lock, even though\nthey have no need for synchronization at all.\n\nUnder high utilization this can cause llseek to scale very poorly on larger\nsystems.\n\nThis patch does some rethinking of the llseek locking model:\n\nFirst the 64bit f_pos is not necessarily atomic without locks\non 32bit systems. This can already cause races with read() today.\nThis was discussed on linux-kernel in the past and deemed acceptable.\nThe patch does not change that.\n\nLet\u0027s look at the different seek variants:\n\nSEEK_SET: Doesn\u0027t really need any locking.\nIf there\u0027s a race one writer wins, the other loses.\n\nFor 32bit the non atomic update races against read()\nstay the same. Without a lock they can also happen\nagainst write() now.  The read() race was deemed\nacceptable in past discussions, and I think if it\u0027s\nok for read it\u0027s ok for write too.\n\n\u003d\u003e Don\u0027t need a lock.\n\nSEEK_END: This behaves like SEEK_SET plus it reads\nthe maximum size too. Reading the maximum size would have the\n32bit atomic problem. But luckily we already have a way to read\nthe maximum size without locking (i_size_read), so we\ncan just use that instead.\n\nWithout i_mutex there is no synchronization with write() anymore,\nhowever since the write() update is atomic on 64bit it just behaves\nlike another racy SEEK_SET.  On non atomic 32bit it\u0027s the same\nas SEEK_SET.\n\n\u003d\u003e Don\u0027t need a lock, but need to use i_size_read()\n\nSEEK_CUR: This has a read-modify-write race window\non the same file. One could argue that any application\ndoing unsynchronized seeks on the same file is already broken.\nBut for the sake of not adding a regression here I\u0027m\nusing the file-\u003ef_lock to synchronize this. Using this\nlock is much better than the inode mutex because it doesn\u0027t\nsynchronize between processes.\n\n\u003d\u003e So still need a lock, but can use a f_lock.\n\nThis patch implements this new scheme in generic_file_llseek.\nI dropped generic_file_llseek_unlocked and changed all callers.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "8522ca5818652c4da6808c66a307abce75462212",
      "tree": "dd127ea11faf379c3b4610eb9f15feee79cb802f",
      "parents": [
        "8fd90c8d1dacb5ff0f372217c97f57a9e61559cd"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Oct 23 23:13:31 2011 +0530"
      },
      "committer": {
        "name": "root",
        "email": "root@serles.lst.de",
        "time": "Fri Oct 28 14:58:54 2011 +0200"
      },
      "message": "vfs: add hex format for MAY_* flag values\n\nWe are going to add more flags and having them in hex format\nmake it simpler\n\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "37be944a0270402f9cda291a930b0286f6dc92f5",
      "tree": "6a91a9eb86450f4a18a8871f04a1ef810e7b55d6",
      "parents": [
        "ca836a25435ef1b9914840ed0a310c9b6ac261d1",
        "1717c0e23f411147490c7a3312b894f0ea9a5fb1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 05:54:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 05:54:23 2011 -0700"
      },
      "message": "Merge branch \u0027drm-core-next\u0027 of git://people.freedesktop.org/~airlied/linux\n\n* \u0027drm-core-next\u0027 of git://people.freedesktop.org/~airlied/linux: (290 commits)\n  Revert \"drm/ttm: add a way to bo_wait for either the last read or last write\"\n  Revert \"drm/radeon/kms: add a new gem_wait ioctl with read/write flags\"\n  vmwgfx: Don\u0027t pass unused arguments to do_dirty functions\n  vmwgfx: Emulate depth 32 framebuffers\n  drm/radeon: Lower the severity of the radeon lockup messages.\n  drm/i915/dp: Fix eDP on PCH DP on CPT/PPT\n  drm/i915/dp: Introduce is_cpu_edp()\n  drm/i915: use correct SPD type value\n  drm/i915: fix ILK+ infoframe support\n  drm/i915: add DP test request handling\n  drm/i915: read full receiver capability field during DP hot plug\n  drm/i915/dp: Remove eDP special cases from bandwidth checks\n  drm/i915/dp: Fix the math in intel_dp_link_required\n  drm/i915/panel: Always record the backlight level again (but cleverly)\n  i915: Move i915_read/write out of line\n  drm/i915: remove transcoder PLL mashing from mode_set per specs\n  drm/i915: if transcoder disable fails, say which\n  drm/i915: set watermarks for third pipe on IVB\n  drm/i915: export a CPT mode set verification function\n  drm/i915: fix transcoder PLL select masking\n  ...\n"
    },
    {
      "commit": "8e6d539e0fd0c2124a20a207da70f2af7a9ae52c",
      "tree": "73016c1bdb5005125cdb5d60d48f73ab4300be64",
      "parents": [
        "8237eb946a1a23c600fb289cf8dd3b399b10604e",
        "49d859d78c5aeb998b6936fcb5f288f78d713489"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 05:29:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 05:29:07 2011 -0700"
      },
      "message": "Merge branch \u0027x86-rdrand-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-rdrand-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, random: Verify RDRAND functionality and allow it to be disabled\n  x86, random: Architectural inlines to get random integers with RDRAND\n  random: Add support for architectural random hooks\n\nFix up trivial conflicts in drivers/char/random.c: the architectural\nrandom hooks touched \"get_random_int()\" that was simplified to use MD5\nand not do the keyptr thing any more (see commit 6e5714eaf77d: \"net:\nCompute protocol sequence numbers and fragment IDs using MD5\").\n"
    },
    {
      "commit": "e0c8ea1a69410ef44043646938a6a4175f5307e4",
      "tree": "4c859e9e9cdcddf7bb5d073fcbc434818d135963",
      "parents": [
        "96814ecb404d587fade79af70bb741bc753e9ffb"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Oct 25 10:02:53 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Oct 27 16:53:40 2011 -0500"
      },
      "message": "Fix build break when freezer not configured\n\nfs/cifs/transport.c: In function \u0027wait_for_response\u0027:\nfs/cifs/transport.c:328: error: implicit declaration of function \u0027wait_event_freezekillable\u0027\n\nCaused by commit f06ac72e9291 (\"cifs, freezer: add\nwait_event_freezekillable and have cifs use it\").  In this config,\nCONFIG_FREEZER is not set.\n\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "a6029e1f75bb484c1f5bc68b6a8572e4024795bc",
      "tree": "79b8487c706e93fa4e0be28d3a4297d65851ac35",
      "parents": [
        "336c716ae2272c9a26a6f82976d0e077d8ca824e"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Thu Oct 13 00:43:14 2011 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Oct 27 09:11:34 2011 -0400"
      },
      "message": "mmc: fix compile error when CONFIG_BLOCK is not enabled\n\n\u0027DISK_NAME_LEN\u0027 is undeclared when CONFIG_BLOCK is disabled; its use was\nintroduced via genhd.h by the general purpose partition patch.\n\nTo fix, we just add our own MAX_MMC_PART_NAME_LEN macro instead of using\nDISK_NAME_LEN.\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Andrei Warkentin \u003candreiw@vmware.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "2bf22b39823c1d173dda31111a4eb2ce36daaf39",
      "tree": "54575fedfd2b032c3113b55dea5e2fd5d0c7eb38",
      "parents": [
        "b6ad726e3fe69e1ff3c3b2ad272ba3e4c376cd6a"
      ],
      "author": {
        "name": "Paul Walmsley",
        "email": "paul@pwsan.com",
        "time": "Thu Oct 06 14:50:33 2011 -0600"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Thu Oct 27 09:10:57 2011 -0400"
      },
      "message": "mmc: core: add workaround for controllers with broken multiblock reads\n\nDue to hardware bugs, some MMC host controllers don\u0027t support\nmultiple-block reads[1].  To resolve, add a new MMC capability flag,\nMMC_CAP2_NO_MULTI_READ, which can be set by affected host controller\ndrivers.  When this capability is set, all reads will be issued one\nsector at a time.\n\n1. See for example Advisory 2.1.1.128 \"MMC: Multiple Block Read\nOperation Issue\" in _OMAP3530/3525/3515/3503 Silicon Errata_\nRevision F (October 2010) (SPRZ278F), available from\nhttp://focus.ti.com/lit/er/sprz278f/sprz278f.pdf\n\nSigned-off-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nCc: Dave Hylands \u003cdhylands@gmail.com\u003e\nTested-by: Steve Sakoman \u003csakoman@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "bb14eb0da72afb69be261b28ec858cbd5a35e089",
      "tree": "fa72a87d21e506c990b63657d782936311cfa7cf",
      "parents": [
        "9430148d800dd929ad73da4c6afb67f793f8af43",
        "5927f94700e860ae27ff24e7f3bc9e4f7b9922eb"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Oct 27 10:43:40 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Oct 27 10:43:40 2011 +0200"
      },
      "message": "Merge branch \u0027topic/asoc\u0027 into for-linus\n"
    },
    {
      "commit": "396e6e49c58bb23d1814d3c240c736c9f01523c5",
      "tree": "a6ec8dac896c3ea3ac7b1bb0dce8728766afcf91",
      "parents": [
        "18974369cfe23acf16d0fb79e0d1fba7a9a95ec0",
        "6ad390a25a9d1d8606b9b826878f0a30639dc2b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 27 08:44:20 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 27 08:44:20 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (68 commits)\n  Input: adp5589-keys - add support for the ADP5585 derivatives\n  Input: imx_keypad - add pm suspend and resume support\n  Input: force feedback - potential integer wrap in input_ff_create()\n  Input: tsc2007 - make sure that X plate resistance is specified\n  Input: serio_raw - fix memory leak when closing char device\n  Input: serio_raw - kick clients when disconnecting port\n  Input: serio_raw - explicitly mark disconnected ports as dead\n  Input: serio_raw - fix coding style issues\n  Input: serio_raw - use dev_*() for messages\n  Input: serio_raw - use bool for boolean data\n  Input: serio_raw - perform proper locking when adding clients to list\n  Input: serio_raw - rename serio_raw_list to serio_raw_client\n  Input: serio_raw - use kref instead of rolling out its own refcounting\n  Input: psmouse - switch to using dev_*() for messages\n  Input: wacom - correct max Y value on medium bamboos\n  Input: wacom - add ABS_DISTANCE to Bamboo Pen reports\n  Input: wacom - remove unneeded touch pressure initialization\n  Input: lm8323 - wrap suspend and resume in CONFIG_PM_SLEEP\n  Input: ad7879-i2c - wrap suspend and resume in CONFIG_PM_SLEEP\n  Input: synaptics_i2c - wrap suspend and resume in CONFIG_PM_SLEEP\n  ...\n"
    },
    {
      "commit": "18974369cfe23acf16d0fb79e0d1fba7a9a95ec0",
      "tree": "22367984dbd4c79e9635035e268c428444c40e76",
      "parents": [
        "7e0a6fd5a4723c79cc46c9541e343092302e0e5b",
        "196a57c2749119be4732cc2b2adb8aafcb4fcb14"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 27 08:41:50 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 27 08:41:50 2011 +0200"
      },
      "message": "Merge branch \u0027clk\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm\n\n* \u0027clk\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:\n  ARM: 7131/1: clkdev: Add Common Macro for clk_lookup\n  clk: spi-pl022: convert to clk_prepare()/clk_unprepare()\n  clk: timer-sp: convert to clk_prepare()/clk_unprepare()\n  clk: sa1111: convert to clk_prepare()/clk_unprepare()\n  clk: mmci: convert to clk_prepare()/clk_unprepare()\n  clk: amba-pl011: convert to clk_prepare()/clk_unprepare()\n  clk: amba-pl010: convert to clk_prepare()/clk_unprepare()\n  clk: amba-clcd: convert to clk_prepare()/clk_unprepare()\n  clk: amba bus: convert to clk_prepare()/clk_unprepare()\n  clk: provide prepare/unprepare functions\n"
    },
    {
      "commit": "5fffb9513cb7fdd39e03c4cab1cda9c2f2694576",
      "tree": "f28f1c232dd5774c9157ba257df37e66d4097870",
      "parents": [
        "b96d71571f7745216ef63f13770b5a10b94ddd34",
        "ae97159aed6eff68f4ac86472b018985f071fed5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 27 08:35:41 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 27 08:35:41 2011 +0200"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  of_mdio: Don\u0027t phy_scan_fixups() twice\n  Devicetree: Expand on ARM Primecell binding documentation\n  dt: Add empty of_match_node() macro\n  dt: add empty dt helpers for non-dt build\n  devicetree: fix build error on drivers/tty/serial/altera_jtaguart.c\n  devicetree: Add ARM pl022 spi controller binding doc\n  devicetree: Add ARM pl061 gpio controller binding doc\n  of/irq: of_irq_find_parent: check for parent equal to child\n  MAINTAINERS: update devicetree maintainers\n  dt: add helper to read 64-bit integers\n  tty: use of_match_ptr() for of_match_table entry\n  OF: Add of_match_ptr() macro\n  dt: add empty for_each_child_of_node, of_find_property\n  devicetree: Document Qualcomm and Atmel prefixes\n  serial/imx: add of_alias_get_id() reference back\n  dt: add of_alias_scan and of_alias_get_id\n  devicetree: Add a registry of vendor prefixes\n"
    },
    {
      "commit": "9430148d800dd929ad73da4c6afb67f793f8af43",
      "tree": "437d0aec41428cbb310a202100ba581c63fbe89e",
      "parents": [
        "d22665702226e9c40bc331098559e3d55e7cd43d",
        "88e24c3a4b30a6bd361f2b5ce602667a8161b2e8"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Oct 26 23:51:48 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Oct 26 23:51:48 2011 +0200"
      },
      "message": "Merge branch \u0027topic/remove-irqf_disable\u0027 into for-linus\n"
    },
    {
      "commit": "d22665702226e9c40bc331098559e3d55e7cd43d",
      "tree": "6e92734c9835dc9e064b20182624939f3486d28d",
      "parents": [
        "5cdf745ebae0f5bcf9b798d8fd5cb57add592cc1",
        "dde7ad8dee274763c8958769779aea8c993c950e"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Oct 26 23:51:43 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Oct 26 23:51:43 2011 +0200"
      },
      "message": "Merge branch \u0027topic/misc\u0027 into for-linus\n"
    },
    {
      "commit": "76c05c8a0d56faf210cb9681786bb3e17cd59793",
      "tree": "7397414a99102c283be83d5ac1928878ae3c1b12",
      "parents": [
        "eb9ae7f2a38135761496d317c08c87f38c7cafe3"
      ],
      "author": {
        "name": "Rob Herring",
        "email": "rob.herring@calxeda.com",
        "time": "Wed Aug 10 16:31:46 2011 -0500"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Oct 26 23:15:28 2011 +0200"
      },
      "message": "gpio: pl061: add DT binding support\n\nThis adds devicetree binding support to the ARM pl061 driver removing the\nplatform_data dependency. When DT binding is used, the gpio numbering is\nassigned dynamically. For now, interrupts are not supported with DT until\nirqdomains learn dynamic irq assignment.\n\nRather than add another case of -1, updating the driver to use NO_IRQ.\n\nSigned-off-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nAcked-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b4625dab2c618eb87e177761dda3182b4cfaa604",
      "tree": "24398081cac8259d99b67dcc7b4e1afe3384df8e",
      "parents": [
        "f2815f68dabbb373fd1c9f0fd4a609d486697c2b"
      ],
      "author": {
        "name": "Bing Zhao",
        "email": "bzhao@marvell.com",
        "time": "Thu Oct 20 19:16:32 2011 -0700"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:31 2011 -0400"
      },
      "message": "mmc: recognise SDIO cards with SDIO_CCCR_REV 3.00\n\nTable 6-2: CCCR bit Definitions, address 00h.  Part E1 SDIO Simplified\nSpecification Version 3.00, Feb. 25, 2011.\n\nThis patch has been tested with Marvell WLAN device SD8797.\n\nSigned-off-by: Bing Zhao \u003cbzhao@marvell.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "eb0d8f135b6730d6d0324a064664d121334290e7",
      "tree": "74876f5d20163bb5e9b185d9357237e1f22a2262",
      "parents": [
        "881d1c25f765938a95def5afe39486ce39f9fc96"
      ],
      "author": {
        "name": "Jaehoon Chung",
        "email": "jh80.chung@samsung.com",
        "time": "Tue Oct 18 01:26:42 2011 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:29 2011 -0400"
      },
      "message": "mmc: core: support HPI send command\n\nHPI command is defined in eMMC4.41.\nThis feature is important for eMMC4.5 devices.\n\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "881d1c25f765938a95def5afe39486ce39f9fc96",
      "tree": "694d5ea1b3fba2c28cc110123f2ca50b4408f309",
      "parents": [
        "71fe3eb0d006861bdae57e93975b6ae3d9b55e99"
      ],
      "author": {
        "name": "Seungwon Jeon",
        "email": "tgih.jun@samsung.com",
        "time": "Fri Oct 14 14:03:21 2011 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:28 2011 -0400"
      },
      "message": "mmc: core: Add cache control for eMMC4.5 device\n\nThis patch adds cache feature of eMMC4.5 Spec.\nIf device supports cache capability, host can utilize some specific\noperations.\n\nSigned-off-by: Seungwon Jeon \u003ctgih.jun@samsung.com\u003e\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b3bf915308ca2b50f3beec6cc824083870f0f4b5",
      "tree": "955978242b333e1388358b4b50b5f8f4a5abca04",
      "parents": [
        "d9ddd62943ee07a75d0428ffcf52f1a747a28c39"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Tue Oct 18 09:34:04 2011 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:27 2011 -0400"
      },
      "message": "mmc: core: new discard feature support at eMMC v4.5\n\nMMC v4.5 supports the DISCARD feature (CMD38).  It\u0027s different from\ntrim and there\u0027s no check bit.  Currently it\u0027s only supported at v4.5.\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "d9ddd62943ee07a75d0428ffcf52f1a747a28c39",
      "tree": "e4fb8b0b2ba2fe39bf725762b2c04441f1adf3b8",
      "parents": [
        "4e0a5adf46ee7810af2e1b7e4e8c2a298652618e"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Fri Oct 14 14:15:48 2011 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:26 2011 -0400"
      },
      "message": "mmc: core: mmc sanitize feature support for v4.5\n\nIn the v4.5, there\u0027s no secure erase \u0026 trim support.\nInstead it supports the sanitize feature.\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "4e0a5adf46ee7810af2e1b7e4e8c2a298652618e",
      "tree": "64b60adcedd341a02a8f150ce7257e2b0eb40e0c",
      "parents": [
        "c43fd7746698a10aa6435d62ec28f977dd6246cc"
      ],
      "author": {
        "name": "Jaehoon Chung",
        "email": "jh80.chung@samsung.com",
        "time": "Mon Oct 17 19:36:23 2011 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:25 2011 -0400"
      },
      "message": "mmc: dw_mmc: modify DATA register offset\n\nIn dw_mmc 2.40a spec, Data register\u0027s offset is changed.\nBefore we used Data register offset 0x100. but if somebody uses a\n2.40a controller, we must use 0x200 for Data register.\n\nThis patch adds a version-id checking point and uses SDMMC_DATA(x)\ninstead of SDMMC_DATA.  It assumes 2.40a is the latest version.\n\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: James Hogan \u003cjames.hogan@imgtec.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "bec8726abc72bf30d2743a722aa37cd69e7a0580",
      "tree": "eed4a3c441ff64f5719b021fce419de0fc5196d9",
      "parents": [
        "326adda53a50ece492c3edaa60afc26fba5e3232"
      ],
      "author": {
        "name": "Girish K S",
        "email": "girish.shivananjappa@linaro.org",
        "time": "Thu Oct 13 12:04:16 2011 +0530"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:23 2011 -0400"
      },
      "message": "mmc: core: Add Power Off Notify Feature eMMC 4.5\n\nThis patch adds support for the power off notify feature, available in\neMMC 4.5 devices. If the host has support for this feature, then the\nmmc core will notify the device by setting the POWER_OFF_NOTIFICATION\nbyte in the extended csd register with a value of 1 (POWER_ON).\n\nFor suspend mode short timeout is used, whereas for the normal poweroff\nlong timeout is used.\n\nSigned-off-by: Girish K S \u003cgirish.shivananjappa@linaro.org\u003e\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b23cf0bd55b0c6b703982446f679e00d6d929524",
      "tree": "7701af9bd8b7f35321dfb4a5accf71fc9c04e60d",
      "parents": [
        "66fd8ad5100b5003046aa744a4f12fa31bb831f9"
      ],
      "author": {
        "name": "Seungwon Jeon",
        "email": "tgih.jun@samsung.com",
        "time": "Fri Sep 23 14:15:29 2011 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:21 2011 -0400"
      },
      "message": "mmc: core: Add default timeout value for CMD6\n\nEXT_CSD[248] includes the default maximum timeout for CMD6.\nThis field is added at eMMC4.5 Spec. And it can be used for default\ntimeout except for some operations which don\u0027t define the timeout\n(i.e. background operation, sanitize, flush cache) in eMMC4.5 Spec.\n\nSigned-off-by: Seungwon Jeon \u003ctgih.jun@samsung.com\u003e\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "66fd8ad5100b5003046aa744a4f12fa31bb831f9",
      "tree": "c71aa6ff8b5c4c2919b93630a2315017f4610986",
      "parents": [
        "08a7e1dfaa63bf5132b5b7231fcf9a33473c78f5"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Mon Oct 03 15:33:34 2011 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:20 2011 -0400"
      },
      "message": "mmc: sdhci-pci: add runtime pm support\n\nThs patch allows runtime PM for sdhci-pci, runtime suspending after\ninactivity of 50ms and ensuring runtime resume before SDHC registers\nare accessed.  During runtime suspend, interrupts are masked.\nThe host controller state is restored at runtime resume.\n\nFor Medfield, the host controller\u0027s card detect mechanism is\nsupplanted by an always-on GPIO which provides for card detect wake-up.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "e0c368d571d946ff40f068344b5c2df90c93dd2e",
      "tree": "509fdad0059dac018128610723557b4ca12f29d2",
      "parents": [
        "5238acbe36dd5100fb6b035a995ae5fc89dd0708"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Thu Oct 06 23:41:38 2011 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:17 2011 -0400"
      },
      "message": "mmc: core: general purpose MMC partition support.\n\nIt allows gerneral purpose partitions in MMC Device.  And I try to simply\nmake mmc_blk_alloc_parts using mmc_part structure suggested by Andrei\nWarkentin.  After patching, we see general purpose partitions like this:\n\u003e cat /proc/partitions\n          179 0 847872 mmcblk0\n          179 192 4096 mmcblk0gp3\n          179 160 4096 mmcblk0gp2\n          179 128 4096 mmcblk0gp1\n          179 96  1052672 mmcblk0gp0\n          179 64  1024 mmcblk0boot1\n          179 32  1024 mmcblk0boot0\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nAcked-by: Andrei Warkentin \u003cawarkentin@vmware.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "f7c56ef2af5ae7e4c24c3c79427b38d18ba1d294",
      "tree": "5590da07839d9a07b7811a8fe0104aaa596e03dc",
      "parents": [
        "0d7d85ca6e5dc7bd426d1d5989a44e93e8c7a0d3"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Fri Sep 23 12:48:21 2011 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:15 2011 -0400"
      },
      "message": "mmc: block: support no access to boot partitions\n\nIntel Medfield platform blocks access to eMMC boot partitions which\nresults in switch errors.  Since there is no access, mmcboot0/1\ndevices should not be created.  Add a host capability to reflect that.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b87d8dbf6c410b5f2d9b6893c85baa06aa131c7c",
      "tree": "f478e5378f259bb75158d5cb08cc459c93f30905",
      "parents": [
        "199e3f4b419d045e64d5205a6354c5db04d98553"
      ],
      "author": {
        "name": "Girish K S",
        "email": "girish.shivananjappa@linaro.org",
        "time": "Fri Sep 23 20:41:47 2011 +0530"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:13 2011 -0400"
      },
      "message": "mmc: core: eMMC 4.5 Power Class Selection Feature\n\nThis patch adds the power class selection feature available for mmc\nversions 4.0 and above.  During the enumeration stage before switching\nto the lower data bus, check if the power class is supported for the\ncurrent bus width. If the power class is available then switch to the\npower class and use the higher data bus. If power class is not supported\nthen switch to the lower data bus in a worst case.\n\nSigned-off-by: Girish K S \u003cgirish.shivananjappa@linaro.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "714c4a6e3a0f730834ec8a8bc83b2a6da33f54dc",
      "tree": "1e2a581b44fab2b92d21fc52d134719dde003c45",
      "parents": [
        "67716327eec7e9d573e7cb2d806545d6f7c1a38d"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Tue Aug 30 18:26:39 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:09 2011 -0400"
      },
      "message": "mmc: sh_mmcif: simplify platform data\n\nProvide platforms with a simplified way to specify MMCIF DMA slave IDs in\na way, similar to SDHI and other sh_dma clients.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b2499518b5ad7e28bb3ed348fd3f370eeb1e36c0",
      "tree": "c4c9597d0631554bffeecbcc6a2a7ec3037ea78c",
      "parents": [
        "8e3336b1e4378f7d205af9b25dcc9e645c8a9609"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Mon Aug 29 16:42:11 2011 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:05 2011 -0400"
      },
      "message": "mmc: core: add eMMC hardware reset support\n\neMMC\u0027s may have a hardware reset line.  This patch provides a\nhost controller operation to implement hardware reset and\na function to reset and reinitialize the card.  Also, for MMC,\nthe reset is always performed before initialization.\n\nThe host must set the new host capability MMC_CAP_HW_RESET\nto enable hardware reset.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "7c8a2829c22a270acadc6aa3a937e2e7956b19f5",
      "tree": "b787b429a1bd01f364e752fe5b52e2f95cb46875",
      "parents": [
        "44669034815a7ad263542ac605c581a10b22d146"
      ],
      "author": {
        "name": "Per Forlin",
        "email": "per.forlin@linaro.org",
        "time": "Mon Aug 29 15:35:58 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:04 2011 -0400"
      },
      "message": "mmc: core: clarify how to use post_req in case of errors\n\nThe err condition in post_req() is set to undo a call made to pre_req()\nthat hasn\u0027t been started yet.  The err condition is not set if an MMC\nrequest returns an error.\n\nSigned-off-by: Per Forlin \u003cper.forlin@linaro.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "9a0da648ff3a5020406ac7784eb3b519014f66f6",
      "tree": "54e546b73bbba36a2a3277eb8cde2771595b37a4",
      "parents": [
        "329f22371460587c59b866dcbffce5b498b61f38"
      ],
      "author": {
        "name": "Stefan Nilsson XK",
        "email": "stefan.xk.nilsson@stericsson.com",
        "time": "Thu Sep 15 17:43:04 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 16:32:02 2011 -0400"
      },
      "message": "mmc: sdio: Workaround for dev with broken CMD53\n\nAdds a quirk which can be turned on for SDIO devices that do not support\n512 byte requests in byte mode during CMD53. These requests will always\nbe sent in block mode instead.\n\nThis patch also enables this quirk for ST-Ericsson CW1200 WLAN device.\n\nSigned-off-by: Stefan Nilsson XK \u003cstefan.xk.nilsson@stericsson.com\u003e\nSigned-off-by: Ulf HANSSON \u003culf.hansson@stericsson.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "138c4ae9cfda8fdcf9e137457853b09ef8cf8f77",
      "tree": "704c363de6d5868b08e9ae31a436ff04d423f625",
      "parents": [
        "3b3dd79d6a8b3debd0291465fc8cd9caf765d545",
        "e182a345d40deba7c3165a2857812bf403818319"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 21:46:18 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 21:46:18 2011 +0200"
      },
      "message": "Merge branch \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux\n\n* \u0027slab/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:\n  tools, slub: Fix off-by-one buffer corruption after readlink() call\n  slub: Discard slab page when node partial \u003e minimum partial number\n  slub: correct comments error for per cpu partial\n  mm: restrict access to slab files under procfs and sysfs\n  slub: Code optimization in get_partial_node()\n  slub: doc: update the slabinfo.c file path\n  slub: explicitly document position of inserting slab to partial list\n  slub: update slabinfo tools to report per cpu partial list statistics\n  slub: per cpu cache for partial pages\n  slub: return object pointer from get_partial() / new_slab().\n  slub: pass kmem_cache_cpu pointer to get_partial()\n  slub: Prepare inuse field in new_slab()\n  slub: Remove useless statements in __slab_alloc\n  slub: free slabs without holding locks\n  slub: use print_hex_dump\n  slab: use print_hex_dump\n"
    },
    {
      "commit": "d5098cb63b3f13da2a2b230b3566ac7b5dfa4f28",
      "tree": "b1317ea1339a678b283a0213f5c6647a58099b33",
      "parents": [
        "7729c7a232a95360fa17ffe8beb1adb621bc0ba0"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Fri Aug 26 10:42:39 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 15:43:36 2011 -0400"
      },
      "message": "mmc: sdhi: Allow named IRQs to use specific handlers\n\nAllow named IRQs to use corresponding specific handlers. If named IRQs are\nused, at least an \"sdcard\" IRQ has to be specified by the platform. If\nnames are not used, an arbitrary number of IRQs can be provided by the\nplatform, in which case the generic ISR will be used for each of them.\n\nCc: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n[g.liakhovetski@gmx.de: style and typo corrections, platform data check]\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "1b676f70c108cda90cf9d114d16c677584400efc",
      "tree": "7f4a18ade6db764ba3c882e294040a91adc2911e",
      "parents": [
        "df87ecbf19109bab04a92df047a9949838206abc"
      ],
      "author": {
        "name": "Per Forlin",
        "email": "per.forlin@linaro.org",
        "time": "Fri Aug 19 14:52:37 2011 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 15:43:34 2011 -0400"
      },
      "message": "mmc: core: add random fault injection\n\nThis adds support to inject data errors after a completed host transfer.\nThe mmc core will return error even though the host transfer is successful.\nThis simple fault injection proved to be very useful to test the\nnon-blocking error handling in the mmc_blk_issue_rw_rq().\nRandom faults can also test how the host driver handles pre_req()\nand post_req() in case of errors.\n\nSigned-off-by: Per Forlin \u003cper.forlin@linaro.org\u003e\nAcked-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nReviewed-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "1ebbe3d31fd96865b4d4874f3c74fef0e386fb79",
      "tree": "78759bbced46adc4dc5bc3302b8a2be6aa2dcd2a",
      "parents": [
        "11d1488b01b803254842b756ff7662085b37970e"
      ],
      "author": {
        "name": "Ludovic Desroches",
        "email": "ludovic.desroches@atmel.com",
        "time": "Thu Aug 11 15:25:46 2011 +0000"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 15:43:26 2011 -0400"
      },
      "message": "mmc: atmel-mci: use ATMEL_PDC_SCND_BUF_OFF instead of a literal value\n\nSigned-off-by: Ludovic Desroches \u003cludovic.desroches@atmel.com\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "2c96a293bbd6b34698c6710ea8607049956247c4",
      "tree": "21f416c2c1997acf521e76e9e679edd138e1dc6d",
      "parents": [
        "41ebe9cde738a972d05c7282e09f5ed54cff0e8d"
      ],
      "author": {
        "name": "Ludovic Desroches",
        "email": "ludovic.desroches@atmel.com",
        "time": "Thu Aug 11 15:25:41 2011 +0000"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Wed Oct 26 15:43:25 2011 -0400"
      },
      "message": "mmc: atmel-mci: change namespace\n\nHomogenize namespace to atmci.\n\nSigned-off-by: Ludovic Desroches \u003cludovic.desroches@atmel.com\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "39adff5f69d6849ca22353a88058c9f8630528c0",
      "tree": "b0c2d2de77ebc5c97fd19c29b81eeb03549553f8",
      "parents": [
        "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)\n  time, s390: Get rid of compile warning\n  dw_apb_timer: constify clocksource name\n  time: Cleanup old CONFIG_GENERIC_TIME references that snuck in\n  time: Change jiffies_to_clock_t() argument type to unsigned long\n  alarmtimers: Fix error handling\n  clocksource: Make watchdog reset lockless\n  posix-cpu-timers: Cure SMP accounting oddities\n  s390: Use direct ktime path for s390 clockevent device\n  clockevents: Add direct ktime programming function\n  clockevents: Make minimum delay adjustments configurable\n  nohz: Remove \"Switched to NOHz mode\" debugging messages\n  proc: Consider NO_HZ when printing idle and iowait times\n  nohz: Make idle/iowait counter update conditional\n  nohz: Fix update_ts_time_stat idle accounting\n  cputime: Clean up cputime_to_usecs and usecs_to_cputime macros\n  alarmtimers: Rework RTC device selection using class interface\n  alarmtimers: Add try_to_cancel functionality\n  alarmtimers: Add more refined alarm state tracking\n  alarmtimers: Remove period from alarm structure\n  alarmtimers: Remove interval cap limit hack\n  ...\n"
    },
    {
      "commit": "e182a345d40deba7c3165a2857812bf403818319",
      "tree": "01cace799491cbb6bea19c10de971fd3a84d9868",
      "parents": [
        "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
        "fe353178653b15add8626f5474842601be160281",
        "dcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 26 18:09:12 2011 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 26 18:09:12 2011 +0300"
      },
      "message": "Merge branches \u0027slab/next\u0027 and \u0027slub/partial\u0027 into slab/for-linus\n"
    },
    {
      "commit": "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
      "tree": "d76974986aaaa8549baf2d6a106fa6cb60d64b88",
      "parents": [
        "8686a0e200419322654a75155e2e6f80346a1297",
        "540f41edc15473ca3b2876de72646546ae101374"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)\n  llist: Add back llist_add_batch() and llist_del_first() prototypes\n  sched: Don\u0027t use tasklist_lock for debug prints\n  sched: Warn on rt throttling\n  sched: Unify the -\u003ecpus_allowed mask copy\n  sched: Wrap scheduler p-\u003ecpus_allowed access\n  sched: Request for idle balance during nohz idle load balance\n  sched: Use resched IPI to kick off the nohz idle balance\n  sched: Fix idle_cpu()\n  llist: Remove cpu_relax() usage in cmpxchg loops\n  sched: Convert to struct llist\n  llist: Add llist_next()\n  irq_work: Use llist in the struct irq_work logic\n  llist: Return whether list is empty before adding in llist_add()\n  llist: Move cpu_relax() to after the cmpxchg()\n  llist: Remove the platform-dependent NMI checks\n  llist: Make some llist functions inline\n  sched, tracing: Show PREEMPT_ACTIVE state in trace_sched_switch\n  sched: Remove redundant test in check_preempt_tick()\n  sched: Add documentation for bandwidth control\n  sched: Return unused runtime on group dequeue\n  ...\n"
    },
    {
      "commit": "7115e3fcf45514db7525a05365b10454ff7f345e",
      "tree": "17450e6337d559cc35dae6a7a73abab01ac63f00",
      "parents": [
        "1f6e05171bb5cc32a4d6437ab2269fc21d169ca7",
        "c752d04066a36ae30b29795f3fa3f536292c1f8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (121 commits)\n  perf symbols: Increase symbol KSYM_NAME_LEN size\n  perf hists browser: Refuse \u0027a\u0027 hotkey on non symbolic views\n  perf ui browser: Use libslang to read keys\n  perf tools: Fix tracing info recording\n  perf hists browser: Elide DSO column when it is set to just one DSO, ditto for threads\n  perf hists: Don\u0027t consider filtered entries when calculating column widths\n  perf hists: Don\u0027t decay total_period for filtered entries\n  perf hists browser: Honour symbol_conf.show_{nr_samples,total_period}\n  perf hists browser: Do not exit on tab key with single event\n  perf annotate browser: Don\u0027t change selection line when returning from callq\n  perf tools: handle endianness of feature bitmap\n  perf tools: Add prelink suggestion to dso update message\n  perf script: Fix unknown feature comment\n  perf hists browser: Apply the dso and thread filters when merging new batches\n  perf hists: Move the dso and thread filters from hist_browser\n  perf ui browser: Honour the xterm colors\n  perf top tui: Give color hints just on the percentage, like on --stdio\n  perf ui browser: Make the colors configurable and change the defaults\n  perf tui: Remove unneeded call to newtCls on startup\n  perf hists: Don\u0027t format the percentage on hist_entry__snprintf\n  ...\n\nFix up conflicts in arch/x86/kernel/kprobes.c manually.\n\nIngo\u0027s tree did the insane \"add volatile to const array\", which just\ndoesn\u0027t make sense (\"volatile const\"?).  But we could remove the const\n*and* make the array volatile to make doubly sure that gcc doesn\u0027t\noptimize it away..\n\nAlso fix up kernel/trace/ring_buffer.c non-data-conflicts manually: the\nreader_lock has been turned into a raw lock by the core locking merge,\nand there was a new user of it introduced in this perf core merge.  Make\nsure that new use also uses the raw accessor functions.\n"
    },
    {
      "commit": "1f6e05171bb5cc32a4d6437ab2269fc21d169ca7",
      "tree": "cf8a99623fe30fde6c5a729f329aa3a4e282886a",
      "parents": [
        "19b4a8d520a6e0176dd52aaa429261ad4fcaa545",
        "9bab0b7fbaceec47d32db51cd9e59c82fb071f5a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:44:09 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:44:09 2011 +0200"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier\n  genirq: Fix fatfinered fixup really\n  genirq: percpu: allow interrupt type to be set at enable time\n  genirq: Add support for per-cpu dev_id interrupts\n  genirq: Add IRQCHIP_SKIP_SET_WAKE flag\n"
    },
    {
      "commit": "19b4a8d520a6e0176dd52aaa429261ad4fcaa545",
      "tree": "6dcf5a780718fc50b9cd79cc803daa7c7e080a02",
      "parents": [
        "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
        "048b718029033af117870d3da47da12995be14a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  rcu: Move propagation of -\u003ecompleted from rcu_start_gp() to rcu_report_qs_rsp()\n  rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states\n  rcu: Wire up RCU_BOOST_PRIO for rcutree\n  rcu: Make rcu_torture_boost() exit loops at end of test\n  rcu: Make rcu_torture_fqs() exit loops at end of test\n  rcu: Permit rt_mutex_unlock() with irqs disabled\n  rcu: Avoid having just-onlined CPU resched itself when RCU is idle\n  rcu: Suppress NMI backtraces when stall ends before dump\n  rcu: Prohibit grace periods during early boot\n  rcu: Simplify unboosting checks\n  rcu: Prevent early boot set_need_resched() from __rcu_pending()\n  rcu: Dump local stack if cannot dump all CPUs\u0027 stacks\n  rcu: Move __rcu_read_unlock()\u0027s barrier() within if-statement\n  rcu: Improve rcu_assign_pointer() and RCU_INIT_POINTER() documentation\n  rcu: Make rcu_assign_pointer() unconditionally insert a memory barrier\n  rcu: Make rcu_implicit_dynticks_qs() locals be correct size\n  rcu: Eliminate in_irq() checks in rcu_enter_nohz()\n  nohz: Remove nohz_cpu_mask\n  rcu: Document interpretation of RCU-lockdep splats\n  rcu: Allow rcutorture\u0027s stat_interval parameter to be changed at runtime\n  ...\n"
    },
    {
      "commit": "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
      "tree": "88647d9dc50d634dee9cfeb7f354d620977a2f33",
      "parents": [
        "982653009b883ef1529089e3e6f1ae2fee41cbe2",
        "68cc3990a545dc0da221b4844dd8b9c06623a6c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:17:32 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:17:32 2011 +0200"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)\n  rtmutex: Add missing rcu_read_unlock() in debug_rt_mutex_print_deadlock()\n  lockdep: Comment all warnings\n  lib: atomic64: Change the type of local lock to raw_spinlock_t\n  locking, lib/atomic64: Annotate atomic64_lock::lock as raw\n  locking, x86, iommu: Annotate qi-\u003eq_lock as raw\n  locking, x86, iommu: Annotate irq_2_ir_lock as raw\n  locking, x86, iommu: Annotate iommu-\u003eregister_lock as raw\n  locking, dma, ipu: Annotate bank_lock as raw\n  locking, ARM: Annotate low level hw locks as raw\n  locking, drivers/dca: Annotate dca_lock as raw\n  locking, powerpc: Annotate uic-\u003elock as raw\n  locking, x86: mce: Annotate cmci_discover_lock as raw\n  locking, ACPI: Annotate c3_lock as raw\n  locking, oprofile: Annotate oprofilefs lock as raw\n  locking, video: Annotate vga console lock as raw\n  locking, latencytop: Annotate latency_lock as raw\n  locking, timer_stats: Annotate table_lock as raw\n  locking, rwsem: Annotate inner lock as raw\n  locking, semaphores: Annotate inner lock as raw\n  locking, sched: Annotate thread_group_cputimer as raw\n  ...\n\nFix up conflicts in kernel/posix-cpu-timers.c manually: making\ncputimer-\u003ecputime a raw lock conflicted with the ABBA fix in commit\nbcd5cff7216f (\"cputimer: Cure lock inversion\").\n"
    },
    {
      "commit": "982653009b883ef1529089e3e6f1ae2fee41cbe2",
      "tree": "eec3b1fe947d442ee204a2d648133bc5223e5c59",
      "parents": [
        "37d96c28ecf0af1215bb6bbf580dbb1fabb5a6ec",
        "c020570138f5d9cb1fc0a853f9cf9e641178b5c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:11:53 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:11:53 2011 +0200"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, ioapic: Consolidate the explicit EOI code\n  x86, ioapic: Restore the mask bit correctly in eoi_ioapic_irq()\n  x86, kdump, ioapic: Reset remote-IRR in clear_IO_APIC\n  iommu: Rename the DMAR and INTR_REMAP config options\n  x86, ioapic: Define irq_remap_modify_chip_defaults()\n  x86, msi, intr-remap: Use the ioapic set affinity routine\n  iommu: Cleanup ifdefs in detect_intel_iommu()\n  iommu: No need to set dmar_disabled in check_zero_address()\n  iommu: Move IOMMU specific code to intel-iommu.c\n  intr_remap: Call dmar_dev_scope_init() explicitly\n  x86, x2apic: Enable the bios request for x2apic optout\n"
    },
    {
      "commit": "aa77677e0a288e08073620db5d2a31df83ca4788",
      "tree": "0d14b995a21c43f365d66b9ad101a334109fc4e4",
      "parents": [
        "efb8d21b2c6db3497655cc6a033ae8a9883e4063",
        "43a3beb6da994549ec28a9f31727b997a025f958"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 15:39:02 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 15:39:02 2011 +0200"
      },
      "message": "Merge branch \u0027staging-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n\n* \u0027staging-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1519 commits)\n  staging: et131x: Remove redundant check and return statement\n  staging: et131x: Mainly whitespace changes to appease checkpatch\n  staging: et131x: Remove last of the forward declarations\n  staging: et131x: Remove even more forward declarations\n  staging: et131x: Remove yet more forward declarations\n  staging: et131x: Remove more forward declarations\n  staging: et131x: Remove forward declaration of et131x_adapter_setup\n  staging: et131x: Remove some forward declarations\n  staging: et131x: Remove unused rx_ring.recv_packet_pool\n  staging: et131x: Remove call to find pci pm capability\n  staging: et131x: Remove redundant et131x_reset_recv() call\n  staging: et131x: Remove unused rx_ring.recv_buffer_pool\n  Staging: bcm: Fix three initialization errors in InterfaceDld.c\n  Staging: bcm: Fix coding style issues in InterfaceDld.c\n  staging:iio:dac: Add AD5360 driver\n  staging:iio:trigger:bfin-timer: Fix compile error\n  Staging: vt6655: add some range checks before memcpy()\n  Staging: vt6655: whitespace fixes to iotcl.c\n  Staging: vt6656: add some range checks before memcpy()\n  Staging: vt6656: whitespace cleanups in ioctl.c\n  ...\n\nFix up conflicts in:\n - drivers/{Kconfig,Makefile}, drivers/staging/{Kconfig,Makefile}:\n\tvg driver movement\n - drivers/staging/brcm80211/brcmfmac/{dhd_linux.c,mac80211_if.c}:\n\tdriver removal vs now stale changes\n - drivers/staging/rtl8192e/r8192E_core.c:\n\tdriver removal vs now stale changes\n - drivers/staging/et131x/et131*:\n\tdriver consolidation into one file, tried to do fixups\n"
    },
    {
      "commit": "efb8d21b2c6db3497655cc6a033ae8a9883e4063",
      "tree": "a14a0dbb9fec3a6db5e542ba7ed4a49681706420",
      "parents": [
        "3cb603284b3d256ae9ae9e65887cee8416bfef15",
        "d208a3bf77f902283894f546b6b5383202cf7882"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 15:11:09 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 15:11:09 2011 +0200"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (79 commits)\n  TTY: serial_core: Fix crash if DCD drop during suspend\n  tty/serial: atmel_serial: bootconsole removed from auto-enumerates\n  Revert \"TTY: call tty_driver_lookup_tty unconditionally\"\n  tty/serial: atmel_serial: add device tree support\n  tty/serial: atmel_serial: auto-enumerate ports\n  tty/serial: atmel_serial: whitespace and braces modifications\n  tty/serial: atmel_serial: change platform_data variable name\n  tty/serial: RS485 bindings for device tree\n  TTY: call tty_driver_lookup_tty unconditionally\n  TTY: pty, release tty in all ptmx_open fail paths\n  TTY: make tty_add_file non-failing\n  TTY: drop driver reference in tty_open fail path\n  8250_pci: Fix kernel panic when pch_uart is disabled\n  h8300: drivers/serial/Kconfig was moved\n  parport_pc: release IO region properly if unsupported ITE887x card is found\n  tty: Support compat_ioctl get/set termios_locked\n  hvc_console: display printk messages on console.\n  TTY: snyclinkmp: forever loop in tx_load_dma_buffer()\n  tty/n_gsm: avoid fifo overflow in gsm_dlci_data_output\n  tty/n_gsm: fix a bug in gsm_dlci_data_output (adaption \u003d 2 case)\n  ...\n\nFix up Conflicts in:\n - drivers/tty/serial/8250_pci.c\n\tTrivial conflict with removed duplicate device ID\n - drivers/tty/serial/atmel_serial.c\n\tAnnoying silly conflict between \"specify the port num via\n\tplatform_data\" and other changes to atmel_console_init\n"
    },
    {
      "commit": "3cb603284b3d256ae9ae9e65887cee8416bfef15",
      "tree": "a7012e9ca585c4ada1ff8896de326f540b460f80",
      "parents": [
        "2355e4290336fcda4b4a799448f745155a000226",
        "c5794cfac09a585945e1632451900594db19393b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:52:52 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:52:52 2011 +0200"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (26 commits)\n  hwmon: (w83627ehf) Better fix for negative temperature values\n  hwmon: (w83627ehf) Uninline is_word_sized\n  hwmon: (lm75) Document why clones are not detected\n  hwmon: (w83627ehf) Move fan pins check to a separate function\n  hwmon: (w83627ehf) Skip reading unused voltage registers\n  hwmon: (lm75) Add support for Analog Devices ADT75\n  hwmon: (pmbus_core) Simplify sign extensions\n  hwmon: (pmbus) Add support for Lineage Power DC-DC converters\n  hwmon: (pmbus/ltc2978) Add support for LTC3880 to LTC2978 driver\n  hwmon: (pmbus/ltc2978) Explicit driver for LTC2978\n  hwmon: (pmbus) Add support for TEMP2 peak attributes\n  hwmon: AD7314 driver (ported from IIO)\n  hwmon: (pmbus) Add support for Intersil power management chips\n  hwmon: (pmbus) Always call _pmbus_read_byte in core driver\n  hwmon: (pmbus) Replace EINVAL return codes with more appropriate errors\n  hwmon: (pmbus) Provide more documentation\n  hwmon/f71882fg: Make the decision wether to register fan attr. per fan\n  hwmon/f71882fg: Add a f71882fg_create_fan_sysfs_files helper function\n  hwmon/f71882fg: Make all fan/pwm attr tables 2 dimensional\n  hwmon: (exynos4_tmu) Remove IRQF_DISABLED\n  ...\n"
    },
    {
      "commit": "2355e4290336fcda4b4a799448f745155a000226",
      "tree": "81814353573f5a47ac8f96d75221cfee46a0f92c",
      "parents": [
        "e33bae14fd8da449d735552d78e6dd33ece0458c",
        "b1e4d20cbf2ef8e27515da032b95fdcbb5b06bf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:39:47 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:39:47 2011 +0200"
      },
      "message": "Merge git://github.com/rustyrussell/linux\n\n* git://github.com/rustyrussell/linux:\n  params: make dashes and underscores in parameter names truly equal\n  kmod: prevent kmod_loop_msg overflow in __request_module()\n"
    },
    {
      "commit": "b1e4d20cbf2ef8e27515da032b95fdcbb5b06bf1",
      "tree": "f080e839635fa36f55d22d147baa12ae64d4c181",
      "parents": [
        "37252db6aa576c34fd794a5a54fb32d7a8b3a07a"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Mon Oct 10 00:03:37 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Oct 26 13:10:39 2011 +1030"
      },
      "message": "params: make dashes and underscores in parameter names truly equal\n\nThe user may use \"foo-bar\" for a kernel parameter defined as \"foo_bar\".\nMake sure it works the other way around too.\n\nApply the equality of dashes and underscores on early_params and __setup\nparams as well.\n\nThe example given in Documentation/kernel-parameters.txt indicates that\nthis is the intended behaviour.\n\nWith the patch the kernel accepts \"log-buf-len\u003d1M\" as expected.\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d744545\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (neatened implementations)\n"
    },
    {
      "commit": "b61c27636fffbaf1980e675282777b9467254a40",
      "tree": "bd78cfefda4beb7e3de5fe97dd36fed3dbfa91c1",
      "parents": [
        "f6a2f5be07463ef532b9f4e3cb9e42ab9df85832"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 09 15:03:46 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 25 16:10:15 2011 -0700"
      },
      "message": "libceph: don\u0027t complain on msgpool alloc failures\n\nThe pool allocation failures are masked by the pool; there is no need to\nspam the console about them.  (That\u0027s the whole point of having the pool\nin the first place.)\n\nMark msg allocations whose failure is safely handled as such.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6ab00d465a1c8c02c2216f8220727282f3aa50b5",
      "tree": "b4cc08e1be5ffe0a60d9090d86f7f0d05b1f6e36",
      "parents": [
        "6a8ea4706adb4b4d8f77a8da5f9778b65fbf6f48"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 09 09:41:59 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 25 16:10:15 2011 -0700"
      },
      "message": "libceph: create messenger with client\n\nThis simplifies the init/shutdown paths, and makes client-\u003emsgr available\nduring the rest of the setup process.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ef78cc75f11ba3b085b105209cbfc6666ee10499",
      "tree": "1820dbd8ebb422b0a5751981cdfb6a2ecd30e20b",
      "parents": [
        "1442d1678ca7e53574fd403ba7bee6f4125d920c",
        "940aab490215424a269f93d2eba2794fc8b3e269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:44:06 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:44:06 2011 +0200"
      },
      "message": "Merge branch \u0027nfs-for-3.2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027nfs-for-3.2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (26 commits)\n  Check validity of cl_rpcclient in nfs_server_list_show\n  NFS: Get rid of the nfs_rdata_mempool\n  NFS: Don\u0027t rely on PageError in nfs_readpage_release_partial\n  NFS: Get rid of unnecessary calls to ClearPageError() in read code\n  NFS: Get rid of nfs_restart_rpc()\n  NFS: Get rid of the unused nfs_write_data-\u003eflags field\n  NFS: Get rid of the unused nfs_read_data-\u003eflags field\n  NFSv4: Translate NFS4ERR_BADNAME into ENOENT when applied to a lookup\n  NFS: Remove the unused \"lookupfh()\" version of nfs4_proc_lookup()\n  NFS: Use the inode-\u003ei_version to cache NFSv4 change attribute information\n  SUNRPC: Remove unnecessary export of rpc_sockaddr2uaddr\n  SUNRPC: Fix rpc_sockaddr2uaddr\n  nfs/super.c: local functions should be static\n  pnfsblock: fix writeback deadlock\n  pnfsblock: fix NULL pointer dereference\n  pnfs: recoalesce when ld read pagelist fails\n  pnfs: recoalesce when ld write pagelist fails\n  pnfs: make _set_lo_fail generic\n  pnfsblock: add missing rpc_put_mount and path_put\n  SUNRPC/NFS: make rpc pipe upcall generic\n  ...\n"
    },
    {
      "commit": "1442d1678ca7e53574fd403ba7bee6f4125d920c",
      "tree": "fd053a849158d2c5b8345ced8982108825b85736",
      "parents": [
        "7e0bb71e75020348bee523720a0c2f04cc72f540",
        "345c284290cabb5484df909303e73d6def8ec8ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:42:01 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:42:01 2011 +0200"
      },
      "message": "Merge branch \u0027for-3.2\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-3.2\u0027 of git://linux-nfs.org/~bfields/linux: (103 commits)\n  nfs41: implement DESTROY_CLIENTID operation\n  nfsd4: typo logical vs bitwise negate for want_mask\n  nfsd4: allow NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL | NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED\n  nfsd4: seq-\u003estatus_flags may be used unitialized\n  nfsd41: use SEQ4_STATUS_BACKCHANNEL_FAULT when cb_sequence is invalid\n  nfsd4: implement new 4.1 open reclaim types\n  nfsd4: remove unneeded CLAIM_DELEGATE_CUR workaround\n  nfsd4: warn on open failure after create\n  nfsd4: preallocate open stateid in process_open1()\n  nfsd4: do idr preallocation with stateid allocation\n  nfsd4: preallocate nfs4_file in process_open1()\n  nfsd4: clean up open owners on OPEN failure\n  nfsd4: simplify process_open1 logic\n  nfsd4: make is_open_owner boolean\n  nfsd4: centralize renew_client() calls\n  nfsd4: typo logical vs bitwise negate\n  nfs: fix bug about IPv6 address scope checking\n  nfsd4: more robust ignoring of WANT bits in OPEN\n  nfsd4: move name-length checks to xdr\n  nfsd4: move access/deny validity checks to xdr code\n  ...\n"
    },
    {
      "commit": "7e0bb71e75020348bee523720a0c2f04cc72f540",
      "tree": "1a22d65bbce34e8cc0f82c543c9486ffb58332f7",
      "parents": [
        "b9e2780d576a010d4aba1e69f247170bf3718d6b",
        "0ab1e79b825a5cd8aeb3b34d89c9a89dea900056"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:18:39 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:18:39 2011 +0200"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)\n  PM / Clocks: Remove redundant NULL checks before kfree()\n  PM / Documentation: Update docs about suspend and CPU hotplug\n  ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.\n  ARM: mach-shmobile: sh7372 A4R support (v4)\n  ARM: mach-shmobile: sh7372 A3SP support (v4)\n  PM / Sleep: Mark devices involved in wakeup signaling during suspend\n  PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image\n  PM / Hibernate: Do not initialize static and extern variables to 0\n  PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too\n  PM / Hibernate: Add resumedelay kernel param in addition to resumewait\n  MAINTAINERS: Update linux-pm list address\n  PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep\u003dnonvs\n  PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep\u003dnonvs\n  PM / Hibernate: Add resumewait param to support MMC-like devices as resume file\n  PM / Hibernate: Fix typo in a kerneldoc comment\n  PM / Hibernate: Freeze kernel threads after preallocating memory\n  PM: Update the policy on default wakeup settings\n  PM / VT: Cleanup #if defined uglyness and fix compile error\n  PM / Suspend: Off by one in pm_suspend()\n  PM / Hibernate: Include storage keys in hibernation image on s390\n  ...\n"
    },
    {
      "commit": "c9d6329c35869ebf2ff88a5831e8073d3365e8bd",
      "tree": "735df8ad43f404ca031dd2cf2040d74538958b47",
      "parents": [
        "4e7e2a2008f5d8c49791c412849d5b0232d39bb3",
        "ad7761ab3adc03fbf2cca8e3c84344175d876c40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 14:04:01 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 14:04:01 2011 +0200"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.linaro.org/people/triad/linux-pinctrl\n\n* \u0027for-next\u0027 of git://git.linaro.org/people/triad/linux-pinctrl:\n  pinctrl/sirf: fix sirfsoc_get_group_pins prototype\n  pinctrl: Don\u0027t copy function name when requesting a pin\n  pinctrl: Don\u0027t copy pin names when registering them\n  pinctrl: Remove unsafe __refdata\n  pinctrl: get_group_pins() const fixes\n  pinctrl: add a driver for the CSR SiRFprimaII pinmux\n  pinctrl: add a driver for the U300 pinmux\n  drivers: create a pin control subsystem\n"
    },
    {
      "commit": "4e7e2a2008f5d8c49791c412849d5b0232d39bb3",
      "tree": "32c3fa2d5cefb388689cb795225022769bf7b413",
      "parents": [
        "8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22",
        "7cccbdc84487616c3dbe493b04bfa1f362f4bc56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:57:45 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:57:45 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://opensource.wolfsonmicro.com/regmap\n\n* \u0027for-linus\u0027 of git://opensource.wolfsonmicro.com/regmap: (62 commits)\n  mfd: Enable rbtree cache for wm831x devices\n  regmap: Support some block operations on cached devices\n  regmap: Allow caches for devices with no defaults\n  regmap: Ensure rbtree syncs registers set to zero properly\n  regmap: Allow rbtree to cache zero default values\n  regmap: Warn on raw I/O as well as bulk reads that bypass cache\n  regmap: Return a sensible error code if we fail to read the cache\n  regmap: Use bsearch() to search the register defaults\n  regmap: Fix doc comment\n  regmap: Optimize the lookup path to use binary search\n  regmap: Ensure we scream if we enable cache bypass/only at the same time\n  regmap: Implement regcache_cache_bypass helper function\n  regmap: Save/restore the bypass state upon syncing\n  regmap: Lock the sync path, ensure we use the lockless _regmap_write()\n  regmap: Fix apostrophe usage\n  regmap: Make _regmap_write() global\n  regmap: Fix lock used for regcache_cache_only()\n  regmap: Grab the lock in regcache_cache_only()\n  regmap: Modify map-\u003ecache_bypass directly\n  regmap: Fix regcache_sync generic implementation\n  ...\n"
    },
    {
      "commit": "8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22",
      "tree": "a0a63398a9983667d52cbbbf4e2405b4f22b1d83",
      "parents": [
        "1be025d3cb40cd295123af2c394f7229ef9b30ca",
        "8b3408f8ee994973869d8ba32c5bf482bc4ddca4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)\n  dp83640: free packet queues on remove\n  dp83640: use proper function to free transmit time stamping packets\n  ipv6: Do not use routes from locally generated RAs\n  |PATCH net-next] tg3: add tx_dropped counter\n  be2net: don\u0027t create multiple RX/TX rings in multi channel mode\n  be2net: don\u0027t create multiple TXQs in BE2\n  be2net: refactor VF setup/teardown code into be_vf_setup/clear()\n  be2net: add vlan/rx-mode/flow-control config to be_setup()\n  net_sched: cls_flow: use skb_header_pointer()\n  ipv4: avoid useless call of the function check_peer_pmtu\n  TCP: remove TCP_DEBUG\n  net: Fix driver name for mdio-gpio.c\n  ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT\n  rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces\n  ipv4: fix ipsec forward performance regression\n  jme: fix irq storm after suspend/resume\n  route: fix ICMP redirect validation\n  net: hold sock reference while processing tx timestamps\n  tcp: md5: add more const attributes\n  Add ethtool -g support to virtio_net\n  ...\n\nFix up conflicts in:\n - drivers/net/Kconfig:\n\tThe split-up generated a trivial conflict with removal of a\n\tstale reference to Documentation/networking/net-modules.txt.\n\tRemove it from the new location instead.\n - fs/sysfs/dir.c:\n\tFairly nasty conflicts with the sysfs rb-tree usage, conflicting\n\twith Eric Biederman\u0027s changes for tagged directories.\n"
    },
    {
      "commit": "1be025d3cb40cd295123af2c394f7229ef9b30ca",
      "tree": "5dc14e1ea412cc7fdc3e563ad23187059fe8bfb5",
      "parents": [
        "2d03423b2319cc854adeb28a03f65de5b5e0ab63",
        "a2c76b83fdd763c826f38a55127ccf25708099ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:23:15 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:23:15 2011 +0200"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (260 commits)\n  usb: renesas_usbhs: fixup inconsistent return from usbhs_pkt_push()\n  usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB.\n  USB: gadget: midi: memory leak in f_midi_bind_config()\n  USB: gadget: midi: fix range check in f_midi_out_open()\n  QE/FHCI: fixed the CONTROL bug\n  usb: renesas_usbhs: tidyup for smatch warnings\n  USB: Fix USB Kconfig dependency problem on 85xx/QoirQ platforms\n  EHCI: workaround for MosChip controller bug\n  usb: gadget: file_storage: fix race on unloading\n  USB: ftdi_sio.c: Use ftdi async_icount structure for TIOCMIWAIT, as in other drivers\n  USB: ftdi_sio.c:Fill MSR fields of the ftdi async_icount structure\n  USB: ftdi_sio.c: Fill LSR fields of the ftdi async_icount structure\n  USB: ftdi_sio.c:Fill TX field of the ftdi async_icount structure\n  USB: ftdi_sio.c: Fill the RX field of the ftdi async_icount structure\n  USB: ftdi_sio.c: Basic icount infrastructure for ftdi_sio\n  usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF .\n  USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board\n  USB: Fix runtime wakeup on OHCI\n  xHCI/USB: Make xHCI driver have a BOS descriptor.\n  usb: gadget: add new usb gadget for ACM and mass storage\n  ...\n"
    },
    {
      "commit": "2d03423b2319cc854adeb28a03f65de5b5e0ab63",
      "tree": "20d9ddb661f3247f5dfaa6da8212123ed14a24c4",
      "parents": [
        "59e52534172d845ebffb0d7e85fc56fb7b857051",
        "2bbcb8788311a40714b585fc11b51da6ffa2ab92"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:13:59 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:13:59 2011 +0200"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (38 commits)\n  mm: memory hotplug: Check if pages are correctly reserved on a per-section basis\n  Revert \"memory hotplug: Correct page reservation checking\"\n  Update email address for stable patch submission\n  dynamic_debug: fix undefined reference to `__netdev_printk\u0027\n  dynamic_debug: use a single printk() to emit messages\n  dynamic_debug: remove num_enabled accounting\n  dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions\n  uio: Support physical addresses \u003e32 bits on 32-bit systems\n  sysfs: add unsigned long cast to prevent compile warning\n  drivers: base: print rejected matches with DEBUG_DRIVER\n  memory hotplug: Correct page reservation checking\n  memory hotplug: Refuse to add unaligned memory regions\n  remove the messy code file Documentation/zh_CN/SubmitChecklist\n  ARM: mxc: convert device creation to use platform_device_register_full\n  new helper to create platform devices with dma mask\n  docs/driver-model: Update device class docs\n  docs/driver-model: Document device.groups\n  kobj_uevent: Ignore if some listeners cannot handle message\n  dynamic_debug: make netif_dbg() call __netdev_printk()\n  dynamic_debug: make netdev_dbg() call __netdev_printk()\n  ...\n"
    },
    {
      "commit": "59e52534172d845ebffb0d7e85fc56fb7b857051",
      "tree": "49552e03f1bdb413cd8b5f7542e91770688d7047",
      "parents": [
        "73692d9bb58ecc2fa73f4b2bfcf6eadaa6d49a26",
        "0d89e54c8249645404283436d952afc261a04e1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)\n  MAINTAINERS: linux-m32r is moderated for non-subscribers\n  linux@lists.openrisc.net is moderated for non-subscribers\n  Drop default from \"DM365 codec select\" choice\n  parisc: Kconfig: cleanup Kernel page size default\n  Kconfig: remove redundant CONFIG_ prefix on two symbols\n  cris: remove arch/cris/arch-v32/lib/nand_init.S\n  microblaze: add missing CONFIG_ prefixes\n  h8300: drop puzzling Kconfig dependencies\n  MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers\n  tty: drop superfluous dependency in Kconfig\n  ARM: mxc: fix Kconfig typo \u0027i.MX51\u0027\n  Fix file references in Kconfig files\n  aic7xxx: fix Kconfig references to READMEs\n  Fix file references in drivers/ide/\n  thinkpad_acpi: Fix printk typo \u0027bluestooth\u0027\n  bcmring: drop commented out line in Kconfig\n  btmrvl_sdio: fix typo \u0027btmrvl_sdio_sd6888\u0027\n  doc: raw1394: Trivial typo fix\n  CIFS: Don\u0027t free volume_info-\u003eUNC until we are entirely done with it.\n  treewide: Correct spelling of successfully in comments\n  ...\n"
    }
  ],
  "next": "31dced41c6822ce751c033a53502ea4d8d399422"
}
