Messages in this thread | | | Date | Wed, 22 Nov 2006 08:42:32 +0200 | From | Avi Kivity <> | Subject | Re: [kvm-devel] [PATCH] KVM: Avoid using vmx instruction directly |
| |
Jeremy Fitzhardinge wrote: > > > Like "volatile" variables, I think "asm volatile" is probably overused. > If you want to guarantee specific ordering of asms, it's probably better > to add an explicit dependency between them rather than rely on asm > volatile; this could either be a "memory" clobber, or something more > fine-grained. For example: > > /* need never be instansiated; never actually referenced */ > extern int spin_sequencer; > > /* %0 never referenced */ > asm("take spinlock" : "+m" (spin_sequencer)...); > > ... > > /* again, %0 never referenced */ > asm("release spinlock" : "+m" (spin_sequencer)...); >
Very interesting.
Will it work on load/store architectures? Since all memory access is through a register, won't the constraint generate a useless register load (and a use of the variable)?
-- Do not meddle in the internals of kernels, for they are subtle and quick to panic.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |