)]}'
{
  "commit": "e07f7183a486cf9783d1f8c9d2997b5b39eeb2d4",
  "tree": "74ed3a563add5fa57e80af03f3f712f2910ac39f",
  "parents": [
    "032115fcef837a00336ddf7bda584e89789ea498"
  ],
  "author": {
    "name": "Josef Bacik",
    "email": "jbacik@redhat.com",
    "time": "Wed Nov 26 01:14:26 2008 -0500"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Wed Nov 26 01:14:26 2008 -0500"
  },
  "message": "jbd2: improve jbd2 fsync batching\n\nThis patch removes the static sleep time in favor of a more self\noptimizing approach where we measure the average amount of time it\ntakes to commit a transaction to disk and the ammount of time a\ntransaction has been running.  If somebody does a sync write or an\nfsync() traditionally we would sleep for 1 jiffies, which depending on\nthe value of HZ could be a significant amount of time compared to how\nlong it takes to commit a transaction to the underlying storage.  With\nthis patch instead of sleeping for a jiffie, we check to see if the\namount of time this transaction has been running is less than the\naverage commit time, and if it is we sleep for the delta using\nschedule_hrtimeout to give us a higher precision sleep time.  This\ngreatly benefits high end storage where you could end up sleeping for\nlonger than it takes to commit the transaction and therefore sitting\nidle instead of allowing the transaction to be committed by keeping\nthe sleep time to a minimum so you are sure to always be doing\nsomething.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6393fd0d804e1e16764f2a70e2a47ba1e9ffce27",
      "old_mode": 33188,
      "old_path": "fs/jbd2/commit.c",
      "new_id": "f22d1828ea8572d22c916322b3bd30a25d25227f",
      "new_mode": 33188,
      "new_path": "fs/jbd2/commit.c"
    },
    {
      "type": "modify",
      "old_id": "39b7805a599a79fd80c0150073cbf0f473fe8bcf",
      "old_mode": 33188,
      "old_path": "fs/jbd2/transaction.c",
      "new_id": "13dcbc990f417fabab79bc62717c63f6333a7338",
      "new_mode": 33188,
      "new_path": "fs/jbd2/transaction.c"
    },
    {
      "type": "modify",
      "old_id": "f36645745489313cc09e21edfdc7f6d11bfde9a8",
      "old_mode": 33188,
      "old_path": "include/linux/jbd2.h",
      "new_id": "ab8cef130c28cc057ef574de72b1769f9327f940",
      "new_mode": 33188,
      "new_path": "include/linux/jbd2.h"
    }
  ]
}
