)]}'
{
  "log": [
    {
      "commit": "58c24a61614f5da290068e47fc5ec65370eb61dd",
      "tree": "ae8f51cef37239a4ebe12379deca7042680161c1",
      "parents": [
        "024f9066165ffe9c8284431c78adcbcddd309831"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Fri Feb 26 14:00:43 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 26 14:00:43 2010 +0100"
      },
      "message": "block: remove padding from io_context on 64bit builds\n\nOn 64 bit builds when CONFIG_BLK_CGROUP\u003dn (the default) this removes 8\nbytes of padding from structure io_context and drops its size from 72 to\n64 bytes, so needing one fewer cachelines and allowing more objects per\nslab in it\u0027s kmem_cache.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\n\n----\npatch against 2.6.33\ncompiled \u0026 test on x86_64 AMDX2\nregards\nRichard\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ce289321b7dc1eb108e3df0dec872b7429ef49f7",
      "tree": "9153bc19d805d796b7a9ddac04d2d060a9d3261e",
      "parents": [
        "b27d7f16d3c6c27345d4280a739809c1c2c4c0b5"
      ],
      "author": {
        "name": "Kirill Afonshin",
        "email": "kirill_nnov@mail.ru",
        "time": "Fri Jan 08 22:09:59 2010 +0300"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 11 14:29:20 2010 +0100"
      },
      "message": "block: removed unused as_io_context\n\nIt isn\u0027t used anymore, since AS was deleted.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b69f2292063d2caf37ca9aec7d63ded203701bf3",
      "tree": "be4acb81ea4ab7014047808ec2b2c908e8334f55",
      "parents": [
        "61cc74fbb87af6aa551a06a370590c9bc07e29d9"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "louis.rilling@kerlabs.com",
        "time": "Fri Dec 04 14:52:42 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 04 16:36:18 2009 +0100"
      },
      "message": "block: Fix io_context leak after failure of clone with CLONE_IO\n\nWith CLONE_IO, parent\u0027s io_context-\u003enr_tasks is incremented, but never\ndecremented whenever copy_process() fails afterwards, which prevents\nexit_io_context() from calling IO schedulers exit functions.\n\nGive a task_struct to exit_io_context(), and call exit_io_context() instead of\nput_io_context() in copy_process() cleanup path.\n\nSigned-off-by: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "31e4c28d95e64f2d5d3c497a3ecf37c62de635b4",
      "tree": "ffbb99b2565c4bdd4921fd7077164e7fc295b2bc",
      "parents": [
        "1fa8f6d68b5c8ca0a608fd8d296c5f07ac788cd6"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Thu Dec 03 12:59:42 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 19:28:51 2009 +0100"
      },
      "message": "blkio: Introduce blkio controller cgroup interface\n\no This is basic implementation of blkio controller cgroup interface. This is\n  the common interface visible to user space and should be used by different\n  IO control policies as we implement those.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b2c18e1e08a5a9663094d57bb4be2f02226ee61c",
      "tree": "55c092706a0d8a9e645f245bf2ecc45c29ba5aa7",
      "parents": [
        "c30f33437c3f85ec48353a1ef811e148217a2aaf"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Fri Oct 23 17:14:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 26 14:34:46 2009 +0100"
      },
      "message": "cfq: calculate the seek_mean per cfq_queue not per cfq_io_context\n\nasync cfq_queue\u0027s are already shared between processes within the same\npriority, and forthcoming patches will change the mapping of cic to sync\ncfq_queue from 1:1 to 1:N.  So, calculate the seekiness of a process\nbased on the cfq_queue instead of the cfq_io_context.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cbb4f2646d77b536ed2b1500ef6641083228ed8f",
      "tree": "e238098c2239ca1a2ec978858f63566d0281d49a",
      "parents": [
        "56ad1740d9a8dc271e71fee234be662638c64458"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jul 31 08:55:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 31 08:55:48 2009 +0200"
      },
      "message": "io context: fix ref counting\n\nCommit d9c7d394a8ebacb60097b192939ae9f15235225e\n(\"block: prevent possible io_context-\u003erefcount overflow\") mistakenly\nchanged atomic_inc(\u0026ioc-\u003enr_tasks) to atomic_long_inc(\u0026ioc-\u003erefcount).\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d9c7d394a8ebacb60097b192939ae9f15235225e",
      "tree": "4fbf9c7677acb03c23d05faba1a4b0bcfb6702b4",
      "parents": [
        "1d589bb16b825b3a7b4edd34d997f1f1f953033d"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@novell.com",
        "time": "Wed Jun 10 12:57:06 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jun 10 23:07:15 2009 +0200"
      },
      "message": "block: prevent possible io_context-\u003erefcount overflow\n\nCurrently io_context has an atomic_t(32-bit) as refcount.  In the case of\ncfq, for each device against whcih a task does I/O, a reference to the\nio_context would be taken.  And when there are multiple process sharing\nio_contexts(CLONE_IO) would also have a reference to the same io_context.\n\nTheoretically the possible maximum number of processes sharing the same\nio_context + the number of disks/cfq_data referring to the same io_context\ncan overflow the 32-bit counter on a very high-end machine.\n\nEven though it is an improbable case, let us make it atomic_long_t.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "da9cbc87395308a21465bd25441297bbba0477e1",
      "tree": "fabea3326cea434c0011fa00f3eb57854162117c",
      "parents": [
        "b984679efe1a616ec4ac919dba08286d71593900"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 30 20:42:08 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:14 2008 +0200"
      },
      "message": "block: blkdev.h cleanup, move iocontext stuff to iocontext.h\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d237e5c7ce82b6c7e1aa50348520a0c5a47274fa",
      "tree": "7ba37198dea89e4168cb660175057058ebbf11f1",
      "parents": [
        "a985aabe4d7a720b109c2b63549f8641676a9c88"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 15 09:25:33 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 15 09:25:33 2008 +0200"
      },
      "message": "io context: increment task attachment count in ioc_task_link()\n\nThanks to Nikanth Karthikesan \u003cknikanth@suse.de\u003e for reporting this.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "34e6bbf23c8f43e8713d9bd092680f1660494b4a",
      "tree": "908e97ac3d43882cb42bf57c41926852d3bc2f6e",
      "parents": [
        "00d61e3e8c12d5f395b167856d2b3c430816afb0"
      ],
      "author": {
        "name": "Fabio Checconi",
        "email": "fabio@gandalf.sssup.i",
        "time": "Wed Apr 02 14:31:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 02 15:42:20 2008 +0200"
      },
      "message": "cfq-iosched: fix rcu freeing of cfq io contexts\n\nSLAB_DESTROY_BY_RCU is not a direct substitute for normal call_rcu()\nfreeing, since it\u0027ll page freeing but NOT object freeing. So change\ncfq to do the freeing on its own.\n\nSigned-off-by: Fabio Checconi \u003cfabio@gandalf.sssup.it\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ffc4e7595734cf768fa60cea8a4d545dfef8231a",
      "tree": "9b95aca67ea7c9e87254da501f73cca64504051d",
      "parents": [
        "84e9e03c55c2456799ab19f1d577e72f721fdd39"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:02:29 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "cfq-iosched: add hlist for browsing parallel to the radix tree\n\nIt\u0027s cumbersome to browse a radix tree from start to finish, especially\nsince we modify keys when a process exits. So add a hlist for the single\npurpose of browsing over all known cfq_io_contexts, used for exit,\nio prio change, etc.\n\nThis fixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d9948\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4ac845a2e9a816ed5a7b301f56dcc0a3d0b1ba4d",
      "tree": "602f15808d0f3dcdfcd7cc4491b2cc2ccd266fd2",
      "parents": [
        "66dac98ed0de7a1125fb0dd7907f238f6b9d2f60"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:44:49 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:33 2008 +0100"
      },
      "message": "block: cfq: make the io contect sharing lockless\n\nThe io context sharing introduced a per-ioc spinlock, that would protect\nthe cfq io context lookup. That is a regression from the original, since\nwe never needed any locking there because the ioc/cic were process private.\n\nThe cic lookup is changed from an rbtree construct to a radix tree, which\nwe can then use RCU to make the reader side lockless. That is the performance\ncritical path, modifying the radix tree is only done on process creation\n(when that process first does IO, actually) and on process exit (if that\nprocess has done IO).\n\nAs it so happens, radix trees are also much faster for this type of\nlookup where the key is a pointer. It\u0027s a very sparse tree.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d38ecf935fcb10264a6bc190855d9595165e6eeb",
      "tree": "64e3146ef76678ad3ae8f75c32df9f25ea470953",
      "parents": [
        "fd0928df98b9578be8a786ac0cb78a47a5e17a20"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:53:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:31 2008 +0100"
      },
      "message": "io context sharing: preliminary support\n\nDetach task state from ioc, instead keep track of how many processes\nare accessing the ioc.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd0928df98b9578be8a786ac0cb78a47a5e17a20",
      "tree": "70a34cf207bea1bec28e59cf0dba7d20e7f8b0f1",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:52:45 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:29 2008 +0100"
      },
      "message": "ioprio: move io priority from task_struct to io_context\n\nThis is where it belongs and then it doesn\u0027t take up space for a\nprocess that doesn\u0027t do IO.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ]
}
