)]}'
{
  "commit": "9e38d86ff2d8a8db99570e982230861046df32b5",
  "tree": "7ea2ceea24a4e070259a4585b2748c9e2c070ee0",
  "parents": [
    "cffbc8aa334f55c9ed42d25202eb3ebf3a97c195"
  ],
  "author": {
    "name": "Nick Piggin",
    "email": "npiggin@suse.de",
    "time": "Sat Oct 23 06:55:17 2010 -0400"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Mon Oct 25 21:26:09 2010 -0400"
  },
  "message": "fs: Implement lazy LRU updates for inodes\n\nConvert the inode LRU to use lazy updates to reduce lock and\ncacheline traffic.  We avoid moving inodes around in the LRU list\nduring iget/iput operations so these frequent operations don\u0027t need\nto access the LRUs. Instead, we defer the refcount checks to\nreclaim-time and use a per-inode state flag, I_REFERENCED, to tell\nreclaim that iget has touched the inode in the past. This means that\nonly reclaim should be touching the LRU with any frequency, hence\nsignificantly reducing lock acquisitions and the amount contention\non LRU updates.\n\nThis also removes the inode_in_use list, which means we now only\nhave one list for tracking the inode LRU status. This makes it much\nsimpler to split out the LRU list operations under it\u0027s own lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f04d04af84f2294e596403dee1bb8a22bf81322f",
      "old_mode": 33188,
      "old_path": "fs/fs-writeback.c",
      "new_id": "e8f65290e83666bd1a32c49880d502a698a22904",
      "new_mode": 33188,
      "new_path": "fs/fs-writeback.c"
    },
    {
      "type": "modify",
      "old_id": "0d5aeccbdd90913ea0a64d8e55573afe544d5a2b",
      "old_mode": 33188,
      "old_path": "fs/inode.c",
      "new_id": "3bdc76f1653a9ccd69efb78b203d878b249c24d6",
      "new_mode": 33188,
      "new_path": "fs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "a3937a8ee95ede4f699b671937e2094003753876",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "876275fc063889016bf5e9240264725c04fb8396",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    },
    {
      "type": "modify",
      "old_id": "72a5d647a5f26d9eb3c798894443d4eb7849c0dd",
      "old_mode": 33188,
      "old_path": "include/linux/writeback.h",
      "new_id": "242b6f812ba6103ab3e2d6b4f7dd309172335b17",
      "new_mode": 33188,
      "new_path": "include/linux/writeback.h"
    }
  ]
}
