lkml.org 
[lkml]   [2006]   [Aug]   [7]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 06 Aug 2006 23:23:49 -0700
FromJeremy Fitzhardinge <>
SubjectRe: [PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
Andi Kleen wrote:
>> so it would be  
>> nice to use one of the other serializing instructions in this case.
>> 
>
> You would first need to find one that works in ring 3. On x86-64 it is 
> used in the gettimeoday vsyscall in ring 3 to synchronize the TSC and 
> afaik John was about to implement that for i386 too.
> 

Well, that's really usermode code, so I don't think we'd necessarily 
touch it at all.  It's not the same problem as the (single, at the 
moment) ring 0 use.

> BTW another issue that I haven't checked but we will need to make
> this also an alternative() for another case - it is faily important
> to patch it out on Intel systems with a synchronized TSC where it is
> fairly expensive. That is also not done yet on i386, but will be 
> likely once vsyscall gettimeofday is implemented.
>
> So basically you would need double patching. Ugly.
> 

Yeah.  I guess the cleanest way to do that is do the paravirt 
substitution, and then nop it out later if it isn't needed in the vsyscall.

> I would recommend to keep it out of para ops.

It's hardly a big deal either way.  There's only one in-kernel use of it.

    J
-
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-08-07 06:27    [W:0.892 / U:0.080 seconds]
©2003-2008 Jasper Spaans