)]}'
{
  "log": [
    {
      "commit": "b2fab5acd28ead6f0dd6c3996ba23f0ef1772f15",
      "tree": "b0b96984e1a4d9c856edc9ddfc36e427951c5a86",
      "parents": [
        "5a5bafdc396b1da7570f84fb96a0f8a288970c5e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Mar 05 13:14:57 2012 -0800"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Mar 06 21:27:21 2012 +0100"
      },
      "message": "elevator: make elevator_init_fn() return 0/-errno\n\nelevator_ops-\u003eelevator_init_fn() has a weird return value.  It returns\na void * which the caller should assign to q-\u003eelevator-\u003eelevator_data\nand %NULL return denotes init failure.\n\nUpdate such that it returns integer 0/-errno and sets elevator_data\ndirectly as necessary.\n\nThis makes the interface more conventional and eases further cleanup.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "3d3c2379feb177a5fd55bb0ed76776dc9d4f3243",
      "tree": "fafebbef8f0fb5b73ac4db24bff20dcd40b8bf12",
      "parents": [
        "47fdd4ca96bf4b28ac4d05d7a6e382df31d3d758"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 14 00:33:42 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Dec 14 00:33:42 2011 +0100"
      },
      "message": "block, cfq: move icq cache management to block core\n\nLet elevators set -\u003eicq_size and -\u003eicq_align in elevator_type and\nelv_register() and elv_unregister() respectively create and destroy\nkmem_cache for icq.\n\n* elv_register() now can return failure.  All callers updated.\n\n* icq caches are automatically named \"ELVNAME_io_cq\".\n\n* cfq_slab_setup/kill() are collapsed into cfq_init/exit().\n\n* While at it, minor indentation change for iosched_cfq.elevator_name\n  for consistency.\n\nThis will help moving icq management to block core.  This doesn\u0027t\nintroduce any functional change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "796d5116c407690b14fd5bda136aa67a39e7061a",
      "tree": "bb0522aacb0a923e6636c82aff143df95ea1d730",
      "parents": [
        "1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Thu Jun 02 21:19:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 02 21:19:05 2011 +0200"
      },
      "message": "iosched: prevent aliased requests from starving other I/O\n\nHi, Jens,\n\nIf you recall, I posted an RFC patch for this back in July of last year:\nhttp://lkml.org/lkml/2010/7/13/279\n\nThe basic problem is that a process can issue a never-ending stream of\nasync direct I/Os to the same sector on a device, thus starving out\nother I/O in the system (due to the way the alias handling works in both\ncfq and deadline).  The solution I proposed back then was to start\ndispatching from the fifo after a certain number of aliases had been\ndispatched.  Vivek asked why we had to treat aliases differently at all,\nand I never had a good answer.  So, I put together a simple patch which\nallows aliases to be added to the rb tree (it adds them to the right,\nthough that doesn\u0027t matter as the order isn\u0027t guaranteed anyway).  I\nthink this is the preferred solution, as it doesn\u0027t break up time slices\nin CFQ or batches in deadline.  I\u0027ve tested it, and it does solve the\nstarvation issue.  Let me know what you think.\n\nCheers,\nJeff\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "83096ebf1263b2c1ee5e653ba37d993d02e3eb7b",
      "tree": "2226b71a616ec1cb2d37511c6a09ba9507a1cd69",
      "parents": [
        "5b93629b4509c03ffa87a9316412fedf6f58cb37"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:39 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:54 2009 +0200"
      },
      "message": "block: convert to pos and nr_sectors accessors\n\nWith recent cleanups, there is no place where low level driver\ndirectly manipulates request fields.  This means that the \u0027hard\u0027\nrequest fields always equal the !hard fields.  Convert all\nrq-\u003esectors, nr_sectors and current_nr_sectors references to\naccessors.\n\nWhile at it, drop superflous blk_rq_pos() \u003c 0 test in swim.c.\n\n[ Impact: use pos and nr_sectors accessors ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nTested-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Dario Ballabio \u003cballabio_dario@emc.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b374d18a4bfce705e4a99ae9f501b53e86ecb283",
      "tree": "7e773464725a78e96a2017fa36cf9d4a4e29f73b",
      "parents": [
        "abf137dd7712132ee56d5b3143c2ff61a72a5faa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 31 10:05:07 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "block: get rid of elevator_t typedef\n\nJust use struct elevator_queue everywhere instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4fb72f7646e86874eb2798256eaa6bf3fbe4edcf",
      "tree": "0c32819099dd65494010514ecea4e2c39b372315",
      "parents": [
        "63de428b139d3d31d86ebe25ae97b33f6540fb7e"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Thu Aug 14 18:17:14 2008 +1000"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "deadline-iosched: non-functional fixes\n\n* convert goto to simpler while loop;\n * use rq_end_sector() instead of computing manually;\n * fix false comments;\n * remove spurious whitespace;\n * convert rq_rb_root macro to an inline function.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "63de428b139d3d31d86ebe25ae97b33f6540fb7e",
      "tree": "def85c8e9990293effe71baf3b0dce648eab516c",
      "parents": [
        "766ca4428d1239a970926856c447310c9c191af2"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Thu Aug 14 18:17:13 2008 +1000"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:02 2008 +0200"
      },
      "message": "deadline-iosched: allow non-sequential batching\n\nDeadline currently only batches sector-contiguous requests, so except\nfor a few circumstances (e.g. requests in a single direction), it is\nessentially first come first served.  This is bad for throughput, so\nchange it to CSCAN, which means requests in a batch do not need to be\nsequential and are issued in increasing sector order.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2fdd82bd8852ec8ebad5c69c45138da25c6f9273",
      "tree": "ff701ec0a8909fa50b79763a49a4eaada5aa759e",
      "parents": [
        "49565124b13bb16607e7f8fc8fb1d9c5c355a1a3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Dec 12 18:51:56 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 18 08:29:28 2007 +0100"
      },
      "message": "block: let elv_register() return void\n\nelv_register() always returns 0, and there isn\u0027t anything it does where\nit should return an error (the only error condition is so grave that\nit\u0027s handled with a BUG_ON).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6f5d8aa6382eef2b26032c88656270bdae7f0c42",
      "tree": "6ee855ce6e8b0eb8cb04d41579ac11cb25a92759",
      "parents": [
        "dfb3d72a9aa519672c9ae06f0d2f93eccb35482f"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Tue Oct 30 10:40:13 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:25 2007 +0100"
      },
      "message": "Deadline iosched: Fix batching fairness\n\nAfter switching data directions, deadline always starts the next batch\nfrom the lowest-sector request.  This gives excessive deadline expiries\nand large latency and throughput disparity between high- and low-sector\nrequests; an order of magnitude in some tests.\n\nThis patch changes the batching behaviour so new batches start from the\nrequest whose expiry is earliest.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dfb3d72a9aa519672c9ae06f0d2f93eccb35482f",
      "tree": "d6ec7e9b0e0ddbfa1acf59819caca071b1e1f29c",
      "parents": [
        "5d1a536621403b442eef60ddd35e6b7a46fb04b7"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Tue Oct 30 10:40:13 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:25 2007 +0100"
      },
      "message": "Deadline iosched: Reset batch for ordered requests\n\nThe deadline I/O scheduler does not reset the batch count when starting\na new batch at a higher-sectored request.  This means the second and\nsubsequent batch in the same data direction will never exceed a single\nrequest in size whenever higher-sectored requests are pending.\n\nThis patch gives new batches in the same data direction as old ones\ntheir full quota of requests by resetting the batch count.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5d1a536621403b442eef60ddd35e6b7a46fb04b7",
      "tree": "030f15afc505ce86653e338ce4f734a995dbb6b8",
      "parents": [
        "54866f032307063776b4eff7eadb131d47f9f9b4"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Tue Oct 30 10:40:12 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:25 2007 +0100"
      },
      "message": "Deadline iosched: Factor out finding latter reques\n\nFactor finding the next request in sector-sorted order into\na function deadline_latter_request.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "94f6030ca792c57422f04a73e7a872d8325946d3",
      "tree": "0197f24d82b1706f1b0521f2cf68feeff64123df",
      "parents": [
        "81cda6626178cd55297831296ba8ecedbfd8b52d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Slab allocators: Replace explicit zeroing with __GFP_ZERO\n\nkmalloc_node() and kmem_cache_alloc_node() were not available in a zeroing\nvariant in the past.  But with __GFP_ZERO it is possible now to do zeroing\nwhile allocating.\n\nUse __GFP_ZERO to remove the explicit clearing of memory via memset whereever\nwe can.\n\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"
    },
    {
      "commit": "bb37b94c68e7b37eecea8576039ae9396ca07839",
      "tree": "0b5dcbb3abb7710789d401126431f6f4dfe89e3a",
      "parents": [
        "0e75f9063f5c55fb0b0b546a7c356f8ec186825e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 01 10:42:33 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 01 10:42:33 2006 +0100"
      },
      "message": "[BLOCK] Cleanup unused variable passing\n\n- -\u003einit_queue() does not need the elevator passed in\n- -\u003eput_request() is a hot path and need not have the queue passed in\n- cfq_update_io_seektime() does not need cfqd passed in\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0fe23479577124bd2687e6783e39fa0fa4c28005",
      "tree": "954ae8c079fd10cd52bf212ca5cd2530ec5c2315",
      "parents": [
        "50be345560f1ffdcb15cc0e146416b80529a2ef2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Sep 04 15:41:16 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:34 2006 +0200"
      },
      "message": "[PATCH] Update axboe@suse.de email address\n\nAs people often look for the copyright in files to see who to mail,\nupdate the link to a neutral one.\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "8840faa1eebba22a9e2f86acddc0cf5145937df4",
      "tree": "4938f01545638879f616aab59d54821ff7739a3f",
      "parents": [
        "9e2585a8a23f3a42f815b2a638725d85a921cd65"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 13 12:36:41 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:27:00 2006 +0200"
      },
      "message": "[PATCH] deadline-iosched: remove elevator private drq request type\n\nA big win, we now save an allocation/free on each request! With the\nprevious rb/hash abstractions, we can just reuse queuelist/donelist\nfor the FIFO data and be done with it.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b8aca35af5e9fbc2e41a3ba1b2e66f24e80ca9b6",
      "tree": "cb25861431d320eade140875bdd326faa0de19e2",
      "parents": [
        "21183b07ee4be405362af8454f3647781c77df1b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 13 12:34:24 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:58 2006 +0200"
      },
      "message": "[PATCH] deadline-iosched: migrate to using the elevator rb functions\n\nThis removes the rbtree handling from deadline.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "9817064b68fef7e4580c6df1ea597e106b9ff88b",
      "tree": "76c27990626247613e9efa45b792d51ad79635d7",
      "parents": [
        "4aff5e2333c9a1609662f2091f55c3f6fffdad36"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:23:08 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:56 2006 +0200"
      },
      "message": "[PATCH] elevator: move the backmerging logic into the elevator core\n\nRight now, every IO scheduler implements its own backmerging (except for\nnoop, which does no merging). That results in duplicated code for\nessentially the same operation, which is never a good thing. This patch\nmoves the backmerging out of the io schedulers and into the elevator\ncore. We save 1.6kb of text and as a bonus get backmerging for noop as\nwell. Win-win!\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "dd67d051529387f6e44d22d1d5540ef281965fdd",
      "tree": "80457f9a2ad3e562b179e40f5c8d51b4f24d6d9e",
      "parents": [
        "9e94cd4fd1812bab45237f998b3c6fa1b24023fd"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jun 21 09:36:18 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] rbtree: support functions used by the io schedulers\n\nThey all duplicate macros to check for empty root and/or node, and\nclearing a node. So put those in rbtree.h.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "bae386f7884aa3720cc7880b36a41a1d2b9c327b",
      "tree": "e6ea0627160dc009cd825e44489583028c83791f",
      "parents": [
        "199f4c9f76fd8b030405abddf294e771f888de03"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Mon Apr 24 21:12:59 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:38 2006 +0200"
      },
      "message": "[PATCH] iosched: use hlist for request hashtable\n\nUse hlist instead of list_head for request hashtable in deadline-iosched\nand as-iosched. It also can remove the flag to know hashed or unhashed.\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n\n block/as-iosched.c       |   45 +++++++++++++++++++--------------------------\n block/deadline-iosched.c |   39 ++++++++++++++++-----------------------\n 2 files changed, 35 insertions(+), 49 deletions(-)\n"
    },
    {
      "commit": "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
      "tree": "e7be2cf442626316b6b6fb212960fe1f77ff2725",
      "parents": [
        "be967b7e2f7747a5ebf2a07ee627d9338491e784",
        "2f3243aebd8df4d9eecaeca04bbff6c7dbfb2142"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:51:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:51:22 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/rbtree-2.6\n\n* git://git.infradead.org/~dwmw2/rbtree-2.6:\n  [RBTREE] Switch rb_colour() et al to en_US spelling of \u0027color\u0027 for consistency\n  Update UML kernel/physmem.c to use rb_parent() accessor macro\n  [RBTREE] Update hrtimers to use rb_parent() accessor macro.\n  [RBTREE] Add explicit alignment to sizeof(long) for struct rb_node.\n  [RBTREE] Merge colour and parent fields of struct rb_node.\n  [RBTREE] Remove dead code in rb_erase()\n  [RBTREE] Update JFFS2 to use rb_parent() accessor macro.\n  [RBTREE] Update eventpoll.c to use rb_parent() accessor macro.\n  [RBTREE] Update key.c to use rb_parent() accessor macro.\n  [RBTREE] Update ext3 to use rb_parent() accessor macro.\n  [RBTREE] Change rbtree off-tree marking in I/O schedulers.\n  [RBTREE] Add accessor macros for colour and parent fields of rb_node\n"
    },
    {
      "commit": "bc1c116974a5c3f498112a6f175d3e4a8cd5bdbc",
      "tree": "69ea68db91fb871cd24a0a5c5045abbe9c77bd3a",
      "parents": [
        "26e780e8ef1cc3ef581a07aafe2346bb5a07b4f9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 08 08:49:06 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 08 15:14:23 2006 -0700"
      },
      "message": "[PATCH] elevator switching race\n\nThere\u0027s a race between shutting down one io scheduler and firing up the\nnext, in which a new io could enter and cause the io scheduler to be\ninvoked with bad or NULL data.\n\nTo fix this, we need to maintain the queue lock for a bit longer.\nUnfortunately we cannot do that, since the elevator init requires to be\nrun without the lock held.  This isn\u0027t easily fixable, without also\nchanging the mempool API.  So split the initialization into two parts,\nand alloc-init operation and an attach operation.  Then we can\npreallocate the io scheduler and related structures, and run the attach\ninside the lock after we detach the old one.\n\nThis patch has survived 30 minutes of 1 second io scheduler switching\nwith a very busy io load.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3db3a445308b3cee9bbbd8baa6d05081c9532da0",
      "tree": "768e3a190df58b0f5f5d4a5c5ade925649e757dd",
      "parents": [
        "7fe1e133bf45b0fe70491ed3d4c5b491feff7aa8"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Apr 21 13:15:17 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Apr 21 13:15:17 2006 +0100"
      },
      "message": "[RBTREE] Change rbtree off-tree marking in I/O schedulers.\n\nThey were abusing the rb_color field to mark nodes which weren\u0027t currently\non the tree. Fix that to use the same method as eventpoll did -- setting\nthe parent pointer to point back to itself. And use the appropriate\naccessor macros for setting and reading the parent.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "e572ec7e4e432de7ecf7bd2e62117646fa64e518",
      "tree": "56b4b738fb566128d2db6d62aed28cfd41b5398a",
      "parents": [
        "3d1ab40f4c20767afbd361b258a531d73e3e6fc2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 22:27:18 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 22:27:18 2006 -0500"
      },
      "message": "[PATCH] fix rmmod problems with elevator attributes, clean them up\n"
    },
    {
      "commit": "3d1ab40f4c20767afbd361b258a531d73e3e6fc2",
      "tree": "2da79cc8b47a98b0496b6e762fa790a8d547977b",
      "parents": [
        "1cc9be68ebcc1de9904bf225441613878da9c0d8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:35:43 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:35:43 2006 -0500"
      },
      "message": "[PATCH] elevator_t lifetime rules and sysfs fixes\n"
    },
    {
      "commit": "64100099ed22f71cce656c5c2caecf5c9cf255dc",
      "tree": "f6ebf7c94ee2eeb080d25880ffca839ec39ec47e",
      "parents": [
        "80cfd548eed68cf90c5ae9cfcd6b02230cece756"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Fri Jan 06 09:46:02 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:46:02 2006 +0100"
      },
      "message": "[BLOCK] mark some block/ variables cons\n\nthe patch below marks various read-only variables in block/* as const,\nso that gcc can optimize the use of them; eg gcc will replace the use by\nthe value directly now and will even remove the memory usage of these.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "eb97b73d75d5c9af7c78c05106de9e3fdc4455ab",
      "tree": "b5e87f732a72cb3cdff96f7116906ed6a2f9643e",
      "parents": [
        "811803c5572b296e0031e0099203de90d77c7bcf"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "qiyong@fc-cn.com",
        "time": "Wed Nov 16 15:27:24 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Nov 18 21:59:31 2005 +0100"
      },
      "message": "[BLOCK] new block/ directory comment tidy\n\nSome leftover comments referring to drivers/block that are now block/.\nThey don\u0027t add any information we don\u0027t already have, so kill them.\n\nSigned-off-by: Coywolf Qi Hunt \u003cqiyong@fc-cn.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "3a65dfe8c088143c7155cfd36a72f4b0ad2fc4b2",
      "tree": "db930c9f71f94d3ee674f65e38c38e95ca97227e",
      "parents": [
        "0f3278d14f0255e4cd9e07ccefc33ff12d8bb59c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "message": "[BLOCK] Move all core block layer code to new block/ directory\n\ndrivers/block/ is right now a mix of core and driver parts. Lets move\nthe core parts to a new top level directory. Al will move the fs/\nrelated block parts to block/ next.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "28d721e24c88496ff8e9c4a0959bdc1415c0658e",
      "tree": "0652161bbbcbfddf47c7ddb25d2db8ecd4cbec89",
      "parents": [
        "0ee40c6628434f0535da31deeacc28b61e80d810",
        "cb19833dccb32f97cacbfff834b53523915f13f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:53:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:53:49 2005 -0700"
      },
      "message": "Merge branch \u0027generic-dispatch\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n"
    },
    {
      "commit": "8267e268e0914ac9371d07f711fcf20cc572993c",
      "tree": "6f83cbcb95187544ed9075470c14cc12128272c8",
      "parents": [
        "27496a8c67bef4d789d8e3c8317ca35813a507ae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:20:53 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: block layer core\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "98b11471d72a374f346bec50a00d0887719b85b3",
      "tree": "875feb99eacd983fdc9107eb1c3b68f24e641aa4",
      "parents": [
        "06b86245c052963029bfd9020ca1f08ceb66f85a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Oct 20 16:46:54 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:45:35 2005 +0200"
      },
      "message": "[PATCH] 04/05 remove last_merge handling from ioscheds\n\nRemove last_merge handling from all ioscheds.  This patch\nremoves merging capability of noop iosched.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "b4878f245ec8e168cdd1f170f823a750b7dd4af5",
      "tree": "de784c2a7e1174e4843807998f0356bf92ee78be",
      "parents": [
        "d9ebb192aa13a026edc6faff137dcb14f2c91731"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Oct 20 16:42:29 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:45:08 2005 +0200"
      },
      "message": "[PATCH] 02/05: update ioscheds to use generic dispatch queue\n\nThis patch updates all four ioscheds to use generic dispatch\nqueue.  There\u0027s one behavior change in as-iosched.\n\n* In as-iosched, when force dispatching\n  (ELEVATOR_INSERT_BACK), batch_data_dir is reset to REQ_SYNC\n  and changed_batch and new_batch are cleared to zero.  This\n  prevernts AS from doing incorrect update_write_batch after\n  the forced dispatched requests are finished.\n\n* In cfq-iosched, cfqd-\u003erq_in_driver currently counts the\n  number of activated (removed) requests to determine\n  whether queue-kicking is needed and cfq_max_depth has been\n  reached.  With generic dispatch queue, I think counting\n  the number of dispatched requests would be more appropriate.\n\n* cfq_max_depth can be lowered to 1 again.\n\nOriginal from Tejun Heo, modified version applied.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "9d5c1e1bf2b906966609f8cf4a844e61adb86bcd",
      "tree": "f4248260b6eb657f42050396070fdf799af7ffc9",
      "parents": [
        "24b20ac6e1c80082889b3d6ae08aadda777519e5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Sep 09 13:02:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:33 2005 -0700"
      },
      "message": "[PATCH] deadline: clean up question mark operator\n\nThat ?: trick gives us the creeps.\n\nCc: 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": "4b0dc07e66ade18e0209331afbd16b3de8384f5c",
      "tree": "f00b0b3e4649ffcbcf1ff26c08ee28371a857c89",
      "parents": [
        "ffdfc40976dda18d923cd001d44bf0ee55da1af4"
      ],
      "author": {
        "name": "Nikita Danilov",
        "email": "nikita@clusterfs.com",
        "time": "Tue Sep 06 15:17:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:28 2005 -0700"
      },
      "message": "[PATCH] cleanup of deadline_dispatch_requests()\n\ncleanup of deadline_dispatch_requests():\n\n- replace drq selection with hopefully clearer while semantically the\n  same construct: take write request, if there is any, otherwise take read\n  one, or NULL if none exist.\n\n- kill unused other_dir.\n\nSigned-off-by: Nikita Danilov \u003cnikita@clusterfs.com\u003e\nCc: 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": "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"
    },
    {
      "commit": "1946089a109251655c5438d92c539bd2930e71ea",
      "tree": "819a492d5a7c4e6e695b150a86abeb99d5ac46eb",
      "parents": [
        "8c5a09082f4e61a176382e96a831a0636b918602"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:08:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:09 2005 -0700"
      },
      "message": "[PATCH] NUMA aware block device control structure allocation\n\nPatch to allocate the control structures for for ide devices on the node of\nthe device itself (for NUMA systems).  The patch depends on the Slab API\nchange patch by Manfred and me (in mm) and the pcidev_to_node patch that I\nposted today.\n\nDoes some realignment too.\n\nSigned-off-by: Justin M. Forbes \u003cjmforbes@linuxtx.org\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Pravin Shelar \u003cpravin@calsoftinc.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c1852a08e444a2e66367352a99c0e93c8bf3e97",
      "tree": "ffa075f75b7eb0e5b1399aeb8e34e6cf9a631a10",
      "parents": [
        "fc7e4828995d8c9e4c9597f8a19179e4ab53f73e"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Fri Apr 29 01:26:06 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:03 2005 -0700"
      },
      "message": "[PATCH] sysfs: (driver/block) if show/store is missing return -EIO\n\nsysfs: fix drivers/block so if an attribute doesn\u0027t implement\n       show or store method read/write will return -EIO\n       instead of 0 or -EINVAL.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
