)]}'
{
  "commit": "c878538598d1e7ab41ecc0de8894e34e2fdef630",
  "tree": "d22e73fddef75521e287c3e7754a1d3224c348d9",
  "parents": [
    "c3704ceb4ad055b489b143f4e37c57d128908012"
  ],
  "author": {
    "name": "Christoph Lameter",
    "email": "clameter@sgi.com",
    "time": "Sat Feb 10 01:43:01 2007 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Sun Feb 11 10:51:17 2007 -0800"
  },
  "message": "[PATCH] Use ZVC for inactive and active counts\n\nThe determination of the dirty ratio to determine writeback behavior is\ncurrently based on the number of total pages on the system.\n\nHowever, not all pages in the system may be dirtied.  Thus the ratio is always\ntoo low and can never reach 100%.  The ratio may be particularly skewed if\nlarge hugepage allocations, slab allocations or device driver buffers make\nlarge sections of memory not available anymore.  In that case we may get into\na situation in which f.e.  the background writeback ratio of 40% cannot be\nreached anymore which leads to undesired writeback behavior.\n\nThis patchset fixes that issue by determining the ratio based on the actual\npages that may potentially be dirty.  These are the pages on the active and\nthe inactive list plus free pages.\n\nThe problem with those counts has so far been that it is expensive to\ncalculate these because counts from multiple nodes and multiple zones will\nhave to be summed up.  This patchset makes these counters ZVC counters.  This\nmeans that a current sum per zone, per node and for the whole system is always\navailable via global variables and not expensive anymore to calculate.\n\nThe patchset results in some other good side effects:\n\n- Removal of the various functions that sum up free, active and inactive\n  page counts\n\n- Cleanup of the functions that display information via the proc filesystem.\n\nThis patch:\n\nThe use of a ZVC for nr_inactive and nr_active allows a simplification of some\ncounter operations.  More ZVC functionality is used for sums etc in the\nfollowing patches.\n\n[akpm@osdl.org: UP build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\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": "3b6723dfaff38f50bb8fa75e9b99072d9c2d69ba",
      "old_mode": 33188,
      "old_path": "include/linux/mm_inline.h",
      "new_id": "895bc4e93039cdba7f6585b484abed3b9eb4a920",
      "new_mode": 33188,
      "new_path": "include/linux/mm_inline.h"
    },
    {
      "type": "modify",
      "old_id": "b262f47961fbe8a439cc218cd62b20122c5ac957",
      "old_mode": 33188,
      "old_path": "include/linux/mmzone.h",
      "new_id": "9137d1b9735c73a69f2ff9bb34f3f780bf06b6f8",
      "new_mode": 33188,
      "new_path": "include/linux/mmzone.h"
    },
    {
      "type": "modify",
      "old_id": "5e9803ed17fc4dd9c167c13541bbe209063ec7a6",
      "old_mode": 33188,
      "old_path": "include/linux/vmstat.h",
      "new_id": "c8d55bcc09b91e9ccc049d8ea76ad7bbd26b3bb6",
      "new_mode": 33188,
      "new_path": "include/linux/vmstat.h"
    },
    {
      "type": "modify",
      "old_id": "f26fdc94393e1af05166af704252010518e5d950",
      "old_mode": 33188,
      "old_path": "mm/page_alloc.c",
      "new_id": "07c954e532705776ee64ee48137350cd79b5d768",
      "new_mode": 33188,
      "new_path": "mm/page_alloc.c"
    },
    {
      "type": "modify",
      "old_id": "7430df68cb64aaf2856c7158920442c77fe1cf27",
      "old_mode": 33188,
      "old_path": "mm/vmscan.c",
      "new_id": "0655d5fe73e82c164043bf99958397602d6846c7",
      "new_mode": 33188,
      "new_path": "mm/vmscan.c"
    },
    {
      "type": "modify",
      "old_id": "bf62a8232100a7883f2267d72f589dcacdada4bd",
      "old_mode": 33188,
      "old_path": "mm/vmstat.c",
      "new_id": "5462106725d719de129ec92ec5d8bd977cad6a29",
      "new_mode": 33188,
      "new_path": "mm/vmstat.c"
    }
  ]
}
