)]}'
{
  "commit": "88d51967f56f55a45849efe50858ea7dfa0d38dc",
  "tree": "048db8e12c2b31ec2b88c3154da4c6a77b80028c",
  "parents": [
    "329f7dba5f7dc3bc9a30ad00cf373d2e83115aa1"
  ],
  "author": {
    "name": "Alan Hourihane",
    "email": "alanh@fairlite.demon.co.uk",
    "time": "Sun Nov 06 23:35:34 2005 -0800"
  },
  "committer": {
    "name": "Dave Jones",
    "email": "davej@redhat.com",
    "time": "Tue Nov 08 13:43:54 2005 -0800"
  },
  "message": "[PATCH] AGP performance fixes\n\nAGP allocation/deallocation is suffering major performance issues due to\nthe nature of global_flush_tlb() being called on every change_page_attr()\ncall.\n\nFor small allocations this isn\u0027t really seen, but when you start allocating\n50000 pages of AGP space, for say, texture memory, then things can take\nseconds to complete.\n\nIn some cases the situation is doubled or even quadrupled in the time due\nto SMP, or a deallocation, then a new reallocation.  I\u0027ve had a case of\nupto 20 seconds wait time to deallocate and reallocate AGP space.\n\nThis patch fixes the problem by making it the caller\u0027s responsibility to\ncall global_flush_tlb(), and so removes it from every instance of mapping a\npage into AGP space until the time that all change_page_attr() changes are\ndone.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "73f333f491bde21a3cd14656e15c8d7d740450b5",
      "old_mode": 33188,
      "old_path": "drivers/char/agp/backend.c",
      "new_id": "4d5ed18dad00455e938a93ef55254fe3abdb3758",
      "new_mode": 33188,
      "new_path": "drivers/char/agp/backend.c"
    },
    {
      "type": "modify",
      "old_id": "c4a38715c6f9751c3127497e2592b5717f1a2f32",
      "old_mode": 33188,
      "old_path": "drivers/char/agp/generic.c",
      "new_id": "19f242b5078169578a9f4d00bc30fe9d0e551748",
      "new_mode": 33188,
      "new_path": "drivers/char/agp/generic.c"
    },
    {
      "type": "modify",
      "old_id": "58944cd271ead9c55120a43ffa014bd5f34ac9cf",
      "old_mode": 33188,
      "old_path": "drivers/char/agp/i460-agp.c",
      "new_id": "be2e569ae9105ad6c5bbe6fc28770f3e98cbfd7b",
      "new_mode": 33188,
      "new_path": "drivers/char/agp/i460-agp.c"
    },
    {
      "type": "modify",
      "old_id": "bf4cc9ffd5b1dd737f0921b8319f3efeabdc2b77",
      "old_mode": 33188,
      "old_path": "drivers/char/agp/intel-agp.c",
      "new_id": "027161ab88e9bff25321c8c1d5811ac0f8559e6b",
      "new_mode": 33188,
      "new_path": "drivers/char/agp/intel-agp.c"
    }
  ]
}
