[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help on memchr() EGLIBC assembly code

On Wed, Jul 15, 2009 at 12:48:02PM -0700, Richard Henderson wrote:
> On 07/13/2009 03:16 PM, Matt Turner forwarded:
>>>>> The problem is that the memchr() function on alpha uses prefetch, which
>>>>> can cause a page boundary to be crossed, while the standards (POSIX and
>>>>> C99) says it should stop when a match is found.
> That's not supposed to matter -- faults from prefetch are supposed to be  
> ignored; see do_page_fault:

The problem is that the "prefech" is not done with $31, but using $1 and
$3. It is called "prefetch" in the code, but it is more like "read a value
in advance".

Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

Reply to: