lkml.org 
[lkml]   [2006]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: FOR REVIEW: New x86-64 vsyscall vgetcpu()
    On Fri, 16 Jun 2006, Chase Venters wrote:

    > On Fri, 16 Jun 2006, Andi Kleen wrote:
    >
    > >
    > > > To this last point, it might be more reasonable to map in a page that
    > > > contained a new structure with a stable ABI, which mirrored some of
    > > > the task_struct information, and likely other useful information as
    > > > needs are identified in the future. In any case, it would be hard
    > > > to beat a single memory read for performance.
    > >
    > > That would mean making the context switch and possibly other
    > > things slower.
    >
    > Well, if every process had a page of its own, what would the context switch
    > overhead be?

    Mostly copying the useful information into the read-only mapped page.

    However, this doesn't have to be all that expensive. The particular
    information we care about in this case only needs to be copied when a
    task begins running on a CPU different from the one it last ran on. In
    fact, on ia64 we already have something very similar to handle certain
    I/O pecularities on SN2.

    http://marc.theaimsgroup.com/?l=linux-ia64&m=113831137712197&w=2

    That work could form the basis for a low-impact method of exporting
    the current CPU to user space via a read-only mapped page. I'll admit
    to having zero knowledge of whether this would be workable on anything
    other than ia64.

    Thanks,
    Brent

    --
    Brent Casavant All music is folk music. I ain't
    bcasavan@sgi.com never heard a horse sing a song.
    Silicon Graphics, Inc. -- Louis Armstrong
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-06-17 01:43    [W:0.026 / U:0.096 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site