)]}'
{
  "commit": "d6d861e3c963b4077c83e078e3e300c4b81f93e7",
  "tree": "842071ac905575aa0ea8bedd3a1ac5db29416bcf",
  "parents": [
    "23002d88be309a7c78db69363c9d933a29a3b0bb"
  ],
  "author": {
    "name": "Zachary Amsden",
    "email": "zach@vmware.com",
    "time": "Sat Sep 30 23:29:36 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Sun Oct 01 00:39:34 2006 -0700"
  },
  "message": "[PATCH] paravirt: optimize ptep establish for pae\n\nThe ptep_establish macro is only used on user-level PTEs, for P-\u003eP mapping\nchanges.  Since these always happen under protection of the pagetable lock,\nthe strong synchronization of a 64-bit cmpxchg is not needed, in fact, not\neven a lock prefix needs to be used.  We can simply instead clear the P-bit,\nfollowed by a normal set.  The write ordering is still important to avoid the\npossibility of the TLB snooping a partially written PTE and getting a bad\nmapping installed.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "201c86a6711e87f91f688ab15b2c10ddf3b8ad64",
      "old_mode": 33188,
      "old_path": "include/asm-i386/pgtable-2level.h",
      "new_id": "8d8d3b9ecdb02d0437b0e0393fc8e753cd439178",
      "new_mode": 33188,
      "new_path": "include/asm-i386/pgtable-2level.h"
    },
    {
      "type": "modify",
      "old_id": "0d899173232e1f54bf6e80e924391a8fa0b30cc2",
      "old_mode": 33188,
      "old_path": "include/asm-i386/pgtable-3level.h",
      "new_id": "7c58debdb39e61f43ad6b66eb06cf730e4d65d61",
      "new_mode": 33188,
      "new_path": "include/asm-i386/pgtable-3level.h"
    },
    {
      "type": "modify",
      "old_id": "ee9696d2f67f91e135cea4694dcf03e8ed428668",
      "old_mode": 33188,
      "old_path": "include/asm-i386/pgtable.h",
      "new_id": "8cb708a6bed057e764daf33f4eceae5f46bb3b94",
      "new_mode": 33188,
      "new_path": "include/asm-i386/pgtable.h"
    }
  ]
}
