Messages in this thread | | | Date | Wed, 15 Aug 2007 13:22:19 -0300 | From | Glauber de Oliveira Costa <> | Subject | Re: [PATCH 3/25][V3] irq_flags / halt routines |
| |
Andi Kleen escreveu: > On Wed, Aug 15, 2007 at 12:09:42PM -0300, Glauber de Oliveira Costa wrote: >> Again, this is the code of such function: >> >> static inline int raw_irqs_disabled_flags(unsigned long flags) >> { >> return !(flags & X86_EFLAGS_IF); >> } >> so all it is doing is getting a parameter (flags), and bitmasking it. It >> is not talking to any hypervisor. I can't see your point. Unless you are >> arguing that it _should_ be talking to a hypervisor. Is that your point? > > vSMP is a hypervisor based architecture. For some reason that is not > 100% clear to me, but Kiran or Shai can probably explain, it needs this > additional bit in EFLAGS when interrupts are disabled. That gives > it some hints and then it goes somehow faster. That is clearly > paravirtualization. > > Since paravirtops is designed to handle such hooks cleanly I request > that you move vSMP over to it or work with the vSMP maintainers to > do that. Otherwise we have two different ways to do paravirtualization > which is wrong. >
Thanks for the explanation, Andi. I understand it much better now, and agree with you.
As alternatives what we have now, we can either keep the paravirt_ops as it is now for the native case, just hooking the vsmp functions in place of the normal one, (there are just three ops anyway), refill the paravirt_ops entirely in somewhere like vsmp.c, or similar (or maybe even assigning paravirt_ops.fn = vsmp_fn on the fly, but early enough).
Maybe we could even make VSMP depend on PARAVIRT, to make it sure it is completely a paravirt client.
But as you could see, my knowledge of vsmp does not go that far, and I would really like to have input from the vsmp guys prior to touch anything here.
- 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/
| |