, , OP 16B. Linux 8B PCIe.
MMIO movnti
--. movnti
GP, .
, intrinsics, #include <immintrin.h>
. , , . - .
.
( rep movs
), Linux memcpy . , rep movsq
rep movsb
.
, memcpy , rep movsl
( AT & T rep movsd
), : rep
movsw
movsb
. ( , , IMO, , rep movsb
, .)
Intel P6 rep movs
. .
, memcpy 64- , , .
, , , Linux memcpy
, , - .
DMA. , , . ( , .)
SSE / . RAID5/RAID6. , , vector/FPU .
Linux memcpy , -, . memcpy SSE, Andi Kleen Ingo Molnar , SSE memcpy. , memcpy, .
SSE , kernel_fpu_begin()
kernel_fpu_end()
. Linux 3.7 kernel_fpu_end() FPU, fpu_begin/fpu_end . , kernel_fpu_begin , " -, " .
, xmm0, . , SSE, AVX, ymm0/zmm0. , ymm regs, AVX + SSE. , vzeroupper. AVX...
, / , kernel_fpu_begin
, . ( ), task_struct.thread.fpu
, , , , FPU ' t . , , , , , . , , , kernel_fpu_begin()/kernel_fpu_end()
FPU XSAVE/XRSTOR.