)]}'
{
  "commit": "ea7b1dd44867e9cd6bac67e7c9fc3f128b5b255c",
  "tree": "2feb9852ab18e2f726136ae460e414ef40425129",
  "parents": [
    "31a5b8ce8f3bf20799eb68da9602de2bee58fdd3"
  ],
  "author": {
    "name": "Daniel Vetter",
    "email": "daniel.vetter@ffwll.ch",
    "time": "Fri Feb 18 17:59:12 2011 +0100"
  },
  "committer": {
    "name": "Dave Airlie",
    "email": "airlied@redhat.com",
    "time": "Wed Feb 23 10:32:34 2011 +1000"
  },
  "message": "drm: mm: track free areas implicitly\n\nThe idea is to track free holes implicitly by marking the allocation\nimmediatly preceeding a hole.\n\nTo avoid an ugly corner case add a dummy head_node to struct drm_mm\nto track the hole that spans to complete allocation area when the\nmemory manager is empty.\n\nTo guarantee that there\u0027s always a preceeding/following node (that might\nbe marked as hole_follows \u003d\u003d 1), move the mm-\u003enode_list list_head to the\nhead_node.\n\nThe main allocator and fair-lru scan code actually becomes simpler.\nOnly the debug code slightly suffers because free areas are no longer\nexplicit.\n\nAlso add drm_mm_for_each_node (which will be much more useful when\nstruct drm_mm_node is embeddable).\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c59515ba7e69c1b3abad019a6f0cb281deeab6a6",
      "old_mode": 33188,
      "old_path": "drivers/gpu/drm/drm_mm.c",
      "new_id": "4fa33e1283afad5008a74021a29a0b896a7b939f",
      "new_mode": 33188,
      "new_path": "drivers/gpu/drm/drm_mm.c"
    },
    {
      "type": "modify",
      "old_id": "0d791462f7b2234ddedb15957bc0673515e37cb4",
      "old_mode": 33188,
      "old_path": "include/drm/drm_mm.h",
      "new_id": "34fa36f2de705a177ceab95f9b148a70fc9362b0",
      "new_mode": 33188,
      "new_path": "include/drm/drm_mm.h"
    }
  ]
}
