> 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
[email protected]