RE: [PATCH] x86: also disable FSRM if ERMS is disabled

From: Luck, Tony
Date: Tue Oct 11 2022 - 15:09:26 EST


> If something clears MSR_IA32_MISC_ENABLE_FAST_STRING_BIT and we go and
> clear our feature flags and luserspace still queries CPUID then oh well,
> it'll be fun. It all depends on why something has cleared them tho. It
> could be some performance thing or something a lot more funky. I guess
> if stuff starts exploding left and right, there will soon be a microcode
> patch after that. :-)

Yes. ERMS CPUID bit was the early indicator to s/w that REP MOVS would
do some fancy speedups if certain conditions about source, destination and
count are all met. A hint to s/w to decide which memcpy() routine to use.

FSRM is a hint that the byte count restriction had pretty much been removed
so s/w can use REP MOVS in even more places.

I don't think Intel will deliberately release a CPU that has FSRM=1, ERMS=0.

-Tony