)]}'
{
  "commit": "9c50823eebf7c256b92b4e0f02b5fb30e97788c2",
  "tree": "241b754698c3501355d1061c828ab6d894dba617",
  "parents": [
    "4741c9fd36b3bcadd37238321c469049da94a4b9"
  ],
  "author": {
    "name": "Andrew Morton",
    "email": "akpm@osdl.org",
    "time": "Fri Mar 24 03:18:12 2006 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Fri Mar 24 07:33:26 2006 -0800"
  },
  "message": "[PATCH] msync(): perform dirty page levelling\n\nIt seems sensible to perform dirty page throttling in msync: as the application\ndirties pages we can kick off pdflush early, or even force the msync() caller\nto perform writeout, or even throttle the msync() caller.\n\nThe main effect of this is to start disk writeback earlier if we\u0027ve just\ndiscovered that a large amount of pagecache has been dirtied.  (Otherwise it\nwouldn\u0027t happen for up to five seconds, next time pdflush wakes up).\n\nIt also will cause the page-dirtying process to get panalised for dirtying\nthose pages rather than whacking someone else with the problem.\n\nWe should do this for munmap() and possibly even exit(), too.\n\nWe drop the mmap_sem while performing the dirty page balancing.  It doesn\u0027t\nseem right to hold mmap_sem for that long.\n\nNote that this patch only affects MS_ASYNC.  MS_SYNC will be syncing all the\ndirty pages anyway.\n\nWe note that msync(MS_SYNC) does a full-file-sync inside mmap_sem, and always\nhas.  We can fix that up...\n\nThe patch also tightens up the mmap_sem coverage in sys_msync(): no point in\ntaking it while we perform the incoming arg checking.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "3563a56e1a517b687ca4e94821479e370977a84c",
      "old_mode": 33188,
      "old_path": "mm/msync.c",
      "new_id": "8a66f5d5d4f0d5cda1a14bb265ddef30ca6e9ac0",
      "new_mode": 33188,
      "new_path": "mm/msync.c"
    }
  ]
}
