)]}'
{
  "log": [
    {
      "commit": "097b8457dafe7efc22201b4062e2d1e82e494067",
      "tree": "c59484ba7965d4e18bff2e6492d296382cbf86ac",
      "parents": [
        "ae56fb16337c882c52806508f93ead4034004c7a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Nov 16 01:19:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Nov 16 11:43:38 2006 -0800"
      },
      "message": "[PATCH] scsi: clear garbage after CDBs on SG_IO\n\nATAPI devices transfer fixed number of bytes for CDBs (12 or 16).  Some\nATAPI devices choke when shorter CDB is used and the left bytes contain\ngarbage.  Block SG_IO cleared left bytes but SCSI SG_IO didn\u0027t.  This patch\nmakes SCSI SG_IO clear it and simplify CDB clearing in block SG_IO.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mathieu Fluhr \u003cmfluhr@nero.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Douglas Gilbert \u003cdougg@torque.net\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "616e8a091a035c0bd9b871695f4af191df123caa",
      "tree": "9b9c97c6b55a9a097bafb453085375497b916fdc",
      "parents": [
        "bf2b3de2a8e66e5f554c2113fac688bcaaca77fb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Nov 13 18:04:59 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 13 09:47:00 2006 -0800"
      },
      "message": "[PATCH] Fix bad data direction in SG_IO\n\nContrary to what the name misleads you to believe, SG_DXFER_TO_FROM_DEV\nis really just a normal read seen from the device side.\n\nThis patch fixes http://lkml.org/lkml/2006/10/13/100\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df66b8552be5fdab5c4b4d53ee08b99388b9bd02",
      "tree": "e206c3b5f1d5b95f0467196aece471569eee062f",
      "parents": [
        "7bd473fcc217adec000f213e8864bf9a161d57e1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Nov 02 22:06:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:55 2006 -0800"
      },
      "message": "[PATCH] tidy \"md: check bio address after mapping through partitions\"\n\nNeil\u0027s xterms are too wide.\n\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fccbf61be2a7f32d2002b04afca4c5009612a58",
      "tree": "1a7a09dcbf4b518cf5d695fa8dbe41e21a1ab413",
      "parents": [
        "eafa6cb18ec7e5424ce54017b5ce6d11dff58b79"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 31 14:21:55 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:12:45 2006 -0800"
      },
      "message": "[PATCH] CFQ: request \u003c-\u003e request merging rr_list fixup\n\nIn very rare circumstances would we be pruning a merged request and at\nthe same time delete the implicated cfqq from the rr_list, and not readd\nit when the merged request got added. This could cause io stalls until\nthat process issued io again.\n\nFix it up by putting the rr_list add handling into cfq_add_rq_rb(),\nidentical to how pruning is handled in cfq_del_rq_rb(). This fixes a\nhang reproducible with fsx-linux.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5ddfe9691c91a244e8d1be597b6428fcefd58103",
      "tree": "d051fd7c370a7b8ad91f24c6f99f985b8b1252b2",
      "parents": [
        "45ec4ababe999cb95f9c0cad03b2689cb0b77a2b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 30 22:07:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:01 2006 -0800"
      },
      "message": "[PATCH] md: check bio address after mapping through partitions.\n\nPartitions are not limited to live within a device.  So we should range\ncheck after partition mapping.\n\nNote that \u0027maxsector\u0027 was being used for two different things.  I have\nsplit off the second usage into \u0027old_sector\u0027 so that maxsector can be still\nbe used for it\u0027s primary usage later in the function.\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c1b707d253fe918b92882cff1dbd926b47e14fd2",
      "tree": "849001799adfad5741cdfe952fadbafd66fb97e1",
      "parents": [
        "0261d6886eb5822867a5310dc1e4479b940a1942"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 30 19:54:23 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 30 11:01:50 2006 -0800"
      },
      "message": "[PATCH] CFQ: bad locking in changed_ioprio()\n\nWhen the ioprio code recently got juggled a bit, a bug was introduced.\nchanged_ioprio() is no longer called with interrupts disabled, so using\nplain spin_lock() on the queue_lock is a bug.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0261d6886eb5822867a5310dc1e4479b940a1942",
      "tree": "e1abc43a23dce3a2250eed8732e68fd6e8a92053",
      "parents": [
        "209ad53bc19667a128d9c51beba873a5c62bff6e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 30 19:07:48 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 30 10:21:58 2006 -0800"
      },
      "message": "[PATCH] CFQ: use irq safe locking in cfq_cic_link()\n\nIf cfq_set_request() is called for a new process AND a non-fs io\nrequest (so that __GFP_WAIT may not be set), cfq_cic_link() may\nuse spin_lock_irq() and spin_unlock_irq() with interrupts already\ndisabled.\n\nFix is to always use irq safe locking in cfq_cic_link()\n\nAcked-By: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3fcfab16c5b86eaa3db3a9a31adba550c5b67141",
      "tree": "bd348fa081b8fbec2c79fbf8f173a306d70b2b2c",
      "parents": [
        "79e2de4bc53d7ca2a8eedee49e4a92479b4b530e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Oct 19 23:28:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:35 2006 -0700"
      },
      "message": "[PATCH] separate bdi congestion functions from queue congestion functions\n\nSeparate out the concept of \"queue congestion\" from \"backing-dev congestion\".\nCongestion is a backing-dev concept, not a queue concept.\n\nThe blk_* congestion functions are retained, as wrappers around the core\nbacking-dev congestion functions.\n\nThis proper layering is needed so that NFS can cleanly use the congestion\nfunctions, and so that CONFIG_BLOCK\u003dn actually links.\n\nCc: \"Thomas Maier\" \u003cbalagi@justmail.de\u003e\nCc: \"Jens Axboe\" \u003cjens.axboe@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79e2de4bc53d7ca2a8eedee49e4a92479b4b530e",
      "tree": "f56d41a654eda0995ee35a97881bcdcb3f393528",
      "parents": [
        "26da82058e62ea173559a26881b16d10089645ba"
      ],
      "author": {
        "name": "Thomas Maier",
        "email": "balagi@justmail.de",
        "time": "Thu Oct 19 23:28:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:35 2006 -0700"
      },
      "message": "[PATCH] export clear_queue_congested and set_queue_congested\n\nExport the clear_queue_congested() and set_queue_congested() functions\nlocated in ll_rw_blk.c\n\nThe functions are renamed to blk_clear_queue_congested() and\nblk_set_queue_congested().\n\n(needed in the pktcdvd driver\u0027s bio write congestion control)\n\nSigned-off-by: Thomas Maier \u003cbalagi@justmail.de\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c5841642242e9ae817275e09b36b298456dc17d2",
      "tree": "be4c37fe2119ece7cc6d09a625cbf778d08e2ef8",
      "parents": [
        "e6e80f294c2688302f41959c57acfee7e131e489"
      ],
      "author": {
        "name": "Vasily Tarasov",
        "email": "vtaras@openvz.org",
        "time": "Wed Oct 11 13:26:30 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Thu Oct 12 15:08:51 2006 +0200"
      },
      "message": "[PATCH] block layer: elv_iosched_show should get elv_list_lock\n\nelv_iosched_show function iterates other elv_list, hence\nelv_list_lock should be got.\n\nSigned-off-by: Vasily Tarasov \u003cvtaras@openvz.org\u003e\nSigned-off-by: Vasily Tarasov \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a22b169df1b9f259391cf3b8ad8bfeea3d7be3f1",
      "tree": "c03c0fb3de87afc0c67a4a973a826deed4bb9d20",
      "parents": [
        "2b1191af683d16a899c2b81b87b605841ceffdec"
      ],
      "author": {
        "name": "Vasily Tarasov",
        "email": "vtaras@openvz.org",
        "time": "Wed Oct 11 09:24:27 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Thu Oct 12 15:08:51 2006 +0200"
      },
      "message": "[PATCH] block layer: elevator_find function cleanup\n\nWe can easily produce search through the elevator list\nwithout introducing additional elevator_type variable.\n\nSigned-off-by: Vasily Tarasov \u003cvtaras@openvz.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f583f4924d669d36de677e0cc2422ee95203d444",
      "tree": "08efeac804151bbaef8cf0ca7effaa4e30e037f9",
      "parents": [
        "4a61f17378c2cdd9bd8f34ef8bd7422861d0c1f1"
      ],
      "author": {
        "name": "David C Somayajulu",
        "email": "david.somayajulu@qlogic.com",
        "time": "Wed Oct 04 08:27:25 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Wed Oct 04 19:32:09 2006 +0200"
      },
      "message": "[PATCH] helper function for retrieving scsi_cmd given host based block layer tag\n\nThis was necessitated by the need for a function to get back\nto a scsi_cmnd, when an hba the posts its (corresponding) completion\ninterrupt with a block layer tag as its reference.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: David Somayajulu \u003cdavid.somayajulu@qlogic.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7006f6eca874cd44d37ccb8cfeb8bed04e3bff22",
      "tree": "2e0827157e770e62493dea144e5d9ef73091e554",
      "parents": [
        "9af4aa30b713a58e5952045f52c41a6e3baa2fdc"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Oct 03 01:15:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:13 2006 -0700"
      },
      "message": "[PATCH] dm: export blkdev_driver_ioctl\n\nExport blkdev_driver_ioctl for device-mapper.\n\nIf we get as far as the device-mapper ioctl handler, we know the ioctl is not\na standard block layer BLK* one, so we don\u0027t need to check for them a second\ntime and can call blkdev_driver_ioctl() directly.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e9a4738c9fadb7cbdcabc1e3b415159f3741ed9",
      "tree": "0e470bb8cd431d59698da5a6999ff35a347619a3",
      "parents": [
        "397d6140e93156ecb9cafcd9be0db10ff3c12ab3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Sep 30 23:28:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:24 2006 -0700"
      },
      "message": "[PATCH] completions: lockdep annotate on stack completions\n\nAll on stack DECLARE_COMPLETIONs should be replaced by:\nDECLARE_COMPLETION_ONSTACK\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "51d7513a8a54e4210d358ff1dbd34daab99a6638",
      "tree": "5ec08a403f8194d0cd9035e4d7d6fd3a2830668c",
      "parents": [
        "059af497c23492cb1ddcbba11c09dad385960bc0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Sep 30 21:14:05 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Sep 30 21:14:05 2006 +0200"
      },
      "message": "[PATCH] Only enable CONFIG_BLOCK option for embedded\n\nIt\u0027s too easy for people to shoot themselves in the foot, and it\nonly makes sense for embedded folks anyway.\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "059af497c23492cb1ddcbba11c09dad385960bc0",
      "tree": "656bbfa7104e065f0da8eac0c14b62ba1c088214",
      "parents": [
        "0fe23479577124bd2687e6783e39fa0fa4c28005"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Sep 21 20:37:22 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:34 2006 +0200"
      },
      "message": "[PATCH] blk_queue_start_tag() shared map race fix\n\nIf we share the tag map between two or more queues, then we cannot\nuse __set_bit() to set the bit. In fact we need to make sure we\natomically acquire this tag, so loop using test_and_set_bit() to\nprotect from that.\n\nNoticed by Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\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": "9361401eb7619c033e2394e4f9f6d410d6719ac7",
      "tree": "04b94a71f2366988c17740d1c16cfbdec41d5d2e",
      "parents": [
        "d366e40a1cabd453be6e2609caa7e12f9ca17b1f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Sep 30 20:45:40 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:31 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Make it possible to disable the block layer [try #6]\n\nMake it possible to disable the block layer.  Not all embedded devices require\nit, some can make do with just JFFS2, NFS, ramfs, etc - none of which require\nthe block layer to be present.\n\nThis patch does the following:\n\n (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev\n     support.\n\n (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls\n     an item that uses the block layer.  This includes:\n\n     (*) Block I/O tracing.\n\n     (*) Disk partition code.\n\n     (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.\n\n     (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the\n     \t block layer to do scheduling.  Some drivers that use SCSI facilities -\n     \t such as USB storage - end up disabled indirectly from this.\n\n     (*) Various block-based device drivers, such as IDE and the old CDROM\n     \t drivers.\n\n     (*) MTD blockdev handling and FTL.\n\n     (*) JFFS - which uses set_bdev_super(), something it could avoid doing by\n     \t taking a leaf out of JFFS2\u0027s book.\n\n (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and\n     linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,\n     however, still used in places, and so is still available.\n\n (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and\n     parts of linux/fs.h.\n\n (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.\n\n (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.\n\n (*) set_page_dirty() doesn\u0027t call __set_page_dirty_buffers() if CONFIG_BLOCK\n     is not enabled.\n\n (*) fs/no-block.c is created to hold out-of-line stubs and things that are\n     required when CONFIG_BLOCK is not set:\n\n     (*) Default blockdev file operations (to give error ENODEV on opening).\n\n (*) Makes some /proc changes:\n\n     (*) /proc/devices does not list any blockdevs.\n\n     (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.\n\n (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.\n\n (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if\n     given command other than Q_SYNC or if a special device is specified.\n\n (*) In init/do_mounts.c, no reference is made to the blockdev routines if\n     CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.\n\n (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return\n     error ENOSYS by way of cond_syscall if so).\n\n (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if\n     CONFIG_BLOCK is not set, since they can\u0027t then happen.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "4090959aee403817ff386415f9bc602c1a0882ef",
      "tree": "e2bd8b6ea922b14def3309eb18fc7d469e635b90",
      "parents": [
        "cf342e52e3117391868fb4bd900ce772a27a5a1a"
      ],
      "author": {
        "name": "Martin Peschke",
        "email": "mp3@de.ibm.com",
        "time": "Tue Aug 29 19:52:55 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:31:19 2006 +0200"
      },
      "message": "[PATCH] blktrace: cleanup using on_each_cpu\n\nThis patch kills a few lines of code in blktrace by making use of\non_each_cpu().\n\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "25034d7a83cf77667f3d65822484b305d4be6b25",
      "tree": "7e4d432aae0cab93c22e692ceceffe2b5f7500d6",
      "parents": [
        "9bf09c23853bb8009625c2ec60dc6beb9472d3ca"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Aug 29 09:15:14 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:31:18 2006 +0200"
      },
      "message": "[PATCH] exit_io_context: don\u0027t disable irqs\n\nWe don\u0027t need to disable irqs to clear current-\u003eio_context, it is protected\nby -\u003ealloc_lock. Even IF it was possible to submit I/O from IRQ on behalf of\ncurrent this irq_disable() can\u0027t help: current_io_context() will re-instantiate\n-\u003eio_context after irq_enable().\n\nWe don\u0027t need task_lock() or local_irq_disable() to clear ioc-\u003etask. This can\u0027t\nprevent other CPUs from playing with our io_context anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "7457e6e2d7406c7009e9ad03db1335fe93b5fb71",
      "tree": "b1653b11f3fe9a2d9a061aec7c4747a9809ecdb1",
      "parents": [
        "374f84ac39ec7829a57a66efd5125d3561ff0e00"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Jul 23 02:12:01 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:43 2006 +0200"
      },
      "message": "[PATCH] blktrace: support for logging metadata reads\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "374f84ac39ec7829a57a66efd5125d3561ff0e00",
      "tree": "a1303aba1804f621ebea8304ba94e02c16a70a5c",
      "parents": [
        "caa38fb0f481a3cb732b115cb59bfa6b59b6daaf"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sun Jul 23 01:42:19 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:43 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: use metadata read flag\n\nGive meta data reads preference over regular reads, as the process\noften needs to get that out of the way to do the io it was actually\ninterested in.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "5404bc7a87b9949cf61e0174b21f80e73239ab25",
      "tree": "230c799aef2dcad8c64da55114508d28d2b30183",
      "parents": [
        "da20a20f3b5c175648fa797c899dd577e4dacb51"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 09:01:02 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:42 2006 +0200"
      },
      "message": "[PATCH] Allow file systems to differentiate between data and meta reads\n\nWe can use this information for making more intelligent priority\ndecisions, and it will also be useful for blktrace.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "da20a20f3b5c175648fa797c899dd577e4dacb51",
      "tree": "690ba6f8f4f62a9deaa2b6d5d3cf6bd3220dac1b",
      "parents": [
        "bf57225670bcbeb357182d800736b4782cde7295"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 21 20:30:28 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:41 2006 +0200"
      },
      "message": "[PATCH] ll_rw_blk: allow more flexibility for read_ahead_kb store\n\nIt can make sense to set read-ahead larger than a single request.\nWe should not be enforcing such policy on the user. Additionally,\nusing the BLKRASET ioctl doesn\u0027t impose such a restriction. So\nadditionally we now expose identical behaviour through the two.\n\nIssue also reported by Anton \u003ccbou@mail.ru\u003e\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "bf57225670bcbeb357182d800736b4782cde7295",
      "tree": "c86d71fefff36090fc5c2ea3694f95d0162cdc2c",
      "parents": [
        "dc72ef4ae35c2016fb594bcc85ce871376682174"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jul 19 20:29:12 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:41 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: improve queue preemption\n\nDon\u0027t touch the current queues, just make sure that the wanted queue\nis selected next. Simplifies the logic.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "dc72ef4ae35c2016fb594bcc85ce871376682174",
      "tree": "c0c78879addf0d65adcc8f8cce01165fa2502dac",
      "parents": [
        "981a79730d586335ef8f942c83bdf2b1de6d4e3d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 20 14:54:05 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:40 2006 +0200"
      },
      "message": "[PATCH] Add blk_start_queueing() helper\n\nCFQ implements this on its own now, but it\u0027s really block layer\nknowledge. Tells a device queue to start dispatching requests to\nthe driver, taking care to unplug if needed. Also fixes the issue\nwhere as/cfq will invoke a stopped queue, which we really don\u0027t\nwant.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "981a79730d586335ef8f942c83bdf2b1de6d4e3d",
      "tree": "0dec9ba389ed1fbfb8adb842f86a27e9be643559",
      "parents": [
        "53b03744e5699832e6c5b04f2ec506d8b0c50c38"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jul 19 14:56:28 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:40 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: kill the empty_list\n\nNo point in having a place holder list just for empty queues, so remove\nit. It\u0027s not used for anything other than to keep -\u003ecfq_list busy.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "53b03744e5699832e6c5b04f2ec506d8b0c50c38",
      "tree": "7205d972bf6f25be3a3f2c360130b269dadcb3b2",
      "parents": [
        "b5deef901282628d88c784f4c9d2f0583ec3b355"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:48:51 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:39 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: Kill O(N) runtime of cfq_resort_rr_list()\n\nCurrently it scales with number of processes in that priority group,\nwhich is potentially not very nice as it\u0027s called quite often.\nBasically we always need to do tail inserts, except for the case of a\nnew process. So just mark/detect a queue as such.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b5deef901282628d88c784f4c9d2f0583ec3b355",
      "tree": "1d3be92f18c9afd9426b06739c8f76931acbf03f",
      "parents": [
        "a3b05e8f58c95dfccbf2c824d0c68e5990571f24"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jul 19 23:39:40 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:39 2006 +0200"
      },
      "message": "[PATCH] Make sure all block/io scheduler setups are node aware\n\nSome were kmalloc_node(), some were still kmalloc(). Change them all to\nkmalloc_node().\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "1ea25ecb7256978947c258f08a30c878eebe9edb",
      "tree": "d0dd75162f20afdf97a086bb22604d2aeb9c263e",
      "parents": [
        "4050cf1674c632c73801a561689543d4887df2ef"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 18 22:24:11 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:38 2006 +0200"
      },
      "message": "[PATCH] Audit block layer inlines\n\nKill a few inlines that bring in too much code to more than one location\nShrinks kernel text by about 300 bytes on 32-bit x86.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "4050cf1674c632c73801a561689543d4887df2ef",
      "tree": "f7a3e55857e917bb129d16d27458c2ff897a1864",
      "parents": [
        "e4313dd423148fa729571b50c06cbc0bedf5c494"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jul 19 05:07:12 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:37 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: use new io context counting mechanism\n\nIt\u0027s ok if the read path is a lot more costly, as long as inc/dec is\nreally cheap. The inc/dec will happen for each created/freed io context,\nwhile the reading only happens when a disk queue exits.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e4313dd423148fa729571b50c06cbc0bedf5c494",
      "tree": "7524020d6d822b06aa433c1252a4926b91a8b328",
      "parents": [
        "4a893e837bb470867d74c05d6c6b97bba5a96185"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jul 19 05:10:01 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:37 2006 +0200"
      },
      "message": "[PATCH] as-iosched: use new io context counting mechanism\n\nIt\u0027s ok if the read path is a lot more costly, as long as inc/dec is\nreally cheap. The inc/dec will happen for each created/freed io context,\nwhile the reading only happens when a disk queue exits.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "fc46379daf90dce57bf765c81d3b39f55150aac2",
      "tree": "43aa28f0db6c73f137550b0b2e2ec29b9f9a1fc6",
      "parents": [
        "89850f7ee905410c89f9295e89dc4c33502a34ac"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Aug 29 09:05:44 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:36 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: kill cfq_exit_lock\n\ncfq_exit_lock is protecting two things now:\n\n- The per-ioc rbtree of cfq_io_contexts\n\n- The per-cfqd linked list of cfq_io_contexts\n\nThe per-cfqd linked list can be protected by the queue lock, as it is (by\ndefinition) per cfqd as the queue lock is.\n\nThe per-ioc rbtree is mainly used and updated by the process itself only.\nThe only outside use is the io priority changing. If we move the\npriority changing to not browsing the rbtree, we can remove any locking\nfrom the rbtree updates and lookup completely. Let the sys_ioprio syscall\njust mark processes as having the iopriority changed and lazily update\nthe private cfq io contexts the next time io is queued, and we can\nremove this locking as well.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "89850f7ee905410c89f9295e89dc4c33502a34ac",
      "tree": "c499b53c052a6e515ec232fdbde4537f20f1d23d",
      "parents": [
        "e6a1c874a064e7d07f24986aba7cd537b7f4a25d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Sat Jul 22 16:48:31 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:35 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: cleanups, fixes, dead code removal\n\nA collection of little fixes and cleanups:\n\n- We don\u0027t use the \u0027queued\u0027 sysfs exported attribute, since the\n  may_queue() logic was rewritten. So kill it.\n\n- Remove dead defines.\n\n- cfq_set_active_queue() can be rewritten cleaner with else if conditions.\n\n- Several places had cfq_exit_cfqq() like logic, abstract that out and\n  use that.\n\n- Annotate the cfqq kmem_cache_alloc() so the allocator knows that this\n  is a repeat allocation if it fails with __GFP_WAIT set. Allows the\n  allocator to start freeing some memory, if needed. CFQ already loops for\n  this condition, so might as well pass the hint down.\n\n- Remove cfqd-\u003erq_starved logic. It\u0027s not needed anymore after we dropped\n  the crq allocation in cfq_set_request().\n\n- Remove uneeded parameter passing.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "51da90fcb6acd580e87280eaf4eb1f788021807d",
      "tree": "fea3d2266942557f0b061aea022bbb0f5e383dec",
      "parents": [
        "cb78b285c8f9d59b0d4e4f6a54c2977ce1d9b880"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 18 04:14:45 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:34 2006 +0200"
      },
      "message": "[PATCH] ll_rw_blk: cleanup __make_request()\n\n- Don\u0027t assign variables that are only used once.\n\n- Kill spin_lock() prefetching, it\u0027s opportunistic at best.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cb78b285c8f9d59b0d4e4f6a54c2977ce1d9b880",
      "tree": "fec08d228e25103962c56f8cd43727d9d6af23c8",
      "parents": [
        "cdd6026217c0e4cda2efce1bdc318661bef1f66f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:32:57 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:23 2006 +0200"
      },
      "message": "[PATCH] Drop useless bio passing in may_queue/set_request API\n\nIt\u0027s not needed for anything, so kill the bio passing.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cdd6026217c0e4cda2efce1bdc318661bef1f66f",
      "tree": "e26bb9c40b603b9cc321aa4217fecf34e1bc5f24",
      "parents": [
        "49171e5c6f414d49a061b5c1c84967c2eb569822"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:32:07 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:23 2006 +0200"
      },
      "message": "[PATCH] Remove -\u003erq_status from struct request\n\nAfter Christophs SCSI change, the only usage left is RQ_ACTIVE\nand RQ_INACTIVE. The block layer sets RQ_INACTIVE right before freeing\nthe request, so any check for RQ_INACTIVE in a driver is a bug and\nindicates use-after-free.\n\nSo kill/clean the remaining users, straight forward.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "49171e5c6f414d49a061b5c1c84967c2eb569822",
      "tree": "95da6dad18f9bfe10367db86e740b8842f60a686",
      "parents": [
        "c00895ab2f08df7044e58ee01c38bf0a661ea0eb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 08:59:11 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:22 2006 +0200"
      },
      "message": "[PATCH] Remove struct request_list from struct request\n\nIt is always identical to \u0026q-\u003erq, and we only use it for detecting\nwhether this request came out of our mempool or not. So replace it\nwith an additional -\u003eflags bit flag.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "c00895ab2f08df7044e58ee01c38bf0a661ea0eb",
      "tree": "95dee4eb76042087c4b8d43a5841b6bae85b8cf3",
      "parents": [
        "8a8e674cb1dafc818ffea93d97e4c1c1f01fdbb6"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Sep 30 20:29:12 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Sep 30 20:29:12 2006 +0200"
      },
      "message": "[PATCH] Remove -\u003ewaiting member from struct request\n\nAs the comments indicates in blkdev.h, we can fold it into -\u003eend_io_data\nusage as that is really what -\u003ewaiting is. Fixup the users of\nblk_end_sync_rq().\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "8a8e674cb1dafc818ffea93d97e4c1c1f01fdbb6",
      "tree": "98716fa9974c79928113c887c57fb5d8f7b6cc42",
      "parents": [
        "5e705374796e72b36e7bb9c59c8d46d2dc5db36a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 18 21:07:29 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:27:02 2006 +0200"
      },
      "message": "[PATCH] as-iosched: kill arq\n\nGet rid of the as_rq request type. With the added elevator_private2, we\nhave enough room in struct request to get rid of any arq allocation/free\nfor each request.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "5e705374796e72b36e7bb9c59c8d46d2dc5db36a",
      "tree": "94b365b5b56d08dfa1eb127285f7da9019bbf670",
      "parents": [
        "ff7d145fd911266ae42af7552edc32681c01addb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 13 12:39:25 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:27:02 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: kill crq\n\nGet rid of the cfq_rq request type. With the added elevator_private2, we\nhave enough room in struct request to get rid of any crq allocation/free\nfor each request.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "5380a101d33d1d3a32c6b6bd2e17e5dd835842b0",
      "tree": "26cce0604f8c5860f3616d00bd6af18e11fadaa9",
      "parents": [
        "8840faa1eebba22a9e2f86acddc0cf5145937df4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 13 12:37:56 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:27:01 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: remove the crq flag functions/variable\n\nThere\u0027s just one flag currently (SYNC), and that one can be grabbed from\nthe request.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\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": "9e2585a8a23f3a42f815b2a638725d85a921cd65",
      "tree": "6c318a746596ea8523ccf07aaa270cf4295cf50e",
      "parents": [
        "d4f2f4629ea6a003cd021a9ea1a8a23ec0cd70ac"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:26:13 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:27:00 2006 +0200"
      },
      "message": "[PATCH] as-iosched: remove arq-\u003eis_sync member\n\nWe can track this in struct request.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "d4f2f4629ea6a003cd021a9ea1a8a23ec0cd70ac",
      "tree": "d3ed19dd78e26c71245d4111d2b1698a1297ff87",
      "parents": [
        "95e8810b283cfac50789126de4207f9909299de9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 13 09:12:14 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:27:00 2006 +0200"
      },
      "message": "[PATCH] as-iosched: reuse rq for fifo\n\nSaves some space in arq.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "95e8810b283cfac50789126de4207f9909299de9",
      "tree": "5fc74242c9cc3e2a753f7b7e54fd08a3653f65bd",
      "parents": [
        "1fbfdfcddff4df188b24d9d05271a76a85064583"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 11 21:30:31 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:59 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: convert to using the FIFO elevator defines\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": "21183b07ee4be405362af8454f3647781c77df1b",
      "tree": "753d327a8e6d1e0fc7b41eecd68ea52dbb8b24dc",
      "parents": [
        "e37f346e347e5035c80760df2be0fcb2824f6c16"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 13 12:33:14 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:58 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: migrate to using the elevator rb functions\n\nThis removes the rbtree handling from CFQ.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e37f346e347e5035c80760df2be0fcb2824f6c16",
      "tree": "9bd354f831005f04c1c33182607cf61e8fcc09a0",
      "parents": [
        "2e662b65f05d550b6799ed6bfa9963b82279e6b7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 18 21:06:01 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:57 2006 +0200"
      },
      "message": "[PATCH] as-iosched: migrate to using the elevator rb functions\n\nThis removes the rbtree handling from AS.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "2e662b65f05d550b6799ed6bfa9963b82279e6b7",
      "tree": "82911ec73a52d149d74a3d13c3c5eedb269a19cb",
      "parents": [
        "10fd48f2376db52f08bf0420d2c4f580e39269e1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 13 11:55:04 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:57 2006 +0200"
      },
      "message": "[PATCH] elevator: abstract out the rbtree sort handling\n\nThe rbtree sort/lookup/reposition logic is mostly duplicated in\ncfq/deadline/as, so move it to the elevator core. The io schedulers\nstill provide the actual rb root, as we don\u0027t want to impose any sort\nof specific handling on the schedulers.\n\nIntroduce the helpers and rb_node in struct request to help migrate the\nIO schedulers.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "10fd48f2376db52f08bf0420d2c4f580e39269e1",
      "tree": "89de18dcda9c8a09937187a0e8d138cfe3cb4089",
      "parents": [
        "9817064b68fef7e4580c6df1ea597e106b9ff88b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 11 21:15:52 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:56 2006 +0200"
      },
      "message": "[PATCH] rbtree: fixed reversed RB_EMPTY_NODE and rb_next/prev\n\nThe conditions got reserved. Also make rb_next() and rb_prev() check\nfor the empty condition.\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": "4aff5e2333c9a1609662f2091f55c3f6fffdad36",
      "tree": "b73d8c2b7c1bdc03d3313c108da7dfc95ee95525",
      "parents": [
        "77ed74da26f50fa28471571ee7a2251b77526d84"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 08:44:47 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:23:37 2006 +0200"
      },
      "message": "[PATCH] Split struct request -\u003eflags into two parts\n\nRight now -\u003eflags is a bit of a mess: some are request types, and\nothers are just modifiers. Clean this up by splitting it into\n-\u003ecmd_type and -\u003ecmd_flags. This allows introduction of generic\nLinux block message types, useful for sending generic Linux commands\nto block devices.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "6c5c934153513dc72e2d6464f39e8ef1f27c0a3e",
      "tree": "be799da4af646a96c2d6ab473e276a7361beb685",
      "parents": [
        "3d5b6fccc4b900cc4267692f015ea500bad4c6bf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Sep 29 01:59:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:09 2006 -0700"
      },
      "message": "[PATCH] ifdef blktrace debugging fields\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "87a57261105669d13a9cae747b5b67ca1cbcda3c",
      "tree": "a82f6e81137ef987118e043040adac41599979b3",
      "parents": [
        "4d7dd8fd9557840162b724a8ac1366dd78a12dff"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Sep 29 01:58:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:05 2006 -0700"
      },
      "message": "[PATCH] block: handle subsystem_register() init errors\n\nCheck and handle init errors.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8e18e2941c53416aa219708e7dcad21fb4bd6794",
      "tree": "44118f8b09556193ac93e0b71aecfa3e1d4bc182",
      "parents": [
        "6a1d9805ec506d8b9d04450997707da5f643d87c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:17 2006 -0700"
      },
      "message": "[PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private\n\nThe following patches reduce the size of the VFS inode structure by 28 bytes\non a UP x86.  (It would be more on an x86_64 system).  This is a 10% reduction\nin the inode size on a UP kernel that is configured in a production mode\n(i.e., with no spinlock or other debugging functions enabled; if you want to\nsave memory taken up by in-core inodes, the first thing you should do is\ndisable the debugging options; they are responsible for a huge amount of bloat\nin the VFS inode structure).\n\nThis patch:\n\nThe filesystem or device-specific pointer in the inode is inside a union,\nwhich is pretty pointless given that all 30+ users of this field have been\nusing the void pointer.  Get rid of the union and rename it to i_private, with\na comment to explain who is allowed to use the void pointer.  This is just a\ncleanup, but it allows us to reuse the union \u0027u\u0027 for something something where\nthe union will actually be used.\n\n[judith@osdl.org: powerpc build fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Judith Lebzelter \u003cjudith@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1aedf2ccc60fade26c46fae12e28664d0da3f199",
      "tree": "d91083e3079f1ddb942a382ac2b5a7525570ad59",
      "parents": [
        "dfdc58ba354adb80d67c99f7be84f95a8e02e466",
        "1ab9dd0902df4f4ff56fbf672220549090ab28ba"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@sparkweed.localdomain",
        "time": "Sat Sep 23 21:03:52 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@sparkweed.localdomain",
        "time": "Sat Sep 23 21:03:52 2006 -0500"
      },
      "message": "Merge mulgrave-w:git/linux-2.6\n\nConflicts:\n\n\tinclude/linux/blkdev.h\n\nTrivial merge to incorporate tag prototypes.\n"
    },
    {
      "commit": "275a082fe9308e710324e26ccb5363c53d8fd45f",
      "tree": "e97df6e45f98ea2827f71dc749f8cd47f3f353cc",
      "parents": [
        "94a6d75320b3681e6e728b70e18bd186cb55e682"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 22 20:06:24 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:54 2006 -0400"
      },
      "message": "Add a real API for dealing with blk_congestion_wait()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "492dfb489658dfe4a755fa29dd0e34e9c8bd8fb8",
      "tree": "1ad52b1ce98743729c7cacce0c602e22d3a5d076",
      "parents": [
        "f19eaa7f53736449a6eac89c3863eca2c64d5913"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Wed Aug 30 15:48:45 2006 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Aug 31 11:17:18 2006 -0400"
      },
      "message": "[SCSI] block: add support for shared tag maps\n\nThe current block queue implementation already contains most of the\nmachinery for shared tag maps.  The only remaining pieces are a way to\nallocate and destroy a tag map independently of the queues (so that\nthe maps can be managed on the life cycle of the overseeing entity)\n\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "2d8f613160ed303f5fe310f21bba334a4b074fa5",
      "tree": "7e6878d6391919019b4904714cfe8fc0ef4709be",
      "parents": [
        "00a2b0f6dd2372842df73de72d51621b539fea44"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Aug 22 21:22:13 2006 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 22 12:52:23 2006 -0700"
      },
      "message": "elv_unregister: fix possible crash on module unload\n\nAn exiting task or process which didn\u0027t do I/O yet have no io context,\nelv_unregister() should check it is not NULL.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "be33c3a67bb717508ab1eab0f2fa570fabcbc4d2",
      "tree": "a3ed181d91d97487b5918a8e8c4eab05166978f1",
      "parents": [
        "e014ff8d4285b81f0de0719d8eee72bc50bfd4be"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Aug 21 08:36:12 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Mon Aug 21 10:02:54 2006 +0200"
      },
      "message": "[PATCH] cfq_cic_link: fix usage of wrong cfq_io_context\n\nObviously, cfq_cic_link() shouldn\u0027t free a just allocated cfq_io_context?\nThe dead key is from __cic, so drop that.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "9f83e45eb54fc7198dc59fc63255341851ba4c48",
      "tree": "3874581e08052b7f37f164110b3bd44ae5eff291",
      "parents": [
        "78bd4d484f81a611ef6ff02f909e576cb9aac7f2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Aug 21 08:34:15 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Aug 21 08:34:15 2006 +0200"
      },
      "message": "[PATCH] Fix current_io_context() vs set_task_ioprio() race\n\nI know nothing about io scheduler, but I suspect set_task_ioprio() is not safe.\n\ncurrent_io_context() initializes \"struct io_context\", then sets -\u003eio_context.\nset_task_ioprio() running on another cpu may see the changes out of order, so\n-\u003eset_ioprio(ioc) may use io_context which was not initialized properly.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "44eb123126d289bac398cac0232309c228386671",
      "tree": "129504f649195d5cff96c4c94a345d459f770896",
      "parents": [
        "ad01b1ca797e5898cd40bb32cf0dc8c85aa9f7e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 25 15:05:21 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 25 15:05:21 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: don\u0027t use a hard jiffies value, translate from msecs\n\nThe CIC_SEEKY() test really wants to use the minimum of either:\n\n- 2 msecs (not jiffies)\n\n- or, the pending slice time\n\nSo code it like that.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ad01b1ca797e5898cd40bb32cf0dc8c85aa9f7e8",
      "tree": "c6232d2da8f031d4995d5f871458f280921a7ba2",
      "parents": [
        "7b30f09245d0e6868819b946b2f6879e5d3d106b"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Tue Jul 25 15:04:13 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jul 25 15:04:13 2006 +0200"
      },
      "message": "[PATCH] blktrace: fix read-ahead bit\n\nIt should be toggling the same bit on and off, fix it up.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ddca60c59032b2c2babc0003cf01015aff340b79",
      "tree": "c836af2259cb55ebae060268c52b1d3f4773d819",
      "parents": [
        "7e56a7dcbb974d9725d80e50d70c6eed7f71110b"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 14 00:24:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:53 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate the BLKPG_DEL_PARTITION ioctl\n\nThe delete partition IOCTL takes the bd_mutex for both the disk and the\npartition; these have an obvious hierarchical relationship and this patch\nannotates this relationship for lockdep.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1959d21232931dfa686769a21161413f10d6652f",
      "tree": "c311b9fce998ce66665bda261c470a6fb981aa5c",
      "parents": [
        "40359ccb836866435b03a0cb57345002b587d875"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 06 10:18:05 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 06 10:18:05 2006 +0200"
      },
      "message": "[PATCH] Only the first two bits in bio-\u003ebi_rw and rq-\u003eflags match\n\nNot three, as assumed. This causes the barrier bit to be needlessly set\nfor some IO.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "40359ccb836866435b03a0cb57345002b587d875",
      "tree": "4e0530a7759ba9802658901432a89683fbb0965d",
      "parents": [
        "fc0a75ce4835187a3f76d6b35f0644d1b168eef5"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Jul 06 10:03:28 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 06 10:03:28 2006 +0200"
      },
      "message": "[PATCH] blktrace: readahead support\n\nProvide the needed kernel support for distinguishing readahead\nfrom regular read requests when tracing block devices.\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "60be6b9a41cb0da0df7a9f11486da56baebf04cd",
      "tree": "26cb558d0d57183fdbf9136ad54b581328d6f016",
      "parents": [
        "366c7f554e888e51b8395f9b07b273fe775c7ff3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:09 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate on-stack completions\n\nlockdep needs to have the waitqueue lock initialized for on-stack waitqueues\nimplicitly initialized by DECLARE_COMPLETION().  Annotate on-stack completions\naccordingly.\n\nHas no effect on non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22a3e233ca08a2ddc949ba1ae8f6e16ec7ef1a13",
      "tree": "7ef158ba2c30e0dde2dc103d1904fae243759a6b",
      "parents": [
        "39302175c26d74be35715c05a0f342c9e64c21bf",
        "6ab3d5624e172c553004ecc862bfeac16d9d68b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  Remove obsolete #include \u003clinux/config.h\u003e\n  remove obsolete swsusp_encrypt\n  arch/arm26/Kconfig typos\n  Documentation/IPMI typos\n  Kconfig: Typos in net/sched/Kconfig\n  v9fs: do not include linux/version.h\n  Documentation/DocBook/mtdnand.tmpl: typo fixes\n  typo fixes: specfic -\u003e specific\n  typo fixes in Documentation/networking/pktgen.txt\n  typo fixes: occuring -\u003e occurring\n  typo fixes: infomation -\u003e information\n  typo fixes: disadvantadge -\u003e disadvantage\n  typo fixes: aquire -\u003e acquire\n  typo fixes: mecanism -\u003e mechanism\n  typo fixes: bandwith -\u003e bandwidth\n  fix a typo in the RTC_CLASS help text\n  smb is no longer maintained\n\nManually merged trivial conflict in arch/um/kernel/vmlinux.lds.S\n"
    },
    {
      "commit": "f8891e5e1f93a128c3900f82035e8541357896a7",
      "tree": "97b078ac97970962b17c85d39fd64cb48dc01168",
      "parents": [
        "ca889e6c45e0b112cb2ca9d35afc66297519b5d5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 30 01:55:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:36 2006 -0700"
      },
      "message": "[PATCH] Light weight event counters\n\nThe remaining counters in page_state after the zoned VM counter patches\nhave been applied are all just for show in /proc/vmstat.  They have no\nessential function for the VM.\n\nWe use a simple increment of per cpu variables.  In order to avoid the most\nsevere races we disable preempt.  Preempt does not prevent the race between\nan increment and an interrupt handler incrementing the same statistics\ncounter.  However, that race is exceedingly rare, we may only loose one\nincrement or so and there is no requirement (at least not in kernel) that\nthe vm event counters have to be accurate.\n\nIn the non preempt case this results in a simple increment for each\ncounter.  For many architectures this will be reduced by the compiler to a\nsingle instruction.  This single instruction is atomic for i386 and x86_64.\n And therefore even the rare race condition in an interrupt is avoided for\nboth architectures in most cases.\n\nThe patchset also adds an off switch for embedded systems that allows a\nbuilding of linux kernels without these counters.\n\nThe implementation of these counters is through inline code that hopefully\nresults in only a single instruction increment instruction being emitted\n(i386, x86_64) or in the increment being hidden though instruction\nconcurrency (EPIC architectures such as ia64 can get that done).\n\nBenefits:\n- VM event counter operations usually reduce to a single inline instruction\n  on i386 and x86_64.\n- No interrupt disable, only preempt disable for the preempt case.\n  Preempt disable can also be avoided by moving the counter into a spinlock.\n- Handling is similar to zoned VM counters.\n- Simple and easily extendable.\n- Can be omitted to reduce memory use for embedded use.\n\nReferences:\n\nRFC http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113512330605497\u0026w\u003d2\nRFC http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114988082814934\u0026w\u003d2\nlocal_t http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114991748606690\u0026w\u003d2\nV2 http://marc.theaimsgroup.com/?t\u003d115014808400007\u0026r\u003d1\u0026w\u003d2\nV3 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d115024767022346\u0026w\u003d2\nV4 http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d115047968808926\u0026w\u003d2\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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": "5a67e4c5b6faaccf31740a07d93704166405d880",
      "tree": "a302ac0dae12f3e430ff485242bc0a85ddfbc00d",
      "parents": [
        "39f4885c56073ecafd482d7e10dd7b17900fa312"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: use hotplug version of cpu notifier in appropriate places\n\nMake use the of newly defined hotplug version of cpu_notifier functionality\nwherever appropriate.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "054cc8a2d808822dadf488a61729e3e550f114c4",
      "tree": "da7e5ecce06d1898263da9b47714b0b0fa972397",
      "parents": [
        "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert initdata patch submitted for 2.6.17\n\nThis patch reverts notifier_block changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6e05edc59ecd79e8badf440c0d295a979bdfa3e",
      "tree": "50362161f69317242ab603c51a18a818a4c93285",
      "parents": [
        "f18190bd3407554ba6df30a1927e07e6cba93e56"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@lisas.de",
        "time": "Mon Jun 26 18:35:02 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jun 26 18:35:02 2006 +0200"
      },
      "message": "spelling fixes\n\nacquired (aquired)\ncontiguous (contigious)\nsuccessful (succesful, succesfull)\nsurprise (suprise)\nwhether (weather)\nsome other misspellings\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "8269730b389d4793348d521140f9c76fb1828249",
      "tree": "c10c9441a16265f698dd4a38014c9d3026ee07c0",
      "parents": [
        "dd67d051529387f6e44d22d1d5540ef281965fdd"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jun 21 14:48:09 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[BLOCK] Fix bounce limit address check\n\nDo a safer check for when to enable DMA. Currently we enable ISA DMA\nfor cases that do not need it, resulting in OOM conditions when ZONE_DMA\nruns out of space.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.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": "fd61af0384014ca29428ace7c17a978b755aeddd",
      "tree": "c7aa5ca9b91383b7c97199189214fa86a6a51b4f",
      "parents": [
        "caaa5f9f0a75d1dc5e812e69afdbb8720e077fd3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jun 16 15:35:39 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: rq update fixes\n\n- Remember to set -\u003elast_sector so that the cfq_choose_req() logic\n  works correctly.\n\n- Remove redundant call to cfq_choose_req()\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "caaa5f9f0a75d1dc5e812e69afdbb8720e077fd3",
      "tree": "07aba6bac5a57cb3efd23762acfd719e255775ab",
      "parents": [
        "35e6077cb16f93517ba5a51ba849b186d2474d60"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jun 16 11:23:00 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: many performance fixes\n\nThis is a collection of patches that greatly improve CFQ performance\nin some circumstances.\n\n- Change the idling logic to only kick in after a request is done and we\n  are deciding what to do. Before the idling included the request service\n  time, so it was hard to adjust. Now it\u0027s true think/idle time.\n\n- Take advantage of TCQ/NCQ/queueing for seeky sync workloads, but keep\n  it in control for sync and sequential (or close to) workloads.\n\n- Expire queues immediately and move on to other busy queues, if we are\n  not going to idle after the current one finishes.\n\n- Don\u0027t rearm idle timer if there are no busy queues. Just leave the\n  system idle.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "35e6077cb16f93517ba5a51ba849b186d2474d60",
      "tree": "215bcf3548d80365b3cd3673feddf6a8f8ba9fbc",
      "parents": [
        "b17fd9bceb99610f6dc7998c9a4ed6b71520be2b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jun 14 09:10:45 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: correctly set ioprio on both targets\n\nPatch originally from Vasily Tarasov \u003cvtaras@sw.ru\u003e\n\nIf you set io-priority of process 1 using sys_ioprio_set system call by\nanother process 2 (like ionice do), then cfq_init_prio_data() function\nsets priority of process 2 (current) on queue of process 1 and clears\nthe flag, that designates change of ioprio.  So the process  1 will work\nlike with priority of process 2.\n\nI propose not to call cfq_init_prio_data() on io-priority change, but\nonly mark queue as queue with changed prority.  Every time when new\nrequest comes cfq-scheduler checks for this flag and atomaticaly changes\npriority of queue to new value.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b17fd9bceb99610f6dc7998c9a4ed6b71520be2b",
      "tree": "13cb21955ce4677360c72f7120fee311f16ca3c7",
      "parents": [
        "8f34ee75decb80007ba77bba5a7384eadff4866d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 19 10:06:48 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Make CFQ the default IO scheduler\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b31dc66a54ad986b6b73bdc49c8efc17cbad1833",
      "tree": "5591383c1cbffe11512da889c971f899333f1a44",
      "parents": [
        "271f18f102c789f59644bb6c53a69da1df72b2f4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 08:26:10 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Kill PF_SYNCWRITE flag\n\nA process flag to indicate whether we are doing sync io is incredibly\nugly. It also causes performance problems when one does a lot of async\nio and then proceeds to sync it. Part of the io will go out as async,\nand the other part as sync. This causes a disconnect between the\npreviously submitted io and the synced io. For io schedulers such as CFQ,\nthis will cause us lost merges and suboptimal behaviour in scheduling.\n\nRemove PF_SYNCWRITE completely from the fsync/msync paths, and let\nthe O_DIRECT path just directly indicate that the writes are sync\nby using WRITE_SYNC instead.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "271f18f102c789f59644bb6c53a69da1df72b2f4",
      "tree": "f3593b5dbc90da69a91a69fb170c2600775703f7",
      "parents": [
        "acf421755593f7d7bd9352d57eda796c6eb4fa43"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 08:08:38 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:38 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: Don\u0027t set the queue batching limits\n\nWe cannot update them if the user changes nr_requests, so don\u0027t\nset it in the first place. The gains are pretty questionable as\nwell. The batching loss has been shown to decrease throughput.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "acf421755593f7d7bd9352d57eda796c6eb4fa43",
      "tree": "08fe234e5a28556ef32d29de1d3045cfe94a931c",
      "parents": [
        "fda151d9feafc0e8418f23c716587c44394fcdbf"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 12 14:20:58 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:38 2006 +0200"
      },
      "message": "[PATCH] remove dead code from elevator switching\n\nWe already drop the refcount in elevator_exit(), and as\nwe\u0027re setting \u0027e\u0027 to NULL, we\u0027ll never take that branch anyway.\nFinally, as \u0027e\u0027 is a local var that isn\u0027t referenced afterwards,\nsetting it to NULL is pointless.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "a038e2536472b4dd932399b5277e65f188811de5",
      "tree": "15b311da1a9aa36b24f98ae914456ecb90e247f3",
      "parents": [
        "bae386f7884aa3720cc7880b36a41a1d2b9c327b"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Mon Jun 05 12:09:01 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:38 2006 +0200"
      },
      "message": "[PATCH] blk_start_queue() must be called with irq disabled - add warning\n\nThe queue lock can be taken from interrupts so it must always be taken with\nirq disabling primitives.  Some primitives already verify this.\nblk_start_queue() is called under this lock, so interrupts must be\ndisabled.\n\nAlso document this requirement clearly in blk_init_queue(), where the queue\nspinlock is set.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\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": "626ab0e69d376fa07599af669af8ba92d58e87c1",
      "tree": "a995e0231e61fab63568bc7bade81dc20c1dae09",
      "parents": [
        "54e73770357142e297c916c7865f5fca7499f69c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jun 23 02:05:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] list: use list_replace_init() instead of list_splice_init()\n\nlist_splice_init(list, head) does unneeded job if it is known that\nlist_empty(head) \u003d\u003d 1.  We can use list_replace_init() instead.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b9d9c82b4d081feb464f62dfc786c8621d09ecd2",
      "tree": "511d15b4d7aaba80a2c0fe49622a3224ca386122",
      "parents": [
        "23681e479129854305da1da32f7f1eaf635ef22c"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Thu Jun 15 15:31:56 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] Driver core: add generic \"subsystem\" link to all devices\n\nLike the SUBSYTEM\u003d key we find in the environment of the uevent, this\ncreates a generic \"subsystem\" link in sysfs for every device. Userspace\nusually doesn\u0027t care at all if its a \"class\" or a \"bus\" device. This\nprovides an unified way to determine the subsytem of a device, regardless\nof the way the driver core has created it.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6b41fd1785f4effe2f3bd40da864415812f5b8c9",
      "tree": "465b955a8055639828ef64bc963ddead4e44d3c8",
      "parents": [
        "58dfd9c16e88b9d790e7df8f2c5b03b7887db54c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 19:44:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 19:44:03 2006 -0700"
      },
      "message": "Fix up CFQ scheduler for recent rbtree node shrinkage\n\nThe color is now in the low bits of the parent pointer, and initializing\nit to 0 happens as part of the whole memset above, so just remove the\nunnecessary RB_CLEAR_COLOR.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\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": "553698f944ed715dfe023b4cef07601f0ce735f0",
      "tree": "2c9019e43218a3afc92fbb32a44de794123295f4",
      "parents": [
        "9cedc194a7735e5d74ad26d3825247dc65a4d98e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jun 14 19:11:57 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 14 10:22:16 2006 -0700"
      },
      "message": "[PATCH] cfq-iosched: fix crash in do_div()\n\nWe don\u0027t clear the seek stat values in cfq_alloc_io_context(), and if\n-\u003eseek_mean is unlucky enough to be set to -36 by chance, the first\ninvocation of cfq_update_io_seektime() will oops with a divide by zero\nin do_div().\n\nJust memset the entire cic instead of filling invididual values\nindependently.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\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": "b52a834892f17b6c54c34ab65f1fad1a9229e764",
      "tree": "0f66d6a310f108bb1f0badd3ebea3b1db0a163f6",
      "parents": [
        "ae818a38d4755ba4c16a22a8eacec859511a5393"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 18:53:43 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 18:53:43 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: busy_rr fairness fix\n\nNow that we select busy_rr for possible service, insert entries at the\nback of that list instead of at the front.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ae818a38d4755ba4c16a22a8eacec859511a5393",
      "tree": "923ec4b261ab8b633fff2be9e7b9c4afcf704737",
      "parents": [
        "25776e3594f841b7fae7b33ebecf009a0a55bed1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 10:13:43 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 10:13:43 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: fix bug in timer handling for the idle class\n\nThere\u0027s a small window from when the timer is entered and we grab\nthe queue lock, where cfq_set_active_queue() could be rearming the\ntimer for us. Seen in the wild on a 12-way ppc box. Fix this by\njust using mod_timer(), which will do the right thing for us.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "25776e3594f841b7fae7b33ebecf009a0a55bed1",
      "tree": "689dcf37ba781ad627ae01be4fcb6f5414f67c1b",
      "parents": [
        "12e9fddd6eb827937fcaac8ac7712c7303898b1f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 10:12:26 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 10:12:26 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: Detect hardware queueing\n\nIf the hardware is doing real queueing, decide that it\u0027s worthless to\nidle the hardware. It does reasonable simultaneous io in that case\nanyways, and the idling hurts some work loads.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "12e9fddd6eb827937fcaac8ac7712c7303898b1f",
      "tree": "b3fbb502f46319808a50fd2fc7a93668d697f6ec",
      "parents": [
        "e0de0206a2a37cd3e0ba9954d9f863e11d6d1782"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 10:09:56 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 10:09:56 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: Detect idle process issuing async request\n\nIf we are anticipating a sync request from this process and we are\nwaiting for that and see an async request come in, expire that slice\nand move on.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e0de0206a2a37cd3e0ba9954d9f863e11d6d1782",
      "tree": "58ba74a2f8e0edce59c770c74d019d4e1e3c98fd",
      "parents": [
        "ba8f5baba79da8eb502f8534c3a8ecb64aceb790"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 10:07:26 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 01 10:07:26 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: check busy queues before deciding we are idle\n\nFor just one busy queue (like async write out), we often overlooked\nthat we could queue more io and decided we were idle instead. This causes\nus quite a bit of performance loss.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "3793c65c13e4751c7a10f98198bae1758453eb0e",
      "tree": "90cdca032861efbb982705f9d96e351681e48fef",
      "parents": [
        "e60a48f5ab35737118e19bc965c640900a842f02"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue May 30 21:11:04 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue May 30 20:31:05 2006 -0700"
      },
      "message": "[PATCH] cfq-iosched: fixup locking and -\u003equeue_list list management\n\n- Drop cic from the list when seen as dead.\n- Fixup the locking, just use a simple spinlock.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd0ff8aa1d95a896b3627bc62d42d6d002ac0bc3",
      "tree": "e4ba36d57ca288eeaebdc882b988833e86607b22",
      "parents": [
        "0f0410823792ae0ecb45f2578598b115835ffdbb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue May 23 11:23:49 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue May 23 10:39:43 2006 -0700"
      },
      "message": "[PATCH] blk: fix gendisk-\u003ein_flight accounting during barrier sequence\n\nWhile executing barrrier sequence, the bar_rq which carries actual\nwrite was accounted as normal IO on completion, while it wasn\u0027t on\nqueueing.  This caused gendisk-\u003ein_flight to be decremented by 1 after\neach barrier thus messed up statistics.\n\nThis patch makes bar_rq not accounted as normal IO.  As the containing\nbarrier request as a whole is accounted, part of it shouldn\u0027t be.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a2acc9e9214699a99389e323e6686e9e0e2ca67",
      "tree": "8f8072ba0624ceb63ac0115a81d85435323fe79c",
      "parents": [
        "d8c3291c73b958243b33f8509d4507e76dafd055"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri May 12 12:08:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri May 12 12:08:46 2006 -0700"
      },
      "message": "Revert \"[BLOCK] Fix oops on removal of SD/MMC card\"\n\nThis reverts commit 56cf6504fc1c0c221b82cebc16a444b684140fb7.\n\nBoth Erik Mouw and Andrew Vasquez independently pinpointed this commit\nas causing problems, where the slab cache for a driver is never released\n(most obviously causing problems when immediately re-loading that\ndriver, resulting in a \"kmem_cache_create: duplicate cache \u003cxyz\u003e\"\nmessage, but it can also cause other trouble).\n\nJames Bottomley dug into it, and reports:\n\n  \"OK, here\u0027s the scoop.  The problem patch adds a get of driverfs_dev in\n   add_disk(), but doesn\u0027t put it again until disk_release() (which occurs\n   on final put_disk() of the gendisk).\n\n   However, in SCSI, the driverfs_dev is the sdev_gendev.  That means\n   there\u0027s a reference held on sdev_gendev  until final disk put.\n   Unfortunately, we use the driver model driver_remove to trigger\n   del_gendisk (which removes the gendisk from visibility and decrements\n   the refcount), so we\u0027ve introduced an unbreakable deadlock in the\n   reference counting with this.\n\n   I suggest simply reversing this patch at the moment.  If Russell and\n   Jens can tell me what they\u0027re trying to do I\u0027ll see if there\u0027s another\n   way to do it.\"\n\nso hereby the patch gets reverted, waiting for a better fix.\n\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Erik Mouw \u003cerik@harddisk-recovery.com\u003e\nCc: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dac07ec121de66b6be988b14ae2cd9ce45357b21",
      "tree": "95359f17d0857fd52f399cef072097523227d032",
      "parents": [
        "f358166a9405e4f1d8e50d8f415c26d95505b6de"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu May 11 08:20:16 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu May 11 12:38:59 2006 -0700"
      },
      "message": "[BLOCK] limit request_fn recursion\n\nDon\u0027t recurse back into the driver even if the unplug threshold is met,\nwhen the driver asks for a requeue. This is both silly from a logical\npoint of view (requeues typically happen due to driver/hardware\nshortage), and also dangerous since we could hit an endless request_fn\n-\u003e requeue -\u003e unplug -\u003e request_fn loop and crash on stack overrun.\n\nAlso limit blk_run_queue() to one level of recursion, similar to how\nblk_start_queue() works.\n\nThis patch fixed a real problem with SLES10 and lpfc, and it could hit\nany SCSI lld that returns non-zero from it\u0027s -\u003equeuecommand() handler.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "56cf6504fc1c0c221b82cebc16a444b684140fb7"
}
