lkml.org 
[lkml]   [2009]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[PATCH 0/4] Fastboot revisited: Asynchronous function calls
    Hi,

    This patch series is based on Linus' original reaction to some of the
    fastboot patches which introduced an "asynchronous initcall level".
    Linus did not like the initcall level approach much, and wanted a much
    more finegrained kind of thing.

    This patch series introduces asynchronous function calls.
    The goal is still the same (boot faster), the method is entirely
    different.

    Asynchronous function calls allow drivers and subsystems to do
    operations asynchronously, while providing a mechanism to serialize
    the asynchronous operations at "externally visible" locations, such as
    device number registrations.

    As such, this approach is NOT a "full parallel kernel init".
    For one, it keeps device numbers stable. For another, it's very much
    opt-in for any code using this.

    Rather, it is more comparable to an out-of-order cpu, where computations
    are done asynchronously, but are retired in program order.

    This series first introduces the infrastructure in patch 1,
    and then adds users of this infrastructure (scsi in patch2, libata in
    patch 3 and acpi in patch 4).

    To see this working, I uploaded a "before" and "after" kernel bootchart
    for one of my testboxes at

    http://www.fenrus.org/linux/before.svg
    http://www.fenrus.org/linux/after.svg

    As you can see with inkscape (or gimp or any other svg viewer), there
    is still room for doing more things in parallel, but the 3 example usage
    patches are a big win already.


    One comment about the API:
    Originally I had functionality in mind where the caller of
    async_schedule() could get back the cookie value of the scheduled task.
    However I had no users of this, so I removed the code to do this. If
    someone finds a place where this is useful we can easily add this back.

    --
    Arjan van de Ven Intel Open Source Technology Centre
    For development, discussion and tips for power savings,
    visit http://www.lesswatts.org


    \
     
     \ /
      Last update: 2009-01-04 18:35    [W:4.200 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site