Re: [PATCH v4 0/2] Basic nested VMX test suite

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2013-07-17 12:31, Gleb Natapov wrote:
>>>> I think the current version is mostly fine, but I'd prefer to move the
>>>> inline functions to vmx.h, and the tests to a separate file.  Perhaps
>>>> lib/x86/vmx.h, lib/x86/vmx.c, and x86/vmx.c.
>>>>
>>>> All knowledge of setjmp and longjmp should then be hidden in
>>>> lib/x86/vmx.c, perhaps by putting
>>>>
>>>> 	if (setjmp(env) == 0) {
>>>> 		vmx_run();
>>>> 		return 1;
>>>> 	} else
>>>> 		return 0;
>>>>
>>>> or something like that in a new lib/x86/vmx.c function.
>>>>
>>> Use of setjmp to redirect control flow here is absolutely unnecessary. HW
>>> provides you with capability to return control flow back where you want
>>> it but you ignore it and save/restore context by yourself. Why?! Just tell
>>> HW to return to the point you want to return to!
>>
>> This is not super-optimized kernel code, this has to be readable first
>> and foremost.  In C, the way to do global jumps and save/restore context
>> is setjmp/longjmp.
> If you do it right there will be _not point in doing_ global jumps. The
> control flow will be linear, the code will be much more readable.

Indeed. Arthur is already working on a setjmp/longjmp free version,
let's wait for the outcome.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux