)]}'
{
  "log": [
    {
      "commit": "7456b0405d8fc063c49628f969cdb23be060fc80",
      "tree": "b1216354d6940b800128b224e2d801ed9232fa02",
      "parents": [
        "65a64464349883891e21e74af16c05d6e1eeb4e9"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 19 08:15:01 2009 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Oct 19 08:15:01 2009 +0200"
      },
      "message": "HWPOISON: fix invalid page count in printk output\n\nThe madvise injector already holds a reference when passing in a page\nto the memory-failure code. The code corrects for this additional reference\nfor its checks, but the final printk output didn\u0027t. Fix that.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "01e00f880ca700376e1845cf7a2524ebe68e47d6",
      "tree": "6e15c363298dd01dd44d5c96afd9ef36078a1247",
      "parents": [
        "4779cb31c0ee3b355116745edca3f3e5fe865553"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Tue Oct 13 15:02:11 2009 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Oct 19 07:29:20 2009 +0200"
      },
      "message": "HWPOISON: fix oops on ksm pages\n\nMemory failure on a KSM page currently oopses on its NULL anon_vma in\npage_lock_anon_vma(): that may not be much worse than the consequence\nof ignoring it, but it is better to be consistent with how ZERO_PAGE\nand hugetlb pages and other awkward cases are treated.  Just skip it.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "e43c3afb367112a5b357f9adfac7817255129c88",
      "tree": "b85f21b23ab3a3c38a37cb192bd9a845e964c501",
      "parents": [
        "f58ee00f1547ceb17b610ecfce2aa9097f1f9737"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Sep 29 13:16:20 2009 +0800"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Oct 19 07:28:24 2009 +0200"
      },
      "message": "HWPOISON: return early on non-LRU pages\n\nRight now we have some trouble with non atomic access\nto page flags when locking the page. To plug this hole\nfor now, limit error recovery to LRU pages for now.\n\nThis could be better fixed by defining a suitable protocol,\nbut let\u0027s go this simple way for now\n\nThis avoids unnecessary races with __set_page_locked() and\n__SetPageSlab*() and maybe more non-atomic page flag operations.\n\nThis loses isolated pages which are currently in page reclaim, but these\nare relatively limited compared to the total memory.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n[AK: new description, bug fixes, cleanups]\n"
    },
    {
      "commit": "6a46079cf57a7f7758e8b926980a4f852f89b34d",
      "tree": "efd72e830201370d6273bd436dda5a3c4cd6ed9b",
      "parents": [
        "4db96cf077aa938b11fe7ac79ecc9b29ec00fbab"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Sep 16 11:50:15 2009 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Sep 16 11:50:15 2009 +0200"
      },
      "message": "HWPOISON: The high level memory error handler in the VM v7\n\nAdd the high level memory handler that poisons pages\nthat got corrupted by hardware (typically by a two bit flip in a DIMM\nor a cache) on the Linux level. The goal is to prevent everyone\nfrom accessing these pages in the future.\n\nThis done at the VM level by marking a page hwpoisoned\nand doing the appropriate action based on the type of page\nit is.\n\nThe code that does this is portable and lives in mm/memory-failure.c\n\nTo quote the overview comment:\n\nHigh level machine check handler. Handles pages reported by the\nhardware as being corrupted usually due to a 2bit ECC memory or cache\nfailure.\n\nThis focuses on pages detected as corrupted in the background.\nWhen the current CPU tries to consume corruption the currently\nrunning process can just be killed directly instead. This implies\nthat if the error cannot be handled for some reason it\u0027s safe to\njust ignore it because no corruption has been consumed yet. Instead\nwhen that happens another machine check will happen.\n\nHandles page cache pages in various states. The tricky part\nhere is that we can access any page asynchronous to other VM\nusers, because memory failures could happen anytime and anywhere,\npossibly violating some of their assumptions. This is why this code\nhas to be extremely careful. Generally it tries to use normal locking\nrules, as in get the standard locks, even if that means the\nerror handling takes potentially a long time.\n\nSome of the operations here are somewhat inefficient and have non\nlinear algorithmic complexity, because the data structures have not\nbeen optimized for this case. This is in particular the case\nfor the mapping from a vma to a process. Since this case is expected\nto be rare we hope we can get away with this.\n\nThere are in principle two strategies to kill processes on poison:\n- just unmap the data and wait for an actual reference before\nkilling\n- kill as soon as corruption is detected.\nBoth have advantages and disadvantages and should be used\nin different situations. Right now both are implemented and can\nbe switched with a new sysctl vm.memory_failure_early_kill\nThe default is early kill.\n\nThe patch does some rmap data structure walking on its own to collect\nprocesses to kill. This is unusual because normally all rmap data structure\nknowledge is in rmap.c only. I put it here for now to keep\neverything together and rmap knowledge has been seeping out anyways\n\nIncludes contributions from Johannes Weiner, Chris Mason, Fengguang Wu,\nNick Piggin (who did a lot of great work) and others.\n\nCc: npiggin@suse.de\nCc: riel@redhat.com\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\n"
    }
  ]
}
