On 05/07/2012 11:56 AM, Joerg Roedel wrote: > > Since you've just thought of the issues involved, I'd appreciate a > > review of the commits above, both wrt correctness and > > maintainability. > > The patches above look correct to me. In fact cbe2c9d30 is more general > than my implementation because it fetches all possible mmx operands. > > My implementation on the other side should be a bit faster because it > looks for FP exceptions directly when the registers are accessed which > saves one get_fpu/put_fpu cycle (and an fwait instruction). The get_fpu/put_fpu are nops (unless we schedule in between), since we only put_fpu() doesn't really unload the fpu. You're correct about the fwait; my motivation was to get the #MF exception early instead of doing the accesses first. > > In fact I already see one difference - my patches do reg &= 7, while > > your patches generate #UD for %mm8-%mm15. > > Your version is correct. Documentation says that REX-prefixes are > ignored where not supported or misplaced. I also tried that directly on > hardware and it works as documented and implemented in KVM. Thanks for verifying. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html