Re: [PATCH 1/2] ARCv2: LIB: memeset: fix doing prefetchw outside of buffer

From: Vineet Gupta
Date: Tue Jan 15 2019 - 11:58:29 EST


On 1/15/19 4:00 AM, Eugeniy Paltsev wrote:
>>> -#ifdef PREALLOC_NOT_AVAIL
>>> - prefetchw [r3, 64] ;Prefetch the next write location
>>> -#else
>>> - prealloc [r3, 64]
>>> -#endif
>>> + PREALLOC_INSTR([r3, 64]) ;Prefetch the next write location
>> These are not solving the issue - I'd break this up and move these bits to your
>> next patch.
> Actually these are solving another issue - current implementation may call
> 'prealloc' instruction for L1 cache line which doesn't fully belongs to
> memeset area in case of 128B L1 D$ line length. As the 'prealloc' fill cache line
> with zeros this leads to data corruption.
>
> So I would better keep these changes in this 'fix' patch.

Fair enough. Although technically it is different bug which we haven't actually
hit, found by code review.

> BTW, I've forgot again to add Cc: stable@xxxxxxxxxxxxxxx, could you add it for me,
> when applying patch?
> Thanks.

Yes, I did that already !

-Vineet