)]}'
{
  "commit": "3e469dbfe413c25d48321c3a19ddfae0727dc6e5",
  "tree": "1705019832b05258e797f85b838435454d4307e4",
  "parents": [
    "2d1fe1873a984d1c2c89ffa3d12949cafc718551"
  ],
  "author": {
    "name": "Andrea Arcangeli",
    "email": "aarcange@redhat.com",
    "time": "Thu Jul 25 12:11:15 2013 +0200"
  },
  "committer": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Fri Sep 20 12:37:52 2013 +0200"
  },
  "message": "exec: always use MADV_DONTFORK\n\nMADV_DONTFORK prevents fork to fail with -ENOMEM if the default\novercommit heuristics decides there\u0027s too much anonymous virtual\nmemory allocated. If the KVM secondary MMU is synchronized with MMU\nnotifiers or not, doesn\u0027t make a difference in that regard.\n\nSecondly it\u0027s always more efficient to avoid copying the guest\nphysical address space in the fork child (so we avoid to mark all the\nguest memory readonly in the parent and so we skip the establishment\nand teardown of lots of pagetables in the child).\n\nIn the common case we can ignore the error if MADV_DONTFORK is not\navailable. Leave a second invocation that errors out in the KVM path\nif MMU notifiers are missing and KVM is enabled, to abort in such\ncase.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nTested-By: Benoit Canet \u003cbenoit@irqsave.net\u003e\nAcked-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "030118e68edc8d4d1f83f46eaae032c87fe1d009",
      "old_mode": 33188,
      "old_path": "exec.c",
      "new_id": "5e6015cbd3af575342988ccda5e6c26fb1754b6d",
      "new_mode": 33188,
      "new_path": "exec.c"
    }
  ]
}
