)]}'
{
  "log": [
    {
      "commit": "481b4bb5e370aa69c1dc276bd08871ec01b41d2a",
      "tree": "11a276bc58c2eb9b0a00fe751c3bf81bc3240382",
      "parents": [
        "cb240452bfc2ae9de7c840dd0fb3f5b33ce03c31"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Mar 22 16:32:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: mm_struct: remove 16 bytes of alignment padding on 64 bit builds\n\nReorder mm_struct to remove 16 bytes of alignment padding on 64 bit\nbuilds.  On my config this shrinks mm_struct by enough to fit in one\nfewer cache lines and allows more objects per slab in mm_struct\nkmem_cache under SLUB.\n\nslabinfo before patch :-\n    Sizes (bytes)     Slabs\n    --------------------------------\n    Object :     848  Total  :       9\n    SlabObj:     896  Full   :       2\n    SlabSiz:   16384  Partial:       5\n    Loss   :      48  CpuSlab:       2\n    Align  :      64  Objects:      18\n\n slabinfo after :-\n    Sizes (bytes)     Slabs\n    --------------------------------\n    Object :     832  Total  :       7\n    SlabObj:     832  Full   :       2\n    SlabSiz:   16384  Partial:       3\n    Loss   :       0  CpuSlab:       2\n    Align  :      64  Objects:      19\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb240452bfc2ae9de7c840dd0fb3f5b33ce03c31",
      "tree": "2c8542adfcae3dfe3e57b48a71abd50765e69fee",
      "parents": [
        "01d8b20dec5f4019283e244aba50ba86fe6ead6e"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue Mar 22 16:32:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: remove unused TestSetPageLocked() interface\n\nTestSetPageLocked() isn\u0027t being used anywhere.  Also, using it would\nlikely be an error, since the proper interface trylock_page() provides\nstronger ordering guarantees.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@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": "01d8b20dec5f4019283e244aba50ba86fe6ead6e",
      "tree": "738a2e675547de61f74d6f4019dd5830c40446dd",
      "parents": [
        "83813267c699ab11cc65a6d9d0f42db42f0862b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 22 16:32:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: simplify anon_vma refcounts\n\nThis patch changes the anon_vma refcount to be 0 when the object is free.\nIt does this by adding 1 ref to being in use in the anon_vma structure\n(iow.  the anon_vma-\u003ehead list is not empty).\n\nThis allows a simpler release scheme without having to check both the\nrefcount and the list as well as avoids taking a ref for each entry on the\nlist.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83813267c699ab11cc65a6d9d0f42db42f0862b3",
      "tree": "8a3257ae177ba0f1bb0aebd4a503357c26472908",
      "parents": [
        "9e60109f125013b6c571f399a15a8b0fe1ffa4e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 22 16:32:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: move anon_vma ref out from under CONFIG_foo\n\nWe need the anon_vma refcount unconditionally to simplify the anon_vma\nlifetime rules.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e60109f125013b6c571f399a15a8b0fe1ffa4e6",
      "tree": "52d34958e82e5649b737e21e453516a3ecd365d3",
      "parents": [
        "7bc32f6f90dae67730645da67bfd44304f810f93"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 22 16:32:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: rename drop_anon_vma() to put_anon_vma()\n\nThe normal code pattern used in the kernel is: get/put.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bc32f6f90dae67730645da67bfd44304f810f93",
      "tree": "caefa40b2b5563d0e54686b40cb6f6375c2015cb",
      "parents": [
        "1d16871d8c96deadc5f9753b6b096074f2cbcbe1"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Mar 22 16:32:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: debug-pagealloc: fix kconfig dependency warning\n\nFix kconfig dependency warning to satisfy dependencies:\n\nwarning: (PAGE_POISONING) selects DEBUG_PAGEALLOC which has unmet\ndirect dependencies (DEBUG_KERNEL \u0026\u0026 ARCH_SUPPORTS_DEBUG_PAGEALLOC \u0026\u0026\n(!HIBERNATION || !PPC \u0026\u0026 !SPARC) \u0026\u0026 !KMEMCHECK)\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d16871d8c96deadc5f9753b6b096074f2cbcbe1",
      "tree": "9f3f0c5a60e7a5bf4bfa9f2bd4c9492db36cecfe",
      "parents": [
        "e64a782fec684c29a8204c51b3cb554dce588592"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Mar 22 16:32:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: batch-free pcp list if possible\n\nfree_pcppages_bulk() frees pages from pcp lists in a round-robin fashion\nby keeping batch_free counter.  But it doesn\u0027t need to spin if there is\nonly one non-empty list.  This can be checked by batch_free \u003d\u003d\nMIGRATE_PCPTYPES.\n\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e64a782fec684c29a8204c51b3cb554dce588592",
      "tree": "5ff0beb21b973f1ad0edc1e31b6a1c2ee4406bdc",
      "parents": [
        "702cfbf93aaf3a091b0c64c8766c1ade0a820c38"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:32:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: change __remove_from_page_cache()\n\nNow we renamed remove_from_page_cache with delete_from_page_cache.  As\nconsistency of __remove_from_swap_cache and remove_from_swap_cache, we\nchange internal page cache handling function name, too.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "702cfbf93aaf3a091b0c64c8766c1ade0a820c38",
      "tree": "05416ad8133cbe64cb3b0ae475f486dd6ade8457",
      "parents": [
        "5adc7b518b54f7af2b8395d2035898340d96b1d5"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:32:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: goodbye remove_from_page_cache()\n\nNow delete_from_page_cache() replaces remove_from_page_cache().  So we\nremove remove_from_page_cache so fs or something out of mainline will\nnotice it when compile time and can fix it.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5adc7b518b54f7af2b8395d2035898340d96b1d5",
      "tree": "a1ef2db7e2a41333861ca067bb1c6f16589044eb",
      "parents": [
        "4c73b1bc6bb14aab7888ebe6bffe957cf7c07fa0"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:32:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: truncate: change remove_from_page_cache\n\nThis patch series changes remove_from_page_cache()\u0027s page ref counting\nrule.  Page cache ref count is decreased in delete_from_page_cache().  So\nwe don\u0027t need to decrease the page reference in callers.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c73b1bc6bb14aab7888ebe6bffe957cf7c07fa0",
      "tree": "152bc82ac08f59cdec1d7d3d4312f90e8aea124a",
      "parents": [
        "bd65cb86c98a79bc61afd0d80166005f125e9064"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:32:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: shmem: change remove_from_page_cache\n\nThis patch series changes remove_from_page_cache()\u0027s page ref counting\nrule.  Page cache ref count is decreased in delete_from_page_cache().  So\nwe don\u0027t need to decrease the page reference in callers.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd65cb86c98a79bc61afd0d80166005f125e9064",
      "tree": "7980a38792c6855346e6d3b8c15a876dca9b50f8",
      "parents": [
        "97cecb5a254fec22d28ef32235d888bfbfd7c783"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:30:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: hugetlbfs: change remove_from_page_cache\n\nThis patch series changes remove_from_page_cache()\u0027s page ref counting\nrule.  Page cache ref count is decreased in delete_from_page_cache().  So\nwe don\u0027t need to decrease the page reference in callers.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: William Irwin \u003cwli@holomorphy.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97cecb5a254fec22d28ef32235d888bfbfd7c783",
      "tree": "186c6bb9c1f999f807e2ec68dc6a0cf16c9d0d73",
      "parents": [
        "ef6a3c63112e865d632ff7c478ba7c7160cad0d1"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:30:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: introduce delete_from_page_cache()\n\nPresently we increase the page refcount in add_to_page_cache() but don\u0027t\ndecrease it in remove_from_page_cache().  Such asymmetry adds confusion,\nrequiring that callers notice it and a comment explaining why they release\na page reference.  It\u0027s not a good API.\n\nA long time ago, Hugh tried it (http://lkml.org/lkml/2004/10/24/140) but\ngave up because reiser4\u0027s drop_page() had to unlock the page between\nremoving it from page cache and doing the page_cache_release().  But now\nthe situation is changed.  I think at least things in current mainline\ndon\u0027t have any obstacles.  The problem is for out-of-mainline filesystems\n- if they have done such things as reiser4, this patch could be a problem\nbut they will discover this at compile time since we remove\nremove_from_page_cache().\n\nThis patch:\n\nThis function works as just wrapper remove_from_page_cache().  The\ndifference is that it decreases page references in itself.  So caller have\nto make sure it has a page reference before calling.\n\nThis patch is ready for removing remove_from_page_cache().\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Edward Shishkin \u003cedward.shishkin@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": "ef6a3c63112e865d632ff7c478ba7c7160cad0d1",
      "tree": "d0bd3ee2b79674e22b8dd3f318814cd4789697b8",
      "parents": [
        "318b275fbca1ab9ec0862de71420e0e92c3d1aa7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Mar 22 16:30:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: add replace_page_cache_page() function\n\nThis function basically does:\n\n     remove_from_page_cache(old);\n     page_cache_release(old);\n     add_to_page_cache_locked(new);\n\nExcept it does this atomically, so there\u0027s no possibility for the \"add\" to\nfail because of a race.\n\nIf memory cgroups are enabled, then the memory cgroup charge is also moved\nfrom the old page to the new.\n\nThis function is currently used by fuse to move pages into the page cache\non read, instead of copying the page contents.\n\n[minchan.kim@gmail.com: add freepage() hook to replace_page_cache_page()]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "318b275fbca1ab9ec0862de71420e0e92c3d1aa7",
      "tree": "aa4984469443ed53b4e7fa23d3f91966e536a803",
      "parents": [
        "5fda1bd5b8869574dad8e1f9f71e23bf0c186274"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Mar 22 16:30:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: allow GUP to fail instead of waiting on a page\n\nGUP user may want to try to acquire a reference to a page if it is already\nin memory, but not if IO, to bring it in, is needed.  For example KVM may\ntell vcpu to schedule another guest process if current one is trying to\naccess swapped out page.  Meanwhile, the page will be swapped in and the\nguest process, that depends on it, will be able to run again.\n\nThis patch adds FAULT_FLAG_RETRY_NOWAIT (suggested by Linus) and\nFOLL_NOWAIT follow_page flags.  FAULT_FLAG_RETRY_NOWAIT, when used in\nconjunction with VM_FAULT_ALLOW_RETRY, indicates to handle_mm_fault that\nit shouldn\u0027t drop mmap_sem and wait on a page, but return VM_FAULT_RETRY\ninstead.\n\n[akpm@linux-foundation.org: improve FOLL_NOWAIT comment]\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@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": "5fda1bd5b8869574dad8e1f9f71e23bf0c186274",
      "tree": "a714e0d153622bd89cf9f775e04763ccbd6c4ca5",
      "parents": [
        "cbf978bfb12d7deca97d7333f65eda0381a072de"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Tue Mar 22 16:30:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "mm: notifier_from_errno() cleanup\n\nWhile looking at some other notifier callbacks I noticed this code could\nuse a simple cleanup.\n\nnotifier_from_errno() no longer needs the if (ret)/else conditional.  That\nsame conditional is now done in notifier_from_errno().\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbf978bfb12d7deca97d7333f65eda0381a072de",
      "tree": "75a415ec997606460c0c851f43e29d008476f231",
      "parents": [
        "29423e77c06cee7d4e335ef4a7cbd949da978c91"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:30:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "oom: suppress nodes that are not allowed from meminfo on page alloc failure\n\nDisplaying extremely verbose meminfo for all nodes on the system is\noverkill for page allocation failures when the context restricts that\nallocation to only a subset of nodes.  We don\u0027t particularly care about\nthe state of all nodes when some are not allowed in the current context,\nthey can have an abundance of memory but we can\u0027t allocate from that part\nof memory.\n\nThis patch suppresses disallowed nodes from the meminfo dump on a page\nallocation failure if the context requires it.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29423e77c06cee7d4e335ef4a7cbd949da978c91",
      "tree": "4020036f36a8fb93d4c1010f59caa36742ff5c25",
      "parents": [
        "ddd588b5dd55f14320379961e47683db4e4c1d90"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:30:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "oom: suppress show_mem() for many nodes in irq context on page alloc failure\n\nWhen a page allocation failure occurs, show_mem() is called to dump the\nstate of the VM so users may understand what happened to get into that\ncondition.\n\nThis output, however, can be extremely verbose.  In irq context, it may\nresult in significant delays that incur NMI watchdog timeouts when the\nmachine is large (we use CONFIG_NODES_SHIFT \u003e 8 here to define a \"large\"\nmachine since the length of the show_mem() output is proportional to the\nnumber of possible nodes).\n\nThis patch suppresses the show_mem() call in irq context when the kernel\nhas CONFIG_NODES_SHIFT \u003e 8.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddd588b5dd55f14320379961e47683db4e4c1d90",
      "tree": "09de73c51c8c5e701e644236890a5d205ec3cdc9",
      "parents": [
        "94dcf29a11b3d20a28790598d701f98484a969da"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:30:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "oom: suppress nodes that are not allowed from meminfo on oom kill\n\nThe oom killer is extremely verbose for machines with a large number of\ncpus and/or nodes.  This verbosity can often be harmful if it causes other\nimportant messages to be scrolled from the kernel log and incurs a\nsignicant time delay, specifically for kernels with CONFIG_NODES_SHIFT \u003e\n8.\n\nThis patch causes only memory information to be displayed for nodes that\nare allowed by current\u0027s cpuset when dumping the VM state.  Information\nfor all other nodes is irrelevant to the oom condition; we don\u0027t care if\nthere\u0027s an abundance of memory elsewhere if we can\u0027t access it.\n\nThis only affects the behavior of dumping memory information when an oom\nis triggered.  Other dumps, such as for sysrq+m, still display the\nunfiltered form when using the existing show_mem() interface.\n\nAdditionally, the per-cpu pageset statistics are extremely verbose in oom\nkiller output, so it is now suppressed.  This removes\n\n\tnodes_weight(current-\u003emems_allowed) * (1 + nr_cpus)\n\nlines from the oom killer output.\n\nCallers may use __show_mem(SHOW_MEM_FILTER_NODES) to filter disallowed\nnodes.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94dcf29a11b3d20a28790598d701f98484a969da",
      "tree": "21c65f6634dcde739bb85cbc019ee273f1427f90",
      "parents": [
        "207205a2ba2655652fe46a60b49838af6c16a919"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 22 16:30:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "kthread: use kthread_create_on_node()\n\nksoftirqd, kworker, migration, and pktgend kthreads can be created with\nkthread_create_on_node(), to get proper NUMA affinities for their stack and\ntask_struct.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "207205a2ba2655652fe46a60b49838af6c16a919",
      "tree": "4309aa7cd5cf39c805219001e0ed8ec5b71e4d5e",
      "parents": [
        "b6a84016bd2598e35ead635147fa53619982648d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 22 16:30:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "kthread: NUMA aware kthread_create_on_node()\n\nAll kthreads being created from a single helper task, they all use memory\nfrom a single node for their kernel stack and task struct.\n\nThis patch suite creates kthread_create_on_node(), adding a \u0027cpu\u0027 parameter\nto parameters already used by kthread_create().\n\nThis parameter serves in allocating memory for the new kthread on its\nmemory node if possible.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6a84016bd2598e35ead635147fa53619982648d",
      "tree": "a73dc0ef4e353723bf123898f0fc143e587c16d8",
      "parents": [
        "504f52b5439aaf26d3e2c1d45ec10fce38c8dd27"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 22 16:30:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "mm: NUMA aware alloc_thread_info_node()\n\nAdd a node parameter to alloc_thread_info(), and change its name to\nalloc_thread_info_node()\n\nThis change is needed to allow NUMA aware kthread_create_on_cpu()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "504f52b5439aaf26d3e2c1d45ec10fce38c8dd27",
      "tree": "cb46d72c50e843c36540c88ef8c9000dff31c1c8",
      "parents": [
        "9d502c1c8d47b337c378c2ac8eaeee7918ad16b1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 22 16:30:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "mm: NUMA aware alloc_task_struct_node()\n\nAll kthreads being created from a single helper task, they all use memory\nfrom a single node for their kernel stack and task struct.\n\nThis patch suite creates kthread_create_on_cpu(), adding a \u0027cpu\u0027 parameter\nto parameters already used by kthread_create().\n\nThis parameter serves in allocating memory for the new kthread on its\nmemory node if available.\n\nUsers of this new function are : ksoftirqd, kworker, migration, pktgend...\n\nThis patch:\n\nAdd a node parameter to alloc_task_struct(), and change its name to\nalloc_task_struct_node()\n\nThis change is needed to allow NUMA aware kthread_create_on_cpu()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d502c1c8d47b337c378c2ac8eaeee7918ad16b1",
      "tree": "2bd7b5213369a509220864868d593f4ab4e5ebd1",
      "parents": [
        "d527caf22e48480b102c7c6ee5b9ba12170148f7"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:30:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "mm/compaction: check migrate_pages\u0027s return value instead of list_empty()\n\nMany migrate_page\u0027s caller check return value instead of list_empy by\ncf608ac19c (\"mm: compaction: fix COMPACTPAGEFAILED counting\").  This patch\nmakes compaction\u0027s migrate_pages consistent with others.  This patch\nshould not change old behavior.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: 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": "d527caf22e48480b102c7c6ee5b9ba12170148f7",
      "tree": "7d53a2c430f8c020b6fa8390396dd2d1ce480b9a",
      "parents": [
        "89699605fe7cfd8611900346f61cb6cbf179b10a"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Tue Mar 22 16:30:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "mm: compaction: prevent kswapd compacting memory to reduce CPU usage\n\nThis patch reverts 5a03b051 (\"thp: use compaction in kswapd for GFP_ATOMIC\norder \u003e 0\") due to reports stating that kswapd CPU usage was higher and\nIRQs were being disabled more frequently.  This was reported at\nhttp://www.spinics.net/linux/fedora/alsa-user/msg09885.html.\n\nWithout this patch applied, CPU usage by kswapd hovers around the 20% mark\naccording to the tester (Arthur Marsh:\nhttp://www.spinics.net/linux/fedora/alsa-user/msg09899.html).  With this\npatch applied, it\u0027s around 2%.\n\nThe problem is not related to THP which specifies __GFP_NO_KSWAPD but is\ntriggered by high-order allocations hitting the low watermark for their\norder and waking kswapd on kernels with CONFIG_COMPACTION set.  The most\ncommon trigger for this is network cards configured for jumbo frames but\nit\u0027s also possible it\u0027ll be triggered by fork-heavy workloads (order-1)\nand some wireless cards which depend on order-1 allocations.\n\nThe symptoms for the user will be high CPU usage by kswapd in low-memory\nsituations which could be confused with another writeback problem.  While\na patch like 5a03b051 may be reintroduced in the future, this patch plays\nit safe for now and reverts it.\n\n[mel@csn.ul.ie: Beefed up the changelog]\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReported-by: Arthur Marsh \u003carthur.marsh@internode.on.net\u003e\nTested-by: Arthur Marsh \u003carthur.marsh@internode.on.net\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.38.1]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89699605fe7cfd8611900346f61cb6cbf179b10a",
      "tree": "5970232526d3b3715704bb6f90742e033802c3aa",
      "parents": [
        "ef0a5e80f56f6409e957e7117da9551c3d3ff239"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Mar 22 16:30:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "mm: vmap area cache\n\nProvide a free area cache for the vmalloc virtual address allocator, based\non the algorithm used by the user virtual memory allocator.\n\nThis reduces the number of rbtree operations and linear traversals over\nthe vmap extents in order to find a free area, by starting off at the last\npoint that a free area was found.\n\nThe free area cache is reset if areas are freed behind it, or if we are\nsearching for a smaller area or alignment than last time.  So allocation\npatterns are not changed (verified by corner-case and random test cases in\nuserspace testing).\n\nThis solves a regression caused by lazy vunmap TLB purging introduced in\ndb64fe02 (mm: rewrite vmap layer).  That patch will leave extents in the\nvmap allocator after they are vunmapped, and until a significant number\naccumulate that can be flushed in a single batch.  So in a workload that\nvmalloc/vfree frequently, a chain of extents will build up from\nVMALLOC_START address, which have to be iterated over each time (giving an\nO(n) type of behaviour).\n\nAfter this patch, the search will start from where it left off, giving\ncloser to an amortized O(1).\n\nThis is verified to solve regressions reported Steven in GFS2, and Avi in\nKVM.\n\nHugh\u0027s update:\n\n: I tried out the recent mmotm, and on one machine was fortunate to hit\n: the BUG_ON(first-\u003eva_start \u003c addr) which seems to have been stalling\n: your vmap area cache patch ever since May.\n\n: I can get you addresses etc, I did dump a few out; but once I stared\n: at them, it was easier just to look at the code: and I cannot see how\n: you would be so sure that first-\u003eva_start \u003c addr, once you\u0027ve done\n: that addr \u003d ALIGN(max(...), align) above, if align is over 0x1000\n: (align was 0x8000 or 0x4000 in the cases I hit: ioremaps like Steve).\n\n: I originally got around it by just changing the\n: \t\tif (first-\u003eva_start \u003c addr) {\n: to\n: \t\twhile (first-\u003eva_start \u003c addr) {\n: without thinking about it any further; but that seemed unsatisfactory,\n: why would we want to loop here when we\u0027ve got another very similar\n: loop just below it?\n\n: I am never going to admit how long I\u0027ve spent trying to grasp your\n: \"while (n)\" rbtree loop just above this, the one with the peculiar\n: \t\tif (!first \u0026\u0026 tmp-\u003eva_start \u003c addr + size)\n: in.  That\u0027s unfamiliar to me, I\u0027m guessing it\u0027s designed to save a\n: subsequent rb_next() in a few circumstances (at risk of then setting\n: a wrong cached_hole_size?); but they did appear few to me, and I didn\u0027t\n: feel I could sign off something with that in when I don\u0027t grasp it,\n: and it seems responsible for extra code and mistaken BUG_ON below it.\n\n: I\u0027ve reverted to the familiar rbtree loop that find_vma() does (but\n: with va_end \u003e\u003d addr as you had, to respect the additional guard page):\n: and then (given that cached_hole_size starts out 0) I don\u0027t see the\n: need for any complications below it.  If you do want to keep that loop\n: as you had it, please add a comment to explain what it\u0027s trying to do,\n: and where addr is relative to first when you emerge from it.\n\n: Aren\u0027t your tests \"size \u003c\u003d cached_hole_size\" and\n: \"addr + size \u003e first-\u003eva_start\" forgetting the guard page we want\n: before the next area?  I\u0027ve changed those.\n\n: I have not changed your many \"addr + size - 1 \u003c addr\" overflow tests,\n: but have since come to wonder, shouldn\u0027t they be \"addr + size \u003c addr\"\n: tests - won\u0027t the vend checks go wrong if addr + size is 0?\n\n: I have added a few comments - Wolfgang Wander\u0027s 2.6.13 description of\n: 1363c3cd8603a913a27e2995dccbd70d5312d8e6 Avoiding mmap fragmentation\n: helped me a lot, perhaps a pointer to that would be good too.  And I found\n: it easier to understand when I renamed cached_start slightly and moved the\n: overflow label down.\n\n: This patch would go after your mm-vmap-area-cache.patch in mmotm.\n: Trivially, nobody is going to get that BUG_ON with this patch, and it\n: appears to work fine on my machines; but I have not given it anything like\n: the testing you did on your original, and may have broken all the\n: performance you were aiming for.  Please take a look and test it out\n: integrate with yours if you\u0027re satisfied - thanks.\n\n[akpm@linux-foundation.org: add locking comment]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReported-and-tested-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nReported-and-tested-by: Avi Kivity \u003cavi@redhat.com\u003e\nTested-by: \"Barry J. Marson\" \u003cbmarson@redhat.com\u003e\nCc: Prarit Bhargava \u003cprarit@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": "ef0a5e80f56f6409e957e7117da9551c3d3ff239",
      "tree": "718bcc9cbab5ffaeb07d65eb5d0eebbb80af3801",
      "parents": [
        "0508e04e05cdf9b819210f5d5a12264e5eeff1f3"
      ],
      "author": {
        "name": "Robert Morell",
        "email": "rmorell@nvidia.com",
        "time": "Tue Mar 22 16:30:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "pwm_backlight: add check_fb() hook\n\nIn systems with multiple framebuffer devices, one of the devices might be\nblanked while another is unblanked.  In order for the backlight blanking\nlogic to know whether to turn off the backlight for a particular\nframebuffer\u0027s blanking notification, it needs to be able to check if a\ngiven framebuffer device corresponds to the backlight.\n\nThis plumbs the check_fb hook from core backlight through the\npwm_backlight helper to allow platform code to plug in a check_fb hook.\n\nSigned-off-by: Robert Morell \u003crmorell@nvidia.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Arun Murthy \u003carun.murthy@stericsson.com\u003e\nCc: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0508e04e05cdf9b819210f5d5a12264e5eeff1f3",
      "tree": "94a9c7f5105755523c624416458060618f0276a3",
      "parents": [
        "b372412e159897c20ce2ad100f51c5d94ae98845"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Mar 22 16:30:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "drivers/video/backlight/jornada720_*.c: make needlessly global symbols static\n\nThe following symbols are needlessly defined global: jornada_bl_init,\njornada_bl_exit, jornada_lcd_init, jornada_lcd_exit.\n\nMake them static.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Kristoffer Ericson \u003ckristoffer.ericson@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b372412e159897c20ce2ad100f51c5d94ae98845",
      "tree": "e939eac4cb8b3e58f86ecc9591189ac617a344ac",
      "parents": [
        "39b3dee76fa1f1ac8310ea5898ba7c07280bdd9f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Mar 22 16:30:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "backlight: apple_bl depends on ACPI\n\napple_bl uses ACPI interfaces (data \u0026 code), so it should depend on ACPI.\n\n  drivers/video/backlight/apple_bl.c:142: warning: \u0027struct acpi_device\u0027 declared inside parameter list\n  drivers/video/backlight/apple_bl.c:142: warning: its scope is only this definition or declaration, which is probably not what you want\n  drivers/video/backlight/apple_bl.c:201: warning: \u0027struct acpi_device\u0027 declared inside parameter list\n  drivers/video/backlight/apple_bl.c:215: error: variable \u0027apple_bl_driver\u0027 has initializer but incomplete type\n  drivers/video/backlight/apple_bl.c:216: error: unknown field \u0027name\u0027 specified in initializer\n  ...\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39b3dee76fa1f1ac8310ea5898ba7c07280bdd9f",
      "tree": "2e1ea6ca8afa6c15dc6a288c1b800e52cd823f39",
      "parents": [
        "99fd28e19429f5212f0758adc1b2f08c6e63b6db"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 22 16:30:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "mbp_nvidia_bl: rename to apple_bl\n\nIt works on hardware other than Macbook Pros, and it works on GPUs other\nthan Nvidia.  It should even work on iMacs, so change the name to match\nreality more precisely and include an alias so existing users don\u0027t get\nconfused.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Richard Purdie \u003crichard.purdie@linuxfoundation.org\u003e\nCc: Mourad De Clerck \u003cmourad@aquazul.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99fd28e19429f5212f0758adc1b2f08c6e63b6db",
      "tree": "9d9139fa58c28b1f8a40b77df7b839bc70c59a25",
      "parents": [
        "23a9847f0d5252872c4fecb5d4f803c523bd9283"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 22 16:30:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "mbp_nvidia_bl: check that the backlight control functions\n\nThe SMI-based backlight control functionality may fail to work if the\nsystem is running under EFI rather than BIOS.  Check that the hardware\nresponds as expected, and exit if it doesn\u0027t.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Richard Purdie \u003crichard.purdie@linuxfoundation.org\u003e\nCc: Mourad De Clerck \u003cmourad@aquazul.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "23a9847f0d5252872c4fecb5d4f803c523bd9283",
      "tree": "c85e4580d76007cfe486804e88c71b3ec2e074ab",
      "parents": [
        "9661e92c10a9775243c1ecb73373528ed8725a10"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 22 16:30:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "mbp_nvidia_bl: remove DMI dependency\n\nThis driver only has to deal with two different classes of hardware, but\nright now it needs new DMI entries for every new machine. It turns out\nthat there\u0027s an ACPI device that uniquely identifies Apples with backlights,\nso this patch reworks the driver into an ACPI one, identifies the hardware\nby checking the PCI vendor of the root bridge and strips out all the DMI\ncode. It also changes the config text to clarify that it works on devices\nother than Macbook Pros and GPUs other than nvidia.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Richard Purdie \u003crichard.purdie@linuxfoundation.org\u003e\nCc: Mourad De Clerck \u003cmourad@aquazul.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9661e92c10a9775243c1ecb73373528ed8725a10",
      "tree": "6540081a58b66142f3c84f93f76313be7e38b02b",
      "parents": [
        "7eae3efa13c5d1c8e7d8dd0504ad524963b8add1"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 22 16:30:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "acpi: tie ACPI backlight devices to PCI devices if possible\n\nDual-GPU machines may provide more than one ACPI backlight interface.  Tie\nthe backlight device to the GPU in order to allow userspace to identify\nthe correct interface.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Alex Deucher \u003calexdeucher@gmail.com\u003e\nCc: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7eae3efa13c5d1c8e7d8dd0504ad524963b8add1",
      "tree": "3e8326d5a377b55916ffd48c179821148881f4f1",
      "parents": [
        "63ec0119d3720034dfd626c9785aefa5a6f972ca"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 22 16:30:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "nouveau: change the backlight parent device to the connector, not the PCI dev\n\nWe may eventually end up with per-connector backlights, especially with\nddcci devices.  Make sure that the parent node for the backlight device is\nthe connector rather than the PCI device.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Alex Deucher \u003calexdeucher@gmail.com\u003e\nAcked-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63ec0119d3720034dfd626c9785aefa5a6f972ca",
      "tree": "58141ebc543324e8111c5fdc5f2ada50418926d6",
      "parents": [
        "bb7ca747f8d6243b3943c5b133048652020f4a50"
      ],
      "author": {
        "name": "Michel Dänzer",
        "email": "michel@daenzer.net",
        "time": "Tue Mar 22 16:30:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "radeon: expose backlight class device for legacy LVDS encoder\n\nAllows e.g. power management daemons to control the backlight level. Inspired\nby the corresponding code in radeonfb.\n\n[mjg@redhat.com: updated to add backlight type and make the connector the parent device]\nSigned-off-by: Michel Dänzer \u003cmichel@daenzer.net\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nAcked-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nCc: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb7ca747f8d6243b3943c5b133048652020f4a50",
      "tree": "b40e879a7b26e3763aea2af2d4dd9079483de11e",
      "parents": [
        "ccd7510fd8dea5b4b2af87fb2aef2ebd6b23b76b"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 22 16:30:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "backlight: add backlight type\n\nThere may be multiple ways of controlling the backlight on a given\nmachine.  Allow drivers to expose the type of interface they are\nproviding, making it possible for userspace to make appropriate policy\ndecisions.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Alex Deucher \u003calexdeucher@gmail.com\u003e\nCc: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ccd7510fd8dea5b4b2af87fb2aef2ebd6b23b76b",
      "tree": "cd71d20ddf832d08e60bd3f62694ba7fc224dde1",
      "parents": [
        "67d1da79b25c05d9a38b820bb5b5d89c91070ab2"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Mar 22 16:30:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "drivers/leds/leds-lp5523.c: world-writable engine* sysfs files\n\nDon\u0027t allow everybody to change LED settings.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67d1da79b25c05d9a38b820bb5b5d89c91070ab2",
      "tree": "d476f6dec88b93118848a6ad89c96d3bcbc7b057",
      "parents": [
        "1baf0eb3975ab56e29d57984b7bd6c9cd360dbf3"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Mar 22 16:30:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "drivers/leds/leds-lp5521.c: world-writable sysfs engine* files\n\nDon\u0027t allow everybody to change LED settings.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1baf0eb3975ab56e29d57984b7bd6c9cd360dbf3",
      "tree": "1f54a690fa9a88a42be05f35d9fa86416fbad4b1",
      "parents": [
        "9517f925f2eb9ffca78b3f0f9389fc675bcb572c"
      ],
      "author": {
        "name": "Donghwa Lee",
        "email": "dh09.lee@samsung.com",
        "time": "Tue Mar 22 16:30:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "drivers/vidfeo/backlight: ld9040 amoled driver support\n\nAdd a ld9040 amoled panel driver.\n\nSigned-off-by: Donghwa Lee \u003cdh09.lee@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Inki Dae \u003cinki.dae@samsung.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9517f925f2eb9ffca78b3f0f9389fc675bcb572c",
      "tree": "e2750ab7bdc19cba2f17ce2d479e4abd6468cd61",
      "parents": [
        "b1e6b7068f026e88257c20522555c78122e5a14d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Mar 22 16:30:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "leds: make *struct gpio_led_platform_data.leds const\n\nAnd fix a typo.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1e6b7068f026e88257c20522555c78122e5a14d",
      "tree": "21cbe63961ce77a0077a638fcfbda84d4530a63e",
      "parents": [
        "551ea73838c5eba18d673bd4e7fb0fec77cdcb8a"
      ],
      "author": {
        "name": "Shreshtha Kumar Sahu",
        "email": "shreshthakumar.sahu@stericsson.com",
        "time": "Tue Mar 22 16:30:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "leds: add driver for LM3530 ALS\n\nSimple backlight driver for National Semiconductor LM3530.  Presently only\nmanual mode is supported, PWM and ALS support to be added.\n\nSigned-off-by: Shreshtha Kumar Sahu \u003cshreshthakumar.sahu@stericsson.com\u003e\nCc: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "551ea73838c5eba18d673bd4e7fb0fec77cdcb8a",
      "tree": "93cc18d1a12ca9a7248cf005fe64a6c5aa67fdee",
      "parents": [
        "8d2587970b8bdf7c8d9208e3f4bb93182aef1a0f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Mar 22 16:30:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "leds: convert bd2802 driver to dev_pm_ops\n\nThere is a move to deprecate bus-specific PM operations and move to using\ndev_pm_ops instead in order to reduce the amount of boilerplate code in\nbuses and facilitiate updates to the PM core.  Do this move for the bs2802\ndriver.\n\n[akpm@linux-foundation.org: fix warnings]\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Kim Kyuwon \u003cq1.kim@samsung.com\u003e\nCc: Kim Kyuwon \u003cchammoru@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d2587970b8bdf7c8d9208e3f4bb93182aef1a0f",
      "tree": "931cacaa98583412975b4601b62fb244a5ed678d",
      "parents": [
        "edd45544c6f09550df0a5491aa8a07af24767e73"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Tue Mar 22 16:30:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "cgroups: if you list_empty() a head then don\u0027t list_del() it\n\nlist_del() leaves poison in the prev and next pointers.  The next\nlist_empty() will compare those poisons, and say the list isn\u0027t empty.\nAny list operations that assume the node is on a list because of such a\ncheck will be fooled into dereferencing poison.  One needs to INIT the\nnode after the del, and fortunately there\u0027s already a wrapper for that -\nlist_del_init().\n\nSome of the dels are followed by deallocations, so can be ignored, and one\ncan be merged with an add to make a move.  Apart from that, I erred on the\nside of caution in making nodes list_empty()-queriable.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edd45544c6f09550df0a5491aa8a07af24767e73",
      "tree": "a44ec26701ed430b68ee3b045b6575462d15af71",
      "parents": [
        "30e2b41f20b6238f51e7cffb879c7a0f0073f5fe"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:30:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "oom: avoid deferring oom killer if exiting task is being traced\n\nThe oom killer naturally defers killing anything if it finds an eligible\ntask that is already exiting and has yet to detach its -\u003emm.  This avoids\nunnecessarily killing tasks when one is already in the exit path and may\nfree enough memory that the oom killer is no longer needed.  This is\ndetected by PF_EXITING since threads that have already detached its -\u003emm\nare no longer considered at all.\n\nThe problem with always deferring when a thread is PF_EXITING, however, is\nthat it may never actually exit when being traced, specifically if another\ntask is tracing it with PTRACE_O_TRACEEXIT.  The oom killer does not want\nto defer in this case since there is no guarantee that thread will ever\nexit without intervention.\n\nThis patch will now only defer the oom killer when a thread is PF_EXITING\nand no ptracer has stopped its progress in the exit path.  It also ensures\nthat a child is sacrificed for the chosen parent only if it has a\ndifferent -\u003emm as the comment implies: this ensures that the thread group\nleader is always targeted appropriately.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Andrey Vagin \u003cavagin@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.38.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30e2b41f20b6238f51e7cffb879c7a0f0073f5fe",
      "tree": "fc1bdcfd516bbf67cf6c5c36f903a299c1ac03df",
      "parents": [
        "3a5dda7a17cf3706f79b86293f29db02d61e0d48"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Tue Mar 22 16:30:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "oom: skip zombies when iterating tasklist\n\nWe shouldn\u0027t defer oom killing if a thread has already detached its -\u003emm\nand still has TIF_MEMDIE set.  Memory needs to be freed, so find kill\nother threads that pin the same -\u003emm or find another task to kill.\n\nSigned-off-by: Andrey Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.38.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a5dda7a17cf3706f79b86293f29db02d61e0d48",
      "tree": "0d173f484968b7e08cf3f75006450b62e1521227",
      "parents": [
        "52c50567d8ab0a0a87f12cceaa4194967854f0bd"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:30:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "oom: prevent unnecessary oom kills or kernel panics\n\nThis patch prevents unnecessary oom kills or kernel panics by reverting\ntwo commits:\n\n\t495789a5 (oom: make oom_score to per-process value)\n\tcef1d352 (oom: multi threaded process coredump don\u0027t make deadlock)\n\nFirst, 495789a5 (oom: make oom_score to per-process value) ignores the\nfact that all threads in a thread group do not necessarily exit at the\nsame time.\n\nIt is imperative that select_bad_process() detect threads that are in the\nexit path, specifically those with PF_EXITING set, to prevent needlessly\nkilling additional tasks.  If a process is oom killed and the thread group\nleader exits, select_bad_process() cannot detect the other threads that\nare PF_EXITING by iterating over only processes.  Thus, it currently\nchooses another task unnecessarily for oom kill or panics the machine when\nnothing else is eligible.\n\nBy iterating over threads instead, it is possible to detect threads that\nare exiting and nominate them for oom kill so they get access to memory\nreserves.\n\nSecond, cef1d352 (oom: multi threaded process coredump don\u0027t make\ndeadlock) erroneously avoids making the oom killer a no-op when an\neligible thread other than current isfound to be exiting.  We want to\ndetect this situation so that we may allow that exiting thread time to\nexit and free its memory; if it is able to exit on its own, that should\nfree memory so current is no loner oom.  If it is not able to exit on its\nown, the oom killer will nominate it for oom kill which, in this case,\nonly means it will get access to memory reserves.\n\nWithout this change, it is easy for the oom killer to unnecessarily target\ntasks when all threads of a victim don\u0027t exit before the thread group\nleader or, in the worst case, panic the machine.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Andrey Vagin \u003cavagin@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.38.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52c50567d8ab0a0a87f12cceaa4194967854f0bd",
      "tree": "11644ba2fd533fdd39631254fc9cfc2699dfb8ae",
      "parents": [
        "c7a1fcd8e6e0c3c8f4f8f74fc926ff04da3bf7a7"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Mar 22 16:30:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "mm: swap: unlock swapfile inode mutex before closing file on bad swapfiles\n\nIf an administrator tries to swapon a file backed by NFS, the inode mutex is\ntaken (as it is for any swapfile) but later identified to be a bad swapfile\ndue to the lack of bmap and tries to cleanup. During cleanup, an attempt is\nmade to close the file but with inode-\u003ei_mutex still held. Closing an NFS\nfile syncs it which tries to acquire the inode mutex leading to deadlock. If\nlockdep is enabled the following appears on the console;\n\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    [ INFO: possible recursive locking detected ]\n    2.6.38-rc8-autobuild #1\n    ---------------------------------------------\n    swapon/2192 is trying to acquire lock:\n     (\u0026sb-\u003es_type-\u003ei_mutex_key#13){+.+.+.}, at: vfs_fsync_range+0x47/0x7c\n\n    but task is already holding lock:\n     (\u0026sb-\u003es_type-\u003ei_mutex_key#13){+.+.+.}, at: sys_swapon+0x28d/0xae7\n\n    other info that might help us debug this:\n    1 lock held by swapon/2192:\n     #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#13){+.+.+.}, at: sys_swapon+0x28d/0xae7\n\n    stack backtrace:\n    Pid: 2192, comm: swapon Not tainted 2.6.38-rc8-autobuild #1\n    Call Trace:\n        __lock_acquire+0x2eb/0x1623\n        find_get_pages_tag+0x14a/0x174\n        pagevec_lookup_tag+0x25/0x2e\n        vfs_fsync_range+0x47/0x7c\n        lock_acquire+0xd3/0x100\n        vfs_fsync_range+0x47/0x7c\n        nfs_flush_one+0x0/0xdf [nfs]\n        mutex_lock_nested+0x40/0x2b1\n        vfs_fsync_range+0x47/0x7c\n        vfs_fsync_range+0x47/0x7c\n        vfs_fsync+0x1c/0x1e\n        nfs_file_flush+0x64/0x69 [nfs]\n        filp_close+0x43/0x72\n        sys_swapon+0xa39/0xae7\n        sysret_check+0x2e/0x69\n        system_call_fastpath+0x16/0x1b\n\nThis patch releases the mutex if its held before calling filep_close()\nso swapon fails as expected without deadlock when the swapfile is backed\nby NFS.  If accepted for 2.6.39, it should also be considered a -stable\ncandidate for 2.6.38 and 2.6.37.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.37+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7a1fcd8e6e0c3c8f4f8f74fc926ff04da3bf7a7",
      "tree": "dae21e6ab0bddf7121615c871914f52c4e9d6da4",
      "parents": [
        "01ba82514603593bb11589e2ea2afdeba1921636"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 22 16:30:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "include/asm-generic/unistd.h: fix syncfs syscall number\n\nsyncfs() is duplicating name_to_handle_at() due to a merging mistake.\n\nCc: Sage Weil \u003csage@newdream.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01ba82514603593bb11589e2ea2afdeba1921636",
      "tree": "c66c762ac6bb98c450e6852aee914e883449c488",
      "parents": [
        "ab70a1d7c7fc6665d83f41b5ce790ff8376e0b81",
        "4fdccdfbb4652a7bbac8adbce7449eb093775118"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:26:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:26:57 2011 -0700"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Add statistics for this_cmpxchg_double failures\n  slub: Add missing irq restore for the OOM path\n"
    },
    {
      "commit": "ab70a1d7c7fc6665d83f41b5ce790ff8376e0b81",
      "tree": "dee8acafa2dfb87cde4ddba68eff5e1c75557469",
      "parents": [
        "0adfc56ce8fdc5c17630434e49f30536ba7b8559",
        "68da9ba4eeadae86ad42e52b80822fbd56971267"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:26:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:26:10 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  [net/9p]: Introduce basic flow-control for VirtIO transport.\n  9p: use the updated offset given by generic_write_checks\n  [net/9p] Don\u0027t re-pin pages on retrying virtqueue_add_buf().\n  [net/9p] Set the condition just before waking up.\n  [net/9p] unconditional wake_up to proc waiting for space on VirtIO ring\n  fs/9p: Add v9fs_dentry2v9ses\n  fs/9p: Attach writeback_fid on first open with WR flag\n  fs/9p: Open writeback fid in O_SYNC mode\n  fs/9p: Use truncate_setsize instead of vmtruncate\n  net/9p: Fix compile warning\n  net/9p: Convert the in the 9p rpc call path to GFP_NOFS\n  fs/9p: Fix race in initializing writeback fid\n"
    },
    {
      "commit": "0adfc56ce8fdc5c17630434e49f30536ba7b8559",
      "tree": "ed63f34e74998a8a1550d4af61b3178e68a5d60d",
      "parents": [
        "f23eb2b2b28547fc70df82dd5049eb39bec5ba12",
        "59c2be1e4d42c0d4949cecdeef3f37070a1fbc13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:25:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:25:25 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  rbd: use watch/notify for changes in rbd header\n  libceph: add lingering request and watch/notify event framework\n  rbd: update email address in Documentation\n  ceph: rename dentry_release -\u003e d_release, fix comment\n  ceph: add request to the tail of unsafe write list\n  ceph: remove request from unsafe list if it is canceled/timed out\n  ceph: move readahead default to fs/ceph from libceph\n  ceph: add ino32 mount option\n  ceph: update common header files\n  ceph: remove debugfs debug cruft\n  libceph: fix osd request queuing on osdmap updates\n  ceph: preserve I_COMPLETE across rename\n  libceph: Fix base64-decoding when input ends in newline.\n"
    },
    {
      "commit": "f23eb2b2b28547fc70df82dd5049eb39bec5ba12",
      "tree": "144dce462b34d8a232a06f766786ebfb0235fa87",
      "parents": [
        "f741a79e982cf56d7584435bad663553ffe6715f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:17:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:17:32 2011 -0700"
      },
      "message": "tty: stop using \"delayed_work\" in the tty layer\n\nUsing delayed-work for tty flip buffers ends up causing us to wait for\nthe next tick to complete some actions.  That\u0027s usually not all that\nnoticeable, but for certain latency-critical workloads it ends up being\ntotally unacceptable.\n\nAs an extreme case of this, passing a token back-and-forth over a pty\nwill take two ticks per iteration, so even just a thousand iterations\nwill take 8 seconds assuming a common 250Hz configuration.\n\nAvoiding the whole delayed work issue brings that ping-pong test-case\ndown to 0.009s on my machine.\n\nIn more practical terms, this latency has been a performance problem for\nthings like dive computer simulators (simulating the serial interface\nusing the ptys) and for other environments (Alan mentions a CP/M emulator).\n\nReported-by: Jef Driesen \u003cjefdriesen@telenet.be\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68da9ba4eeadae86ad42e52b80822fbd56971267",
      "tree": "c832a4b1ff3e1bf97601183d11dfe7149a0da41c",
      "parents": [
        "aaf0ef1d2bce05cfd06cf29c96a6973df4d0a6a8"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Fri Mar 18 15:49:48 2011 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 16:32:50 2011 -0500"
      },
      "message": "[net/9p]: Introduce basic flow-control for VirtIO transport.\n\nRecent zerocopy work in the 9P VirtIO transport maps and pins\nuser buffers into kernel memory for the server to work on them.\nSince the user process can initiate this kind of pinning with a simple\nread/write call, thousands of IO threads initiated by the user process can\nhog the system resources and could result into denial of service.\n\nThis patch introduces flow control to avoid that extreme scenario.\n\nThe ceiling limit to avoid denial of service attacks is set to relatively\nhigh (nr_free_pagecache_pages()/4) so that it won\u0027t interfere with\nregular usage, but can step in extreme cases to limit the total system\nhang. Since we don\u0027t have a global structure to accommodate this variable,\nI choose the virtio_chan as the home for this.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nReviewed-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "aaf0ef1d2bce05cfd06cf29c96a6973df4d0a6a8",
      "tree": "32c0bba396dcdf5e5c920aff3560bed48f4c159f",
      "parents": [
        "316ad5501c2098cb2a2a25ed77a0421f1671411c"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Wed Mar 16 21:40:49 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 16:32:49 2011 -0500"
      },
      "message": "9p: use the updated offset given by generic_write_checks\n\nWithout this fix, even if a file is opened in O_APPEND mode, data will be\nwritten at current file position instead of end of file.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "316ad5501c2098cb2a2a25ed77a0421f1671411c",
      "tree": "7954b7c8988cf3f41fea54b8243dce6bc3e3ad2d",
      "parents": [
        "a01a984035ea799b14aa5e874dcaeb122f09c4b4"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Mon Mar 14 14:22:41 2011 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 16:32:48 2011 -0500"
      },
      "message": "[net/9p] Don\u0027t re-pin pages on retrying virtqueue_add_buf().\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a01a984035ea799b14aa5e874dcaeb122f09c4b4",
      "tree": "7998ac0aab9c53c25dde38710a4ab60ac7d2935f",
      "parents": [
        "53bda3e5b4e91763224ecb7d05dab94d281fd41d"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Mon Mar 14 14:12:49 2011 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 16:32:47 2011 -0500"
      },
      "message": "[net/9p] Set the condition just before waking up.\n\nGiven that the sprious wake-ups are common, we need to move the\ncondition setting right next to the wake_up().  After setting the condition\nto req-\u003estatus \u003d REQ_STATUS_RCVD, sprious wakeups may cause the\nvirtqueue back on the free list for someone else to use.\nThis may result in kernel panic while relasing the pinned pages\nin p9_release_req_pages().\n\nAlso rearranged the while loop in req_done() for better redability.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "53bda3e5b4e91763224ecb7d05dab94d281fd41d",
      "tree": "0e21d7fd11ff058a9deb37dee53eac68ad42f727",
      "parents": [
        "42869c8adae72366fc6c4f3924ce3d6c3735c4a3"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Tue Mar 08 15:34:20 2011 -0800"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 16:32:19 2011 -0500"
      },
      "message": "[net/9p] unconditional wake_up to proc waiting for space on VirtIO ring\n\nProcess may wait to get space on VirtIO ring to send a transaction to\nVirtFS server. Current code just does a conditional wake_up() which\nmeans only one process will be woken up even if multiple processes\nare waiting.\n\nThis fix makes the wake_up unconditional. Hence we won\u0027t have any\nprocesses waiting for-ever.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "42869c8adae72366fc6c4f3924ce3d6c3735c4a3",
      "tree": "1195d18d05a2118bc5c168000494bfc1433b62f3",
      "parents": [
        "7add697a3d271aa7080513f92dab190c75174b7e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Mar 08 16:39:50 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 15:43:36 2011 -0500"
      },
      "message": "fs/9p: Add v9fs_dentry2v9ses\n\nAdd the new static inline and use the same\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "7add697a3d271aa7080513f92dab190c75174b7e",
      "tree": "435508f4ab7222c367ea72ca208027218b5f7613",
      "parents": [
        "ea59bb759b8fd240860c37026ab1b998d26ac285"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Mar 08 16:39:49 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 15:43:36 2011 -0500"
      },
      "message": "fs/9p: Attach writeback_fid on first open with WR flag\n\nWe don\u0027t need writeback fid if we are only doing O_RDONLY open\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "ea59bb759b8fd240860c37026ab1b998d26ac285",
      "tree": "de7fee45a8c08b7407f1b0d833889ca69154a506",
      "parents": [
        "059c138bc79320bd7d6fba91bad4d50eeec9c31f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Mar 08 16:39:49 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 15:43:36 2011 -0500"
      },
      "message": "fs/9p: Open writeback fid in O_SYNC mode\n\nOlder version of protocol don\u0027t support tsyncfs operation.\nSo for them force a O_SYNC flag on the server\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "059c138bc79320bd7d6fba91bad4d50eeec9c31f",
      "tree": "0ec60c1a30863ff20029043b14909d02aadc696e",
      "parents": [
        "472e7f9f8b547605ee9670ac803e971c2e3eeac0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Mar 08 16:39:48 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 15:43:35 2011 -0500"
      },
      "message": "fs/9p: Use truncate_setsize instead of vmtruncate\n\nconvert vmtruncate usage to truncate_setsize. We also writeback\nall dirty pages before doing 9p operations and on success call truncate_setsize.\nThis ensure that we continue sanely on failed truncate on the server. The\ndisadvantage is that we are now going to write back the content that get\nthrown away later as a part of truncate.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "472e7f9f8b547605ee9670ac803e971c2e3eeac0",
      "tree": "1b3d9128fb9ee23522b5f7adf4e449d871f50bbb",
      "parents": [
        "eeff66ef6e33925f615d49e6c846263e342ab60e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Mar 08 16:39:47 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 15:43:35 2011 -0500"
      },
      "message": "net/9p: Fix compile warning\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "eeff66ef6e33925f615d49e6c846263e342ab60e",
      "tree": "588907158fd45ca6c71d5385f98830ecc2bd56ac",
      "parents": [
        "5a7e0a8cf50cf905403f5a498e86d1f97cfcf51b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Mar 08 16:39:47 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 15:43:35 2011 -0500"
      },
      "message": "net/9p: Convert the in the 9p rpc call path to GFP_NOFS\n\nWithout this we can cause reclaim allocation in writepage.\n\n[ 3433.448430] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 3433.449117] [ INFO: inconsistent lock state ]\n[ 3433.449117] 2.6.38-rc5+ #84\n[ 3433.449117] ---------------------------------\n[ 3433.449117] inconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-R} usage.\n[ 3433.449117] kswapd0/505 [HC0[0]:SC0[0]:HE1:SE1] takes:\n[ 3433.449117]  (iprune_sem){+++++-}, at: [\u003cffffffff810ebbab\u003e] shrink_icache_memory+0x45/0x2b1\n[ 3433.449117] {RECLAIM_FS-ON-W} state was registered at:\n[ 3433.449117]   [\u003cffffffff8107fe5f\u003e] mark_held_locks+0x52/0x70\n[ 3433.449117]   [\u003cffffffff8107ff02\u003e] lockdep_trace_alloc+0x85/0x9f\n[ 3433.449117]   [\u003cffffffff810d353d\u003e] slab_pre_alloc_hook+0x18/0x3c\n[ 3433.449117]   [\u003cffffffff810d3fd5\u003e] kmem_cache_alloc+0x23/0xa2\n[ 3433.449117]   [\u003cffffffff8127be77\u003e] idr_pre_get+0x2d/0x6f\n[ 3433.449117]   [\u003cffffffff815434eb\u003e] p9_idpool_get+0x30/0xae\n[ 3433.449117]   [\u003cffffffff81540123\u003e] p9_client_rpc+0xd7/0x9b0\n[ 3433.449117]   [\u003cffffffff815427b0\u003e] p9_client_clunk+0x88/0xdb\n[ 3433.449117]   [\u003cffffffff811d56e5\u003e] v9fs_evict_inode+0x3c/0x48\n[ 3433.449117]   [\u003cffffffff810eb511\u003e] evict+0x1f/0x87\n[ 3433.449117]   [\u003cffffffff810eb5c0\u003e] dispose_list+0x47/0xe3\n[ 3433.449117]   [\u003cffffffff810eb8da\u003e] evict_inodes+0x138/0x14f\n[ 3433.449117]   [\u003cffffffff810d90e2\u003e] generic_shutdown_super+0x57/0xe8\n[ 3433.449117]   [\u003cffffffff810d91e8\u003e] kill_anon_super+0x11/0x50\n[ 3433.449117]   [\u003cffffffff811d4951\u003e] v9fs_kill_super+0x49/0xab\n[ 3433.449117]   [\u003cffffffff810d926e\u003e] deactivate_locked_super+0x21/0x46\n[ 3433.449117]   [\u003cffffffff810d9e84\u003e] deactivate_super+0x40/0x44\n[ 3433.449117]   [\u003cffffffff810ef848\u003e] mntput_no_expire+0x100/0x109\n[ 3433.449117]   [\u003cffffffff810f0aeb\u003e] sys_umount+0x2f1/0x31c\n[ 3433.449117]   [\u003cffffffff8102c87b\u003e] system_call_fastpath+0x16/0x1b\n[ 3433.449117] irq event stamp: 192941\n[ 3433.449117] hardirqs last  enabled at (192941): [\u003cffffffff81568dcf\u003e] _raw_spin_unlock_irq+0x2b/0x30\n[ 3433.449117] hardirqs last disabled at (192940): [\u003cffffffff810b5f97\u003e] shrink_inactive_list+0x290/0x2f5\n[ 3433.449117] softirqs last  enabled at (188470): [\u003cffffffff8105fd65\u003e] __do_softirq+0x133/0x152\n[ 3433.449117] softirqs last disabled at (188455): [\u003cffffffff8102d7cc\u003e] call_softirq+0x1c/0x28\n[ 3433.449117]\n[ 3433.449117] other info that might help us debug this:\n[ 3433.449117] 1 lock held by kswapd0/505:\n[ 3433.449117]  #0:  (shrinker_rwsem){++++..}, at: [\u003cffffffff810b52e2\u003e] shrink_slab+0x38/0x15f\n[ 3433.449117]\n[ 3433.449117] stack backtrace:\n[ 3433.449117] Pid: 505, comm: kswapd0 Not tainted 2.6.38-rc5+ #84\n[ 3433.449117] Call Trace:\n[ 3433.449117]  [\u003cffffffff8107fbce\u003e] ? valid_state+0x17e/0x191\n[ 3433.449117]  [\u003cffffffff81036896\u003e] ? save_stack_trace+0x28/0x45\n[ 3433.449117]  [\u003cffffffff81080426\u003e] ? check_usage_forwards+0x0/0x87\n[ 3433.449117]  [\u003cffffffff8107fcf4\u003e] ? mark_lock+0x113/0x22c\n[ 3433.449117]  [\u003cffffffff8108105f\u003e] ? __lock_acquire+0x37a/0xcf7\n[ 3433.449117]  [\u003cffffffff8107fc0e\u003e] ? mark_lock+0x2d/0x22c\n[ 3433.449117]  [\u003cffffffff81081077\u003e] ? __lock_acquire+0x392/0xcf7\n[ 3433.449117]  [\u003cffffffff810b14d2\u003e] ? determine_dirtyable_memory+0x15/0x28\n[ 3433.449117]  [\u003cffffffff81081a33\u003e] ? lock_acquire+0x57/0x6d\n[ 3433.449117]  [\u003cffffffff810ebbab\u003e] ? shrink_icache_memory+0x45/0x2b1\n[ 3433.449117]  [\u003cffffffff81567d85\u003e] ? down_read+0x47/0x5c\n[ 3433.449117]  [\u003cffffffff810ebbab\u003e] ? shrink_icache_memory+0x45/0x2b1\n[ 3433.449117]  [\u003cffffffff810ebbab\u003e] ? shrink_icache_memory+0x45/0x2b1\n[ 3433.449117]  [\u003cffffffff810b5385\u003e] ? shrink_slab+0xdb/0x15f\n[ 3433.449117]  [\u003cffffffff810b69bc\u003e] ? kswapd+0x574/0x96a\n[ 3433.449117]  [\u003cffffffff810b6448\u003e] ? kswapd+0x0/0x96a\n[ 3433.449117]  [\u003cffffffff810714e2\u003e] ? kthread+0x7d/0x85\n[ 3433.449117]  [\u003cffffffff8102d6d4\u003e] ? kernel_thread_helper+0x4/0x10\n[ 3433.449117]  [\u003cffffffff81569200\u003e] ? restore_args+0x0/0x30\n[ 3433.449117]  [\u003cffffffff81071465\u003e] ? kthread+0x0/0x85\n[ 3433.449117]  [\u003cffffffff8102d6d0\u003e] ? kernel_thread_helper+0x0/0x10\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5a7e0a8cf50cf905403f5a498e86d1f97cfcf51b",
      "tree": "3f20f98db76f7a221f397630a03e6089c1208510",
      "parents": [
        "f741a79e982cf56d7584435bad663553ffe6715f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Mar 08 16:39:46 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 22 15:43:35 2011 -0500"
      },
      "message": "fs/9p: Fix race in initializing writeback fid\n\nWhen two process open the same file we can end up with both of them\nallocating the writeback_fid. Add a new mutex which can be used\nfor synchronizing v9fs_inode member values.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4fdccdfbb4652a7bbac8adbce7449eb093775118",
      "tree": "ff780cfea8087ea4143b1a2186257448f0bad3bb",
      "parents": [
        "2fd66c517d5e98de2528d86e0e62f5069ff99f59"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Mar 22 13:35:00 2011 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Mar 22 20:48:04 2011 +0200"
      },
      "message": "slub: Add statistics for this_cmpxchg_double failures\n\nAdd some statistics for debugging.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "2fd66c517d5e98de2528d86e0e62f5069ff99f59",
      "tree": "2d8ef9bf8b71872475728f778f0c095ae395785b",
      "parents": [
        "f741a79e982cf56d7584435bad663553ffe6715f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Mar 22 13:32:53 2011 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Mar 22 20:48:04 2011 +0200"
      },
      "message": "slub: Add missing irq restore for the OOM path\n\nOOM path is missing the irq restore in the CONFIG_CMPXCHG_LOCAL case.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "59c2be1e4d42c0d4949cecdeef3f37070a1fbc13",
      "tree": "919f191a2f2840b510dce246210564bf45200616",
      "parents": [
        "a40c4f10e3fb96030358e49abd010c1f08446fa3"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Mar 21 15:10:11 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 22 11:33:56 2011 -0700"
      },
      "message": "rbd: use watch/notify for changes in rbd header\n\nSend notifications when we change the rbd header (e.g. create a snapshot)\nand wait for such notifications.  This allows synchronizing the snapshot\ncreation between different rbd clients/rools.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a40c4f10e3fb96030358e49abd010c1f08446fa3",
      "tree": "1aa1f6ca618cd021d944f7da7caeb5b182beaee4",
      "parents": [
        "55b00bae111030bd0dfcc898a920e54725aed1bf"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Mar 21 15:07:16 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 22 11:33:55 2011 -0700"
      },
      "message": "libceph: add lingering request and watch/notify event framework\n\nLingering requests are requests that are sent to the OSD normally but\ntracked also after we get a successful request.  This keeps the OSD\nconnection open and resends the original request if the object moves to\nanother OSD.  The OSD can then send notification messages back to us\nif another client initiates a notify.\n\nThis framework will be used by RBD so that the client gets notification\nwhen a snapshot is created by another node or tool.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f741a79e982cf56d7584435bad663553ffe6715f",
      "tree": "491f0a8a05d9add4c0338ee8af4a18f3508503cd",
      "parents": [
        "73d5a8675f32b8e22e11773b314324316f920192",
        "e7c0a167860620bd2938366896964f729ddaeaaa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:42:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:42:43 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: make fuse_dentry_revalidate() RCU aware\n  fuse: make fuse_permission() RCU aware\n  fuse: wakeup pollers on connection release/abort\n  fuse: reduce size of struct fuse_request\n"
    },
    {
      "commit": "73d5a8675f32b8e22e11773b314324316f920192",
      "tree": "d353161d8d162afd6fa90267c96a902a0a9e85be",
      "parents": [
        "e77277dfe28baed73b6fd7c66c3fb44580a3dac1",
        "d8aa5ec3382e6a545b8f25178d1e0992d4927f19"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:41:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:41:36 2011 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  xen: update mask_rw_pte after kernel page tables init changes\n  xen: set max_pfn_mapped to the last pfn mapped\n  x86: Cleanup highmap after brk is concluded\n\nFix up trivial onflict (added header file includes) in\narch/x86/mm/init_64.c\n"
    },
    {
      "commit": "e77277dfe28baed73b6fd7c66c3fb44580a3dac1",
      "tree": "0c40be7a4ca9140d86122ed9057fe1573ea91b2d",
      "parents": [
        "75ea6358bc7d97630a8edc2b89c930de118cf7eb",
        "9edb240696bacd53f4331119d2dfd13d4cd4852f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:06:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:06:54 2011 -0700"
      },
      "message": "Merge branch \u0027next-samsung\u0027 of git://git.fluff.org/bjdooks/linux\n\n* \u0027next-samsung\u0027 of git://git.fluff.org/bjdooks/linux:\n  ARM: H1940/RX1950: Change default LED triggers\n  ARM: S3C2442: RX1950: Add support for LED blinking\n  ARM: S3C2442: RX1950: Retain LEDs state in suspend\n  ARM: S3C2410: H1940: Fix lcd_power_set function\n  ARM: S3C2410: H1940: Add battery support\n  ARM: S3C2410: H1940: Use leds-gpio driver for LEDs managing\n  ARM: S3C2410: H1940: Make h1940-bluetooth.c compile again\n  ARM: S3C2410: H1940: Add keys device\n"
    },
    {
      "commit": "75ea6358bc7d97630a8edc2b89c930de118cf7eb",
      "tree": "e77a60e46844adf71758bad41d77d40658acd7eb",
      "parents": [
        "14577beb8293c187a12d2e78ac6250d5dcec2190",
        "97491ba3f64c2137101efdfe7593305d692d7d63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:05:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:05:27 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus/2639/i2c-2\u0027 of git://git.fluff.org/bjdooks/linux\n\n* \u0027for-linus/2639/i2c-2\u0027 of git://git.fluff.org/bjdooks/linux:\n  i2c-pxa2xx: Don\u0027t clear isr bits too early\n  i2c-pxa2xx: Fix register offsets\n  i2c-pxa2xx: pass of_node from platform driver to adapter and publish\n  i2c-pxa2xx: check timeout correctly\n  i2c-pxa2xx: add support for shared IRQ handler\n  i2c-pxa2xx: Add PCI support for PXA I2C controller\n  ARM: pxa2xx: reorganize I2C files\n  i2c-pxa2xx: use dynamic register layout\n  i2c-mxs: set controller to pio queue mode after reset\n  i2c-eg20t: support new device OKI SEMICONDUCTOR ML7213 IOH\n  i2c/busses: Add support for Diolan U2C-12 USB-I2C adapter\n"
    },
    {
      "commit": "14577beb8293c187a12d2e78ac6250d5dcec2190",
      "tree": "cca4d8feba497870e3a5936ba2a65c68ce4ddf6b",
      "parents": [
        "09b9cc44c942256026bf7a63fec2155b8f488899",
        "e8c500c2b64b6e237e67ecba7249e72363c47047"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:36:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:36:23 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case\n  slab,rcu: don\u0027t assume the size of struct rcu_head\n  slub,rcu: don\u0027t assume the size of struct rcu_head\n  slub: automatically reserve bytes at the end of slab\n  Lockless (and preemptless) fastpaths for slub\n  slub: Get rid of slab_free_hook_irq()\n  slub: min_partial needs to be in first cacheline\n  slub: fix ksize() build error\n  slub: fix kmemcheck calls to match ksize() hints\n  Revert \"slab: Fix missing DEBUG_SLAB last user\"\n  mm: Remove support for kmem_cache_name()\n"
    },
    {
      "commit": "09b9cc44c942256026bf7a63fec2155b8f488899",
      "tree": "642695cd3f1622a3c52dcd6c2b941ac9b72780c9",
      "parents": [
        "c62b3898636072de4bf9af36b6cd5a920ebfe896"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Mar 22 00:27:42 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:35:53 2011 -0700"
      },
      "message": "sd: Fail discard requests when logical block provisioning has been disabled\n\nEnsure that we kill discard requests after logical block provisioning\nhas been disabled in sysfs.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c62b3898636072de4bf9af36b6cd5a920ebfe896",
      "tree": "5fcccbf7cb2c690f43aa9ee20577fafe0b0bcdac",
      "parents": [
        "eddecbb601c9ea3fab7e67d7892010fc9426d1e6",
        "736561a01f11114146b1b7f82d486fa9c95828ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:25:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:25:34 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (33 commits)\n  IPVS: Use global mutex in ip_vs_app.c\n  ipvs: fix a typo in __ip_vs_control_init()\n  veth: Fix the byte counters\n  net ipv6: Fix duplicate /proc/sys/net/ipv6/neigh directory entries.\n  macvlan: Fix use after free of struct macvlan_port.\n  net: fix incorrect spelling in drop monitor protocol\n  can: c_can: Do basic c_can configuration _before_ enabling the interrupts\n  net/appletalk: fix atalk_release use after free\n  ipx: fix ipx_release()\n  snmp: SNMP_UPD_PO_STATS_BH() always called from softirq\n  l2tp: fix possible oops on l2tp_eth module unload\n  xfrm: Fix initialize repl field of struct xfrm_state\n  netfilter: ipt_CLUSTERIP: fix buffer overflow\n  netfilter: xtables: fix reentrancy\n  netfilter: ipset: fix checking the type revision at create command\n  netfilter: ipset: fix address ranges at hash:*port* types\n  niu: Rename NIU parent platform device name to fix conflict.\n  r8169: fix a bug in rtl8169_init_phy()\n  bonding: fix a typo in a comment\n  ftmac100: use resource_size()\n  ...\n"
    },
    {
      "commit": "736561a01f11114146b1b7f82d486fa9c95828ef",
      "tree": "804709a3163df1c6e33e2a1da5ec91f719bce17c",
      "parents": [
        "f40f94fc6c3b5a5542d5ed976e9ff69a3b463802"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Mar 21 15:18:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 20:39:24 2011 -0700"
      },
      "message": "IPVS: Use global mutex in ip_vs_app.c\n\nAs part of the work to make IPVS network namespace aware\n__ip_vs_app_mutex was replaced by a per-namespace lock,\nipvs-\u003eapp_mutex. ipvs-\u003eapp_key is also supplied for debugging purposes.\n\nUnfortunately this implementation results in ipvs-\u003eapp_key residing\nin non-static storage which at the very least causes a lockdep warning.\n\nThis patch takes the rather heavy-handed approach of reinstating\n__ip_vs_app_mutex which will cover access to the ipvs-\u003elist_head\nof all network namespaces.\n\n[   12.610000] IPVS: Creating netns size\u003d2456 id\u003d0\n[   12.630000] IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)\n[   12.640000] BUG: key ffff880003bbf1a0 not in .data!\n[   12.640000] ------------[ cut here ]------------\n[   12.640000] WARNING: at kernel/lockdep.c:2701 lockdep_init_map+0x37b/0x570()\n[   12.640000] Hardware name: Bochs\n[   12.640000] Pid: 1, comm: swapper Tainted: G        W 2.6.38-kexec-06330-g69b7efe-dirty #122\n[   12.650000] Call Trace:\n[   12.650000]  [\u003cffffffff8102e685\u003e] warn_slowpath_common+0x75/0xb0\n[   12.650000]  [\u003cffffffff8102e6d5\u003e] warn_slowpath_null+0x15/0x20\n[   12.650000]  [\u003cffffffff8105967b\u003e] lockdep_init_map+0x37b/0x570\n[   12.650000]  [\u003cffffffff8105829d\u003e] ? trace_hardirqs_on+0xd/0x10\n[   12.650000]  [\u003cffffffff81055ad8\u003e] debug_mutex_init+0x38/0x50\n[   12.650000]  [\u003cffffffff8104bc4c\u003e] __mutex_init+0x5c/0x70\n[   12.650000]  [\u003cffffffff81685ee7\u003e] __ip_vs_app_init+0x64/0x86\n[   12.660000]  [\u003cffffffff81685a3b\u003e] ? ip_vs_init+0x0/0xff\n[   12.660000]  [\u003cffffffff811b1c33\u003e] T.620+0x43/0x170\n[   12.660000]  [\u003cffffffff811b1e9a\u003e] ? register_pernet_subsys+0x1a/0x40\n[   12.660000]  [\u003cffffffff81685a3b\u003e] ? ip_vs_init+0x0/0xff\n[   12.660000]  [\u003cffffffff81685a3b\u003e] ? ip_vs_init+0x0/0xff\n[   12.660000]  [\u003cffffffff811b1db7\u003e] register_pernet_operations+0x57/0xb0\n[   12.660000]  [\u003cffffffff81685a3b\u003e] ? ip_vs_init+0x0/0xff\n[   12.670000]  [\u003cffffffff811b1ea9\u003e] register_pernet_subsys+0x29/0x40\n[   12.670000]  [\u003cffffffff81685f19\u003e] ip_vs_app_init+0x10/0x12\n[   12.670000]  [\u003cffffffff81685a87\u003e] ip_vs_init+0x4c/0xff\n[   12.670000]  [\u003cffffffff8166562c\u003e] do_one_initcall+0x7a/0x12e\n[   12.670000]  [\u003cffffffff8166583e\u003e] kernel_init+0x13e/0x1c2\n[   12.670000]  [\u003cffffffff8128c134\u003e] kernel_thread_helper+0x4/0x10\n[   12.670000]  [\u003cffffffff8128ad40\u003e] ? restore_args+0x0/0x30\n[   12.680000]  [\u003cffffffff81665700\u003e] ? kernel_init+0x0/0x1c2\n[   12.680000]  [\u003cffffffff8128c130\u003e] ? kernel_thread_helper+0x0/0x1global0\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Julian Anastasov \u003cja@ssi.bg\u003e\nCc: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f40f94fc6c3b5a5542d5ed976e9ff69a3b463802",
      "tree": "402248ed54d1700fec2d5785a85e1059b33484f2",
      "parents": [
        "675071a2ef3f4a6d25ee002a7437d50431168344"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Mar 21 10:15:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 20:39:24 2011 -0700"
      },
      "message": "ipvs: fix a typo in __ip_vs_control_init()\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "675071a2ef3f4a6d25ee002a7437d50431168344",
      "tree": "54399646ea81261585fa8889b6d744cec0a8a3a8",
      "parents": [
        "9d2a8fa96a44ba242de3a6f56acaef7a40a97b97"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Mar 21 18:24:53 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:24:53 2011 -0700"
      },
      "message": "veth: Fix the byte counters\n\nCommit 44540960 \"veth: move loopback logic to common location\" introduced\na bug in the packet counters.  I don\u0027t understand why that happened as it\nis not explained in the comments and the mut check in dev_forward_skb\nretains the assumption that skb-\u003elen is the total length of the packet.\n\nI just measured this emperically by setting up a veth pair between two\nnoop network namespaces setting and attempting a telnet connection between\nthe two.  I saw three packets in each direction and the byte counters were\nexactly 14*3 \u003d 42 bytes high in each direction.  I got the actual\npacket lengths with tcpdump.\n\nSo remove the extra ETH_HLEN from the veth byte count totals.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d2a8fa96a44ba242de3a6f56acaef7a40a97b97",
      "tree": "1fd01e0ef3da06d1508481aeb7c3c4994122dff9",
      "parents": [
        "d5cd92448fded12c91f7574e49747c5f7d975a8d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Mar 21 18:23:34 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:23:34 2011 -0700"
      },
      "message": "net ipv6: Fix duplicate /proc/sys/net/ipv6/neigh directory entries.\n\nWhen I was fixing issues with unregisgtering tables under /proc/sys/net/ipv6/neigh\nby adding a mount point it appears I missed a critical ordering issue, in the\nipv6 initialization.  I had not realized that ipv6_sysctl_register is called\nat the very end of the ipv6 initialization and in particular after we call\nneigh_sysctl_register from ndisc_init.\n\n\"neigh\" needs to be initialized in ipv6_static_sysctl_register which is\nthe first ipv6 table to initialized, and definitely before ndisc_init.\nThis removes the weirdness of duplicate tables while still providing a\n\"neigh\" mount point which prevents races in sysctl unregistering.\n\nThis was initially reported at https://bugzilla.kernel.org/show_bug.cgi?id\u003d31232\nReported-by: sunkan@zappa.cx\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5cd92448fded12c91f7574e49747c5f7d975a8d",
      "tree": "c65c8f66d7818b4250d56ef489cb2b3125276403",
      "parents": [
        "ac0a121d7906b049dfee3649f886c969fbb3c1b7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Mar 21 18:22:22 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:22:22 2011 -0700"
      },
      "message": "macvlan: Fix use after free of struct macvlan_port.\n\nWhen the macvlan driver was extended to call unregisgter_netdevice_queue\nin 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b, a use after free of struct\nmacvlan_port was introduced.  The code in dellink relied on unregister_netdevice\nactually unregistering the net device so it would be safe to free macvlan_port.\n\nSince unregister_netdevice_queue can just queue up the unregister instead of\nperforming the unregiser immediately we free the macvlan_port too soon and\nthen the code in macvlan_stop removes the macaddress for the set of macaddress\nto listen for and uses memory that has already been freed.\n\nTo fix this add a reference count to track when it is safe to free the macvlan_port\nand move the call of macvlan_port_destroy into macvlan_uninit which is guaranteed\nto be called after the final macvlan_port_close.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac0a121d7906b049dfee3649f886c969fbb3c1b7",
      "tree": "e6df48f72520923539a66b8d138e17a08db742cb",
      "parents": [
        "4f2d56c45fec7c15169599cab05e9f6df18769d0"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Mar 21 18:20:26 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:20:26 2011 -0700"
      },
      "message": "net: fix incorrect spelling in drop monitor protocol\n\nIt was pointed out to me recently that my spelling could be better :)\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f2d56c45fec7c15169599cab05e9f6df18769d0",
      "tree": "e6ef8a3050e4a893e9e58c789dfe9289867ee9aa",
      "parents": [
        "b20e7bbfc7a15a4182730f0936433145992b4b06"
      ],
      "author": {
        "name": "Jan Altenberg",
        "email": "jan@linutronix.de",
        "time": "Mon Mar 21 18:19:26 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:19:26 2011 -0700"
      },
      "message": "can: c_can: Do basic c_can configuration _before_ enabling the interrupts\n\nI ran into some trouble while testing the SocketCAN driver for the BOSCH\nC_CAN controller. The interface is not correctly initialized, if I put\nsome CAN traffic on the line, _while_ the interface is being started\n(which means: the interface doesn\u0027t come up correcty, if there\u0027s some RX\ntraffic while doing \u0027ifconfig can0 up\u0027).\n\nThe current implementation enables the controller interrupts _before_\ndoing the basic c_can configuration. I think, this should be done the\nother way round.\n\nThe patch below fixes things for me.\n\nSigned-off-by: Jan Altenberg \u003cjan@linutronix.de\u003e\nAcked-by: Kurt Van Dijck \u003ckurt.van.dijck@eia.be\u003e\nAcked-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b20e7bbfc7a15a4182730f0936433145992b4b06",
      "tree": "81df1570eb7840b9ed5b981ad2e437b773448f5a",
      "parents": [
        "674f2115995b7b588cbf3540c9f9b2448a8c7ea8"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Mar 21 18:18:00 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:18:00 2011 -0700"
      },
      "message": "net/appletalk: fix atalk_release use after free\n\nThe BKL removal in appletalk introduced a use-after-free problem,\nwhere atalk_destroy_socket frees a sock, but we still release\nthe socket lock on it.\n\nAn easy fix is to take an extra reference on the sock and sock_put\nit when returning from atalk_release.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "674f2115995b7b588cbf3540c9f9b2448a8c7ea8",
      "tree": "bd9bd1afa880531f6de70bea970aa198924f8632",
      "parents": [
        "20246a800389fe5442675c59863fec5a4f520c7c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Mar 21 18:16:39 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:16:39 2011 -0700"
      },
      "message": "ipx: fix ipx_release()\n\nCommit b0d0d915d1d1a0 (remove the BKL) added a regression, because\nsock_put() can free memory while we are going to use it later.\n\nFix is to delay sock_put() _after_ release_sock().\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20246a800389fe5442675c59863fec5a4f520c7c",
      "tree": "6a713be7255b973dfbf3178c64ae0e7ce94f7695",
      "parents": [
        "8aa525a9340da4227797a06221ca08399006635f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Mar 21 18:12:54 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:12:54 2011 -0700"
      },
      "message": "snmp: SNMP_UPD_PO_STATS_BH() always called from softirq\n\nWe dont need to test if we run from softirq context, we definitely are.\n\nThis saves few instructions in ip_rcv() \u0026 ip_rcv_finish()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8aa525a9340da4227797a06221ca08399006635f",
      "tree": "1a9d41975a68aae50b4905f2da6a3dee3a54b68f",
      "parents": [
        "a454f0ccefbfdbfc0e1aa8a5f8010af5e48b8845"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Mon Mar 21 18:10:25 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:10:25 2011 -0700"
      },
      "message": "l2tp: fix possible oops on l2tp_eth module unload\n\nA struct used in the l2tp_eth driver for registering network namespace\nops was incorrectly marked as __net_initdata, leading to oops when\nmodule unloaded.\n\nBUG: unable to handle kernel paging request at ffffffffa00ec098\nIP: [\u003cffffffff8123dbd8\u003e] ops_exit_list+0x7/0x4b\nPGD 142d067 PUD 1431063 PMD 195da8067 PTE 0\nOops: 0000 [#1] SMP \nlast sysfs file: /sys/module/l2tp_eth/refcnt\nCall Trace:\n [\u003cffffffff8123dc94\u003e] ? unregister_pernet_operations+0x32/0x93\n [\u003cffffffff8123dd20\u003e] ? unregister_pernet_device+0x2b/0x38\n [\u003cffffffff81068b6e\u003e] ? sys_delete_module+0x1b8/0x222\n [\u003cffffffff810c7300\u003e] ? do_munmap+0x254/0x318\n [\u003cffffffff812c64e5\u003e] ? page_fault+0x25/0x30\n [\u003cffffffff812c6952\u003e] ? system_call_fastpath+0x16/0x1b\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a454f0ccefbfdbfc0e1aa8a5f8010af5e48b8845",
      "tree": "359fdf6dbff1494ffe3d5cc8861fb0c0b72cc831",
      "parents": [
        "0e24d34a5b95226cfc335817aefd9cf9744e5659"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Mon Mar 21 18:08:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:08:28 2011 -0700"
      },
      "message": "xfrm: Fix initialize repl field of struct xfrm_state\n\nCommit \u0027xfrm: Move IPsec replay detection functions to a separate file\u0027\n  (9fdc4883d92d20842c5acea77a4a21bb1574b495)\nintroduce repl field to struct xfrm_state, and only initialize it\nunder SA\u0027s netlink create path, the other path, such as pf_key,\nipcomp/ipcomp6 etc, the repl field remaining uninitialize. So if\nthe SA is created by pf_key, any input packet with SA\u0027s encryption\nalgorithm will cause panic.\n\n    int xfrm_input()\n    {\n        ...\n        x-\u003erepl-\u003eadvance(x, seq);\n        ...\n    }\n\nThis patch fixed it by introduce new function __xfrm_init_state().\n\nPid: 0, comm: swapper Not tainted 2.6.38-next+ #14 Bochs Bochs\nEIP: 0060:[\u003cc078e5d5\u003e] EFLAGS: 00010206 CPU: 0\nEIP is at xfrm_input+0x31c/0x4cc\nEAX: dd839c00 EBX: 00000084 ECX: 00000000 EDX: 01000000\nESI: dd839c00 EDI: de3a0780 EBP: dec1de88 ESP: dec1de64\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess swapper (pid: 0, ti\u003ddec1c000 task\u003dc09c0f20 task.ti\u003dc0992000)\nStack:\n 00000000 00000000 00000002 c0ba27c0 00100000 01000000 de3a0798 c0ba27c0\n 00000033 dec1de98 c0786848 00000000 de3a0780 dec1dea4 c0786868 00000000\n dec1debc c074ee56 e1da6b8c de3a0780 c074ed44 de3a07a8 dec1decc c074ef32\nCall Trace:\n [\u003cc0786848\u003e] xfrm4_rcv_encap+0x22/0x27\n [\u003cc0786868\u003e] xfrm4_rcv+0x1b/0x1d\n [\u003cc074ee56\u003e] ip_local_deliver_finish+0x112/0x1b1\n [\u003cc074ed44\u003e] ? ip_local_deliver_finish+0x0/0x1b1\n [\u003cc074ef32\u003e] NF_HOOK.clone.1+0x3d/0x44\n [\u003cc074ef77\u003e] ip_local_deliver+0x3e/0x44\n [\u003cc074ed44\u003e] ? ip_local_deliver_finish+0x0/0x1b1\n [\u003cc074ec03\u003e] ip_rcv_finish+0x30a/0x332\n [\u003cc074e8f9\u003e] ? ip_rcv_finish+0x0/0x332\n [\u003cc074ef32\u003e] NF_HOOK.clone.1+0x3d/0x44\n [\u003cc074f188\u003e] ip_rcv+0x20b/0x247\n [\u003cc074e8f9\u003e] ? ip_rcv_finish+0x0/0x332\n [\u003cc072797d\u003e] __netif_receive_skb+0x373/0x399\n [\u003cc0727bc1\u003e] netif_receive_skb+0x4b/0x51\n [\u003ce0817e2a\u003e] cp_rx_poll+0x210/0x2c4 [8139cp]\n [\u003cc072818f\u003e] net_rx_action+0x9a/0x17d\n [\u003cc0445b5c\u003e] __do_softirq+0xa1/0x149\n [\u003cc0445abb\u003e] ? __do_softirq+0x0/0x149\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9edb240696bacd53f4331119d2dfd13d4cd4852f",
      "tree": "d10810d41145b26cbe1b46954acde96efb82e460",
      "parents": [
        "62235dcd2ad4f46ea9e5d4f71c5ea3111341c6e8"
      ],
      "author": {
        "name": "Vasily Khoruzhick",
        "email": "anarsoul@gmail.com",
        "time": "Thu Mar 17 20:04:57 2011 +0200"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Mar 21 23:29:43 2011 +0000"
      },
      "message": "ARM: H1940/RX1950: Change default LED triggers\n\nChange LED triggers to mimic WinMobile behavior:\nred blinking when battery is charging,\norange solid when battery is charged.\n\nSigned-off-by: Vasily Khoruzhick \u003canarsoul@gmail.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "97491ba3f64c2137101efdfe7593305d692d7d63",
      "tree": "d8f8a075497b63f2386f3b358d96e46a0a48799c",
      "parents": [
        "a0774f4511371319418f959ce838f81d47a3fd56"
      ],
      "author": {
        "name": "Vasily Khoruzhick",
        "email": "anarsoul@gmail.com",
        "time": "Sun Mar 13 15:53:29 2011 +0200"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Mar 21 23:00:12 2011 +0000"
      },
      "message": "i2c-pxa2xx: Don\u0027t clear isr bits too early\n\nisr is passed later into i2c_pxa_irq_txempty and\ni2c_pxa_irq_rxfull and they may use some other bits\nthan irq sources.\n\nSigned-off-by: Vasily Khoruzhick \u003canarsoul@gmail.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "a0774f4511371319418f959ce838f81d47a3fd56",
      "tree": "1a23cbcb83b4a384ef6659d95f7e32400e4ae010",
      "parents": [
        "e4394d553cec3cbf4d0c602fe39bc88bac43bd27",
        "23e74a86ab43e5cccbf90edb76fc396e36acc998",
        "173442f2787c88e1ed1bb62aaeb6fd9127720559",
        "6b7d815c3f37f22c355b00362bc7c7d0bac9baea"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Mar 21 22:57:25 2011 +0000"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Mar 21 22:57:25 2011 +0000"
      },
      "message": "Merge branches \u0027for-2639/i2c/i2c-ce4100-v6\u0027, \u0027for-2639/i2c/i2c-eg20t-v3\u0027 and \u0027for-2639/i2c/i2c-imx\u0027 into for-linus/2639/i2c-2\n"
    },
    {
      "commit": "eddecbb601c9ea3fab7e67d7892010fc9426d1e6",
      "tree": "4bfa4740ae554e5c5a8468e74b39531a6153ce9f",
      "parents": [
        "0bf8c869701039b12c3520cb1bb1689595ab108b",
        "f2c23f65f63fe0dd83fc94efdfae0364c74458b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 15:55:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 15:55:26 2011 -0700"
      },
      "message": "Merge branch \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  kbuild: Make DEBUG_SECTION_MISMATCH selectable, but not on by default\n  genksyms: Regenerate lexer and parser\n  genksyms: Track changes to enum constants\n  genksyms: simplify usage of find_symbol()\n  genksyms: Add helpers for building string lists\n  genksyms: Simplify printing of symbol types\n  genksyms: Simplify lexer\n  genksyms: Do not paste the bison header file to lex.c\n  modpost: fix trailing comma\n  KBuild: silence \"\u0027scripts/unifdef\u0027 is up to date.\"\n  kbuild: Add extra gcc checks\n  kbuild: reenable section mismatch analysis\n  unifdef: update to upstream version 2.5\n"
    },
    {
      "commit": "0bf8c869701039b12c3520cb1bb1689595ab108b",
      "tree": "4430e15c9e9a993a7bc63306e3bba7f65962c1cb",
      "parents": [
        "38f7aa23c4dd5f9af13dffca49879c42a61b0a01"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Mar 21 20:47:31 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 15:54:35 2011 -0700"
      },
      "message": "Reduce sequential pointer derefs in scsi_error.c and reduce size as well\n\nThis patch reduces the number of sequential pointer derefs in\ndrivers/scsi/scsi_error.c\n\nThis has been submitted a number of times over a couple of years.  I\nbelieve this version adresses all comments it has gathered over time.\nPlease apply or reject with a reason.\n\nThe benefits are:\n\n - makes the code easier to read.  Lots of sequential derefs of the same\n   pointers is not easy on the eye.\n\n - theoretically at least, just dereferencing the pointers once can\n   allow the compiler to generally slightly faster code, so in theory\n   this could also be a micro speed optimization.\n\n - reduces size of object file (tiny effect: on x86-64, in at least one\n   configuration, the text size decreased from 9439 bytes to 9400)\n\n - removes some pointless (mostly trailing) whitespace.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38f7aa23c4dd5f9af13dffca49879c42a61b0a01",
      "tree": "3bcc4df686eeaec2b15aeba29073f356c0bc68ea",
      "parents": [
        "3155fe6df553472fd7c07e7788b0e542cd828c91"
      ],
      "author": {
        "name": "Gary Hade",
        "email": "garyhade@us.ibm.com",
        "time": "Mon Mar 21 10:28:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 15:50:30 2011 -0700"
      },
      "message": "matroxfb: remove incorrect Matrox G200eV support\n\nRemove incorrect Matrox G200eV support that was previously added by\ncommit e3a1938805d2e81b27d3d348788644f3bad004f2\n\nA serious issue with the incorrect G200eV support that reproduces on the\nMatrox G200eV equipped IBM x3650 M2 is the total lack of text (login\nbanner, login prompt, etc) on the console when X is not running and\ntotal lack of text on all of the virtual consoles after X is started.\n\nAny concerns that the incorrect code (upstream since October 2008) has\nbeen successfully used on non-IBM G200eV equipped system(s) appear to be\nunwarranted.  In addition to the serious/non-intermittent nature of\nissues that have been spotted on IBM systems, complete removal of the\nincorrect code is clearly supported by the following Matrox (Yannick\nHeneault) provided input:\n \"It impossible that this patch should have work on a system.\n The patch only declare the G200eV as a regular G200 which is\n not case. Many registers are different, including at least the\n PLL programming sequence. If the G200eV is programmed like a\n regular G200, it will not display anything.\"\n\nv1 - Initial patch that removed the incorrect code for _all_\n     G200eV equipped systems.\nv2 - Darrick Wong provided patch that blacklisted the incorrect\n     code on G200eV equipped IBM systems leaving it enabled on\n     all G200eV equipped non-IBM systems.\nv3 - Same code changes included with v1 plus additional\n     justification for complete removal of the incorrect code.\n\nSigned-off-by: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: Petr Vandrovec \u003cvandrove@vc.cvut.cz\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Yannick Heneault \u003cyannick_heneault@matrox.com\u003e\nCc: Christian Toutant \u003cctoutant@matrox.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55b00bae111030bd0dfcc898a920e54725aed1bf",
      "tree": "0891af4c045905c89a51c8d2594980808708bf6e",
      "parents": [
        "147851d2dc4d2be2f60d40276d12d7ef82f8a7ce"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 21 15:06:50 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 21 15:06:50 2011 -0700"
      },
      "message": "rbd: update email address in Documentation\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3155fe6df553472fd7c07e7788b0e542cd828c91",
      "tree": "ef8179acf58cdeaa54bc7a219168fa98bb5b29c8",
      "parents": [
        "da48524eb20662618854bb3df2db01fc65f3070c",
        "0c9ba97318fc9a905bcc1419b6966de061203a70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:24:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:24:56 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (23 commits)\n  xfs: don\u0027t name variables \"panic\"\n  xfs: factor agf counter updates into a helper\n  xfs: clean up the xfs_alloc_compute_aligned calling convention\n  xfs: kill support/debug.[ch]\n  xfs: Convert remaining cmn_err() callers to new API\n  xfs: convert the quota debug prints to new API\n  xfs: rename xfs_cmn_err_fsblock_zero()\n  xfs: convert xfs_fs_cmn_err to new error logging API\n  xfs: kill xfs_fs_mount_cmn_err() macro\n  xfs: kill xfs_fs_repair_cmn_err() macro\n  xfs: convert xfs_cmn_err to xfs_alert_tag\n  xfs: Convert xlog_warn to new logging interface\n  xfs: Convert linux-2.6/ files to new logging interface\n  xfs: introduce new logging API.\n  xfs: zero proper structure size for geometry calls\n  xfs: enable delaylog by default\n  xfs: more sensible inode refcounting for ialloc\n  xfs: stop using xfs_trans_iget in the RT allocator\n  xfs: check if device support discard in xfs_ioc_trim()\n  xfs: prevent leaking uninitialized stack memory in FSGEOMETRY_V1\n  ...\n"
    },
    {
      "commit": "da48524eb20662618854bb3df2db01fc65f3070c",
      "tree": "0e9a9aa0c091e96f110a6ef121f0b31f99491325",
      "parents": [
        "b52307ca144881bf9ef1c2610b3f1911472eb467"
      ],
      "author": {
        "name": "Julien Tinnes",
        "email": "jln@google.com",
        "time": "Fri Mar 18 15:05:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:23:43 2011 -0700"
      },
      "message": "Prevent rt_sigqueueinfo and rt_tgsigqueueinfo from spoofing the signal code\n\nUserland should be able to trust the pid and uid of the sender of a\nsignal if the si_code is SI_TKILL.\n\nUnfortunately, the kernel has historically allowed sigqueueinfo() to\nsend any si_code at all (as long as it was negative - to distinguish it\nfrom kernel-generated signals like SIGILL etc), so it could spoof a\nSI_TKILL with incorrect siginfo values.\n\nHappily, it looks like glibc has always set si_code to the appropriate\nSI_QUEUE, so there are probably no actual user code that ever uses\nanything but the appropriate SI_QUEUE flag.\n\nSo just tighten the check for si_code (we used to allow any negative\nvalue), and add a (one-time) warning in case there are binaries out\nthere that might depend on using other si_code values.\n\nSigned-off-by: Julien Tinnes \u003cjln@google.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b52307ca144881bf9ef1c2610b3f1911472eb467",
      "tree": "d930771ebb591e772446ebc356558f482aa4cc04",
      "parents": [
        "afd8c40431cc9e3b468a506cbf9957ffca3466fe",
        "2d01b26a1b14ab248f850d858f2ff3de3ead6d33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:13:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:13:48 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest:\n  ktest: Add STOP_TEST_AFTER to stop the test after a period of time\n  ktest: Monitor kernel while running of user tests\n  ktest: Fix bug where the test would not end after failure\n  ktest: Add BISECT_FILES to run git bisect on paths\n  ktest: Add BISECT_SKIP\n  ktest: Add manual bisect\n  ktest: Handle kernels before make oldnoconfig\n  ktest: Start failure timeout on panic too\n  ktest: Print logfile name on failure\n"
    },
    {
      "commit": "afd8c40431cc9e3b468a506cbf9957ffca3466fe",
      "tree": "7d5b54557a67de132d62fcb0b43184a4969644d0",
      "parents": [
        "366f7e7a79b19bd8c4e8f55fdf12b81538d1a7a4",
        "c0046867f34bb81ec3f237ebbc5241ae678b8379"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:02:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:02:55 2011 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  hwmon: (ads1015) Make gain and datarate configurable\n  hwmon: (ads1015) Drop dynamic attribute group\n  hwmon: Add support for Texas Instruments ADS1015\n  hwmon: New driver for SMSC SCH5627\n  hwmon: (abituguru*) Update my email address\n  hwmon: (lm75) Speed up detection\n  hwmon: (lm75) Add detection of the National Semiconductor LM75A\n  hp_accel: Fix driver name\n  Move lis3lv02d drivers to drivers/misc\n  Move hp_accel to drivers/platform/x86\n  Let Kconfig handle lis3lv02d dependencies\n  hwmon: (sht15) Fix integer overflow in humidity calculation\n  hwmon: (sht15) Spelling fix\n  hwmon: (w83795) Document pin mapping\n"
    },
    {
      "commit": "366f7e7a79b19bd8c4e8f55fdf12b81538d1a7a4",
      "tree": "0c43335ab9e91ca895fdec82d1327cec16dcb645",
      "parents": [
        "10effcb548c170d59ea1d2152f2ee0ad45ce4c9d"
      ],
      "author": {
        "name": "Luck, Tony",
        "email": "tony.luck@intel.com",
        "time": "Fri Mar 18 15:33:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 13:50:05 2011 -0700"
      },
      "message": "pstore: use mount option instead sysfs to tweak kmsg_bytes\n\n/sys/fs is a somewhat strange way to tweak what could more\nobviously be tuned with a mount option.\n\nSuggested-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "147851d2dc4d2be2f60d40276d12d7ef82f8a7ce",
      "tree": "e7b112fab505f6f97694fee5f2d6c509e8dd6289",
      "parents": [
        "49bcb93236ce1c60d9b7eb21a0aea1999f4d8709"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 15 14:57:41 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 21 12:24:26 2011 -0700"
      },
      "message": "ceph: rename dentry_release -\u003e d_release, fix comment\n\nJust for consistency\u0027s sake.  Fix obsolete comment too.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ],
  "next": "49bcb93236ce1c60d9b7eb21a0aea1999f4d8709"
}
