)]}'
{
  "log": [
    {
      "commit": "b3881f74b31b7d47d0f1c4d89ac3e7f0b9c05e3e",
      "tree": "131190b7ec627fd2ef2ecc818a7b9c17b83ccd63",
      "parents": [
        "40a1984d22294ab202f616e432bb8d3481897675"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:46:26 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:46:26 2009 -0500"
      },
      "message": "ext4: Add mount option to set kjournald\u0027s I/O priority\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6d63c275572d1e6f00d4fa154f16fbb0d8c2d2bf",
      "tree": "715f4bab902f117c958a929e44cd0b2257e3be29",
      "parents": [
        "dbaf2c003e151ad9231778819b0977f95e20e06f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 07 09:51:23 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 07 09:51:23 2008 +0200"
      },
      "message": "cfq-iosched: make io priorities inherit CPU scheduling class as well as nice\n\nWe currently set all processes to the best-effort scheduling class,\nregardless of what CPU scheduling class they belong to. Improve that\nso that we correctly track idle and rt scheduling classes as well.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd0928df98b9578be8a786ac0cb78a47a5e17a20",
      "tree": "70a34cf207bea1bec28e59cf0dba7d20e7f8b0f1",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:52:45 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:29 2008 +0100"
      },
      "message": "ioprio: move io priority from task_struct to io_context\n\nThis is where it belongs and then it doesn\u0027t take up space for a\nprocess that doesn\u0027t do IO.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c2dea2d1fdbce86942dba0a968c523d8b7858bb5",
      "tree": "c876b93785ee3b25c341be0dd5080a5176f27736",
      "parents": [
        "9a79b2274186fade17134929d4f85b70d59a3840"
      ],
      "author": {
        "name": "Vasily Tarasov",
        "email": "vtaras@openvz.org",
        "time": "Fri Jul 20 10:06:38 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 20 10:06:38 2007 +0200"
      },
      "message": "cfq: async queue allocation per priority\n\nIf we have two processes with different ioprio_class, but the same\nioprio_data, their async requests will fall into the same queue. I guess\nsuch behavior is not expected, because it\u0027s not right to put real-time\nrequests and best-effort requests in the same queue.\n\nThe attached patch fixes the problem by introducing additional *cfqq\nfields on cfqd, pointing to per-(class,priority) async queues.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "15c31be4d5bd2402c6f5a288d56a24edc9252b71",
      "tree": "0fca6e97186080d83ff3f36bb359bcb4ef06a9e2",
      "parents": [
        "72d3a38ee083a96c09032e608a4c7e047ce26760"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 13:43:25 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 13:43:25 2007 +0200"
      },
      "message": "cfq-iosched: fix async queue behaviour\n\nWith the cfq_queue hash removal, we inadvertently got rid of the\nasync queue sharing. This was not intentional, in fact CFQ purposely\nshares the async queue per priority level to get good merging for\nasync writes.\n\nSo put some logic in cfq_get_queue() to track the shared queues.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e014ff8d4285b81f0de0719d8eee72bc50bfd4be",
      "tree": "5d60afed23d2f4ced4ccce961415cdfe15295a21",
      "parents": [
        "9f83e45eb54fc7198dc59fc63255341851ba4c48"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Aug 21 10:02:50 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Aug 21 10:02:50 2006 +0200"
      },
      "message": "[PATCH] uninline ioprio_best()\n\nSaves 376 bytes (5 callers) for me.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cf36680887d6d942d2119c1ff1dfb2428b0f21f4",
      "tree": "1290244377993179daabe5f2e0f3f636fbafbc47",
      "parents": [
        "8dc4fd87f229414fc38648508aad7def2275fe81"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 07 17:56:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:37 2005 -0700"
      },
      "message": "[PATCH] move ioprio syscalls into syscalls.h\n\n- Make ioprio syscalls return long, like set/getpriority syscalls.\n- Move function prototypes into syscalls.h so we can pick them up in the\n  32/64bit compat code.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b18152c327707ae6a2eeba4cfb66457143753bc",
      "tree": "5cdf299af4119762c036cc98a09e23458e0b37fa",
      "parents": [
        "3d25f3566bb606720a67caef77b16190df10dd98"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 27 10:56:24 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 14:33:30 2005 -0700"
      },
      "message": "[PATCH] CFQ io scheduler updates\n\n- Adjust slice values\n\n- Instead of one async queue, one is defined per priority level. This\n  prevents kernel threads (such as reiserfs/x and others) that run at\n  higher io priority from conflicting with others. Previously, it was a\n  coin toss what io prio the async queue got, it was defined by who\n  first set up the queue.\n\n- Let a time slice only begin, when the previous slice is completely\n  done. Previously we could be somewhat unfair to a new sync slice, if\n  the previous slice was async and had several ios queued. This might\n  need a little tweaking if throughput suffers a little due to this,\n  allowing perhaps an overlap of a single request or so.\n\n- Optimize the calling of kblockd_schedule_work() by doing it only when\n  it is strictly necessary (no requests in driver and work left to do).\n\n- Correct sync vs async logic. A \u0027normal\u0027 process can be purely async as\n  well, and a flusher can be purely sync as well. Sync or async is now a\n  property of the class defined and requests pending. Previously writers\n  could be considered sync, when they were really async.\n\n- Get rid of the bit fields in cfqq and crq, use flags instead.\n\n- Various other cleanups and fixes\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22e2c507c301c3dbbcf91b4948b88f78842ee6c9",
      "tree": "9a97c91d1362e69703aa286021daffb8a5456f4c",
      "parents": [
        "020f46a39eb7b99a575b9f4d105fce2b142acdf1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 27 10:55:12 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 14:33:29 2005 -0700"
      },
      "message": "[PATCH] Update cfq io scheduler to time sliced design\n\nThis updates the CFQ io scheduler to the new time sliced design (cfq\nv3).  It provides full process fairness, while giving excellent\naggregate system throughput even for many competing processes.  It\nsupports io priorities, either inherited from the cpu nice value or set\ndirectly with the ioprio_get/set syscalls.  The latter closely mimic\nset/getpriority.\n\nThis import is based on my latest from -mm.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
