)]}'
{
  "log": [
    {
      "commit": "ebf3f09c634906d371f2bfd71b41c7e0c52efe7e",
      "tree": "4205040f47fba2675dc4c6b1407d15c9d6f8b355",
      "parents": [
        "d8273674721faaf84bec2190c0c7a82972b37f73"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Wed Oct 15 22:05:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:51 2008 -0700"
      },
      "message": "Configure out AIO support\n\nThis patchs adds the CONFIG_AIO option which allows to remove support\nfor asynchronous I/O operations, that are not necessarly used by\napplications, particularly on embedded devices. As this is a\nsize-reduction option, it depends on CONFIG_EMBEDDED. It allows to\nsave ~7 kilobytes of kernel code/data:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n1115067\t 119180\t 217088\t1451335\t 162547\tvmlinux\n1108025\t 119048\t 217088\t1444161\t 160941\tvmlinux.new\n  -7042    -132       0   -7174   -1C06 +/-\n\nThis patch has been originally written by Matt Mackall\n\u003cmpm@selenic.com\u003e, and is part of the Linux Tiny project.\n\n[randy.dunlap@oracle.com: build fix]\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "080ccd4573607a930367c2128fc709814b2ade5d",
      "tree": "416cd540b0662822c90ed693ddae1ebb738a529c",
      "parents": [
        "20d8b67c06fa5e74f44e80b0a0fd68c8327f7c6a"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Fri Jul 25 19:45:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "include/linux/aio.h: removed duplicated include\n\nRemoved duplicated include \u003clinux/uio.h\u003e in include/linux/aio.h\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5470b596abdd566339b2417e807b1198be64b97",
      "tree": "e668e8196ed46efc9ea6036c5889e5f3a54dedcf",
      "parents": [
        "07d45da616f8514651360b502314fc9554223a03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:58:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:00 2008 -0700"
      },
      "message": "fs/aio.c: make 3 functions static\n\nMake the following needlessly global functions static:\n\n- __put_ioctx()\n- lookup_ioctx()\n- io_submit_one()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86b6c7a7f78feca58d2d8615e53aee4d59ab9dc6",
      "tree": "032a54a3493041fa1c31857d23e9184b89545b78",
      "parents": [
        "4c54ac62dceecedd82d4a865017bba0b738e2897"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 18 13:48:32 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "fs/block_dev.c: remove #if 0\u0027ed code\n\nCommit b2e895dbd80c420bfc0937c3729b4afe073b3848 #if 0\u0027ed this code stating:\n\n\u003c--  snip  --\u003e\n\n    [PATCH] revert blockdev direct io back to 2.6.19 version\n\n    Andrew Vasquez is reporting as-iosched oopses and a 65% throughput\n    slowdown due to the recent special-casing of direct-io against\n    blockdevs.  We don\u0027t know why either of these things are occurring.\n\n    The patch minimally reverts us back to the 2.6.19 code for a 2.6.20\n    release.\n\n\u003c--  snip  --\u003e\n\nIt has since been dead code, and unless someone wants to revive it now\nit\u0027s time to remove it.\n\nThis patch also makes bio_release_pages() static again and removes the\nki_bio_count member from struct kiocb, reverting changes that had been\ndone for this dead code.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "b3c97528689619fc66569b30bf83d09d9929521a",
      "tree": "91dc53590deab88c9bf255c2b5cbd74bdbc36de1",
      "parents": [
        "aa02cd2d9bd1e24a230bd66a0a741b984d03915a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 15:03:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:18 2008 -0800"
      },
      "message": "include/linux: Remove all users of FASTCALL() macro\n\nFASTCALL() is always expanded to empty, remove it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6212e3a388fdda3f19fa660ef5a30edf54d1dcfd",
      "tree": "7218bbf29af36ff0c36aa2af8323a5206ea44b1c",
      "parents": [
        "9cd9a0058dd35268b24fa16795a92c800f4086d4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 18 03:04:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:20 2007 -0700"
      },
      "message": "Remove struct task_struct::io_wait\n\nHell knows what happened in commit 63b05203af57e7de4f3bb63b8b81d43bc196d32b\nduring 2.6.9 development.  Commit introduced io_wait field which remained\nwrite-only than and still remains write-only.\n\nAlso garbage collect macros which \"use\" io_wait.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ba2d00363975242dee9bb22cf798b487e3cd61e",
      "tree": "26bc53fb314ec9d585f07a5866c275ff1bfbc1aa",
      "parents": [
        "64ee4808a786caade50362d5057f65314fdf2f36"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Thu Jul 19 01:47:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "AIO sparse fix (type of ki_flags)\n\nFix type issue reported by latest \u0027sparse\u0027: kiocb.ki_flags should be\n\"unsigned long\" (not \"long\"), to match bitop type signature.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c3060bedd84144653a2ad7bea32389f65598d40",
      "tree": "80336eb24be8458cda1f35ee752f05bc7c329fbb",
      "parents": [
        "fdb902b1225e1668315f38e96d2f439452c03a15"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:37 2007 -0700"
      },
      "message": "signal/timer/event: KAIO eventfd support example\n\nThis is an example about how to add eventfd support to the current KAIO code,\nin order to enable KAIO to post readiness events to a pollable fd (hence\ncompatible with POSIX select/poll).  The KAIO code simply signals the eventfd\nfd when events are ready, and this triggers a POLLIN in the fd.  This patch\nuses a reserved for future use member of the struct iocb to pass an eventfd\nfile descriptor, that KAIO will use to post events every time a request\ncompletes.  At that point, an aio_getevents() will return the completed result\nto a struct io_event.  I made a quick test program to verify the patch, and it\nruns fine here:\n\nhttp://www.xmailserver.org/eventfd-aio-test.c\n\nThe test program uses poll(2), but it\u0027d, of course, work with select and epoll\ntoo.\n\nThis can allow to schedule both block I/O and other poll-able devices\nrequests, and wait for results using select/poll/epoll.  In a typical\nscenario, an application would submit KAIO request using aio_submit(), and\nwill also use epoll_ctl() on the whole other class of devices (that with the\naddition of signals, timers and user events, now it\u0027s pretty much complete),\nand then would:\n\n\tepoll_wait(...);\n\tfor_each_event {\n\t\tif (curr_event_is_kaiofd) {\n\t\t\taio_getevents();\n\t\t\tdispatch_aio_events();\n\t\t} else {\n\t\t\tdispatch_epoll_event();\n\t\t}\n\t}\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8522ead3534c6cd06752b47a3bc380956191a2a",
      "tree": "748ff93b4d5a49e6e21392c30ecad143694dcd94",
      "parents": [
        "b41eeef14d7c73af6d16c7d02b7a939082a137ff"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed May 09 02:34:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "aio is unlikely\n\nStick an unlikely() around is_aio(): I assert that most IO is synchronous.\n\nCc: Suparna Bhattacharya \u003csuparna@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e61c90188b9956edae1105eef361d8981a352fcd",
      "tree": "7de9cc41910c55e32aba0f8cc07f73923b7cb515",
      "parents": [
        "7e913c53609d5e8374f55d6f29c0bcd6650a2362"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Wed Dec 13 00:34:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] optimize o_direct on block devices\n\nImplement block device specific .direct_IO method instead of going through\ngeneric direct_io_worker for block device.\n\ndirect_io_worker() is fairly complex because it needs to handle O_DIRECT on\nfile system, where it needs to perform block allocation, hole detection,\nextents file on write, and tons of other corner cases.  The end result is\nthat it takes tons of CPU time to submit an I/O.\n\nFor block device, the block allocation is much simpler and a tight triple\nloop can be written to iterate each iovec and each page within the iovec in\norder to construct/prepare bio structure and then subsequently submit it to\nthe block layer.  This significantly speeds up O_D on block device.\n\n[akpm@osdl.org: small speedup]\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97d2a80584b30b5cd32da411deca1986ef61877a",
      "tree": "b9c9c874c0a3fd88f2420a9b68b39306400e5809",
      "parents": [
        "b62e8ec2ac580b47c11eb76e8852ac1ec7d617cd"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Wed Dec 06 20:40:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:46 2006 -0800"
      },
      "message": "[PATCH] aio: remove ki_retried debugging member\n\nRemove the ki_retried member from struct kiocb.  I think the idea was\nbounced around a while back, but Arnaldo pointed out another reason that we\nshould dig it up when he pointed out that the last cacheline of struct\nkiocb only contains 4 bytes.  By removing the debugging member, we save\nmore than the 8 byte on 64 bit machines.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nAcked-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c",
      "tree": "5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "message": "WorkStruct: Separate delayable and non-delayable events.\n\nSeparate delayable work items from non-delayable work items be splitting them\ninto a separate structure (delayed_work), which incorporates a work_struct and\nthe timer_list removed from work_struct.\n\nThe work_struct struct is huge, and this limits it\u0027s usefulness.  On a 64-bit\narchitecture it\u0027s nearly 100 bytes in size.  This reduces that by half for the\nnon-delayable type of event.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "31608214fe21dc31d8046679054ab033b1fe5cf1",
      "tree": "83c092cdafbff5695e6e65d0478b6d7b4e0a55b0",
      "parents": [
        "eed4e51fb60c3863c134a5e9f6006b29805ead97"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Sat Sep 30 23:28:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] clean up unused kiocb variables\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Suparna Bhattacharya \u003csuparna@in.ibm.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eed4e51fb60c3863c134a5e9f6006b29805ead97",
      "tree": "edb0a80d75c454ad77001f3bd1a87933cbcff53f",
      "parents": [
        "543ade1fc901db4c3dbe9fb27241fb977f1f3eea"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] Add vector AIO support\n\nThis work is initially done by Zach Brown to add support for vectored aio.\nThese are the core changes for AIO to support\nIOCB_CMD_PREADV/IOCB_CMD_PWRITEV.\n\n[akpm@osdl.org: huge build fix]\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "027445c37282bc1ed26add45e573ad2d3e4860a5",
      "tree": "93eab101a938ffebaea64703033c8649df4d73f0",
      "parents": [
        "9ea0f9499d15c49df23e7aac4332d830c40e12d0"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Vectorize aio_read/aio_write fileop methods\n\nThis patch vectorizes aio_read() and aio_write() methods to prepare for\ncollapsing all aio \u0026 vectored operations into one interface - which is\naio_read()/aio_write().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a2711116073db258224afd2cc0f478bdf305575",
      "tree": "83117f5b2846833102918329e3c17607ddd08d9e",
      "parents": [
        "9ba0bdfd040b2893bcddfec7165b545d22fc2dc7"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Sat Sep 30 23:28:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:24 2006 -0700"
      },
      "message": "[PATCH] Remove BUG_ON(unlikely) in include/linux/aio.h\n\nBUG_ON() does this unlikely check itself, as bugs in Linux are unlikely\nanyway :)\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\nAcked-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59d9136b9844d3a0376d93c945ab280decedb323",
      "tree": "6c3eaa9f902ae983b96500a8d60720610da539a4",
      "parents": [
        "fb1697933a03ec47d794b38e2a4e3ccc2463fd22"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Sun Jan 08 01:04:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:03 2006 -0800"
      },
      "message": "[PATCH] aio: reorder kiocb structure elements to make sync iocb setup faster\n\nReorder members of the kiocb structure to make sync kiocb setup faster.  By\nsetting the elements sequentially, the write combining buffers on the CPU\nare able to combine the writes into a single burst, which results in fewer\ncache cycles being consumed, freeing them up for other code.  This results\nin a 10-20KB/s[*] increase on the bw_unix part of LMbench on my test\nsystem.\n\n* The improvement varies based on what other patches are in the system,\n  as there are a number of bottlenecks, so this number is not absolutely\n  accurate.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5ef1c49f8f9f0d6b5b8d57bb4b66c605a3d65876",
      "tree": "8431e60b0f5ebb4f22b0f4bffbc6f0ebb0faf601",
      "parents": [
        "d00689af6b3b6ba9e1fdefec3bd62edc860c385d"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Sun Nov 13 16:07:35 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:16 2005 -0800"
      },
      "message": "[PATCH] aio: don\u0027t ref kioctx after decref in put_ioctx\n\nput_ioctx\u0027s refcount debugging was doing an atomic_read after dropping its\nreference when it wasn\u0027t the last ref, leaving a tiny race for another freeing\nthread to sneak into.  This shifts the debugging before the ops, uses BUG_ON,\nand reformats the defines a little.  Sadly, moving to inlines increased the\ncode size but this change decreases the code size by a whole 9 bytes :)\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20dcae32439384b6863c626bb3b2a09bed65b33e",
      "tree": "9750c39119447fb32963448bf1935e1ba22b2f9d",
      "parents": [
        "4557398f8cbaf9f254cff747534b4724c7f75c4f"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Sun Nov 13 16:07:33 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:16 2005 -0800"
      },
      "message": "[PATCH] aio: remove kioctx from mm_struct\n\nSync iocbs have a life cycle that don\u0027t need a kioctx.  Their retrying, if\nany, is done in the context of their owner who has allocated them on the\nstack.\n\nThe sole user of a sync iocb\u0027s ctx reference was aio_complete() checking for\nan elevated iocb ref count that could never happen.  No path which grabs an\niocb ref has access to sync iocbs.\n\nIf we were to implement sync iocb cancelation it would be done by the owner of\nthe iocb using its on-stack reference.\n\nRemoving this chunk from aio_complete allows us to remove the entire kioctx\ninstance from mm_struct, reducing its size by a third.  On a i386 testing box\nthe slab size went from 768 to 504 bytes and from 5 to 8 per page.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nAcked-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d55b5fdaf40846221d543937b786956e27837fda",
      "tree": "ecdf572d7d2b08b4f7b31d804542a920934b6d9a",
      "parents": [
        "0f6ed7c2641fe4cea83cd09c21928ca30c0983ec"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Mon Nov 07 00:59:31 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:38 2005 -0800"
      },
      "message": "[PATCH] aio: remove aio_max_nr accounting race\n\nAIO was adding a new context\u0027s max requests to the global total before\ntesting if that resulting total was over the global limit.  This let\ninnocent tasks get their new limit tested along with a racing guilty task\nthat was crossing the limit.  This serializes the _nr accounting with a\nspinlock It also switches to using unsigned long for the global totals.\nIndividual contexts are still limited to an unsigned int\u0027s worth of\nrequests by the syscall interface.\n\nThe problem and fix were verified with a simple program that spun creating\nand destroying a context while holding on to another long lived context.\nBefore the patch a task creating a tiny context could get a spurious EAGAIN\nif it raced with a task creating a very large context that overran the\nlimit.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4faa5285283fad081443e3612ca426a311bb6c7e",
      "tree": "f5178184a94fb8343afee94a5b7cd47c05a2bc49",
      "parents": [
        "e7507ed91e093b9e4e218e41ebfdce05458258fc"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Mon Oct 17 16:43:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 17 17:03:57 2005 -0700"
      },
      "message": "[PATCH] aio: revert lock_kiocb()\n\nlock_kiocb() was introduced to serialize retrying and cancellation.  In the\nprocess of doing so it tried to sleep waiting for KIF_LOCKED while holding\nthe ctx_lock spinlock.  Recent fixes have ensured that multiple concurrent\nretries won\u0027t be attempted for a given iocb.  Cancel has other problems and\nhas no significant in-tree users that have been complaining about it.  So\nfor the immediate future we\u0027ll revert sleeping with the lock held and will\naddress proper cancellation and retry serialization in the future.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nAcked-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "897f15fb587fd2772b9e7ff6ec0265057f3c3975",
      "tree": "d975ce5f131b8f42915cf264122cd265661651e0",
      "parents": [
        "998765e5588b197737d457e16f72832d8036190f"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Fri Sep 30 11:58:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 30 12:41:17 2005 -0700"
      },
      "message": "[PATCH] aio: remove unlocked task_list test and resulting race\n\nOnly one of the run or kick path is supposed to put an iocb on the run\nlist.  If both of them do it than one of them can end up referencing a\nfreed iocb.  The kick path could delete the task_list item from the wait\nqueue before getting the ctx_lock and putting the iocb on the run list.\nThe run path was testing the task_list item outside the lock so that it\ncould catch ki_retry methods that return -EIOCBRETRY *without* putting the\niocb on a wait queue and promising to call kick_iocb.  This unlocked check\ncould then race with the kick path to cause both to try and put the iocb on\nthe run list.\n\nThe patch stops the run path from testing task_list by requring that any\nki_retry that returns -EIOCBRETRY *must* guarantee that kick_iocb() will be\ncalled in the future.  aio_p{read,write}, the only in-tree -EIOCBRETRY\nusers, are updated.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Benjamin LaHaise \u003cbcrl@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
