Moreover, even if you'd find a way, wouldn't that save something < 1  
usec of  the 1 millisec pagefault ?
A big contortion to get 0.1% improvement. I'm sure engineering time  
can be better spent.


Le 24 sept. 07 à 20:55, [EMAIL PROTECTED] a écrit :

>>    My means is not prefetch the page but use prefetch instruction
>>
>>    (e.g. __asm__ __volatile__( " prefetchnta %0" : :  
>> "m" (*addr)   ) ;//
>>    addr is fist parameter of pagefault handler, which caused page  
>> fault
>>    trap),  prefetch the content in the addr into cache line.
>
> Let me reiterate that I don't understand how you're going to  
> accomplish
> the prefetch with this instruction.  This prefetch instruction takes a
> virtual address as its argument.  If you issue a prefetch  
> instruction in
> the kernel's address space and pass it a virtual address in an address
> space of a user process, you will either:
>
>       a) prefetch unrelated data somewhere else in the kernel address space
>       b) generate a nop because the user's address isn't mapped in the
>       kernel.  Loading from an address without page translation
>       entries would generate a page fault.
>
> In both of these cases, you're not obtaining the desired effect.
>
> -j
> _______________________________________________
> perf-discuss mailing list
> perf-discuss@opensolaris.org

_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to