)]}'
{
  "commit": "c44b674323f4a2480dbeb65d4b487fa5f06f49e0",
  "tree": "b753050e6752eb2fc961ad3ea5dfdf88ef88364d",
  "parents": [
    "033a64b56aed798991de18d226085dfb1ccd858d"
  ],
  "author": {
    "name": "Rik van Riel",
    "email": "riel@redhat.com",
    "time": "Fri Mar 05 13:42:09 2010 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sat Mar 06 11:26:26 2010 -0800"
  },
  "message": "rmap: move exclusively owned pages to own anon_vma in do_wp_page()\n\nWhen the parent process breaks the COW on a page, both the original which\nis mapped at child and the new page which is mapped parent end up in that\nsame anon_vma.  Generally this won\u0027t be a problem, but for some workloads\nit could preserve the O(N) rmap scanning complexity.\n\nA simple fix is to ensure that, when a page which is mapped child gets\nreused in do_wp_page, because we already are the exclusive owner, the page\ngets moved to our own exclusive child\u0027s anon_vma.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "62da2001d55ccda3ada1005510f645afa4d94770",
      "old_mode": 33188,
      "old_path": "include/linux/rmap.h",
      "new_id": "72be23b1480a19f5affab05179121f965d9b9c33",
      "new_mode": 33188,
      "new_path": "include/linux/rmap.h"
    },
    {
      "type": "modify",
      "old_id": "dc785b438d70fba119cae99e828dbc21b09cb7a1",
      "old_mode": 33188,
      "old_path": "mm/memory.c",
      "new_id": "d1153e37e9baff33ecc7a6ce26e99133b92b4c66",
      "new_mode": 33188,
      "new_path": "mm/memory.c"
    },
    {
      "type": "modify",
      "old_id": "23ecd0a892df600665f618aabd1ba2f522bc6387",
      "old_mode": 33188,
      "old_path": "mm/rmap.c",
      "new_id": "28bcdc433d88cfd95f58fdb0cc6633ede583bfac",
      "new_mode": 33188,
      "new_path": "mm/rmap.c"
    }
  ]
}
