lkml.org 
[lkml]   [2012]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: x86-64: memset()/memcpy() not fully standards compliant
On Thu, Jan 05, 2012 at 02:04:30PM +0000, Jan Beulich wrote:
> Forever these two functions have been limited to deal with at most 4G
> at a time. While I cannot point out an in-tree user that would require
> larger sizes, it is now the second time that within our Xen kernel we got
> bitten by that limitation. Would you nevertheless accept a patch to
> eliminate those shortcomings (iirc there may need to be workarounds
> for CPU bugs when it comes to using string instructions on such large
> blocks, albeit memmove() doesn't seem to care)?
>
> Otherwise, is there any rationale for this sort of lurking bug?

Most (all?) of the CPUs I cared about when writing that code had
bugs with string instructions and >4GB.

And I don't think anything in the kernel would ever process that big
areas in a single operation.

So it never seemed worth caring about.

You probably would need at least one more CMP & conditional jump
in the hot path, so everyone would pay for something that never happens.

-Andi


\
 
 \ /
  Last update: 2012-01-05 19:31    [W:0.306 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site