Messages in this thread | | | Date | Wed, 15 Aug 2007 12:17:15 -0300 | From | Glauber de Oliveira Costa <> | Subject | Re: [PATCH 3/25][V3] irq_flags / halt routines |
| |
Avi Kivity escreveu: > Glauber de Oliveira Costa wrote: >> Andi Kleen escreveu: >>> On Wed, Aug 15, 2007 at 11:18:25AM -0300, Glauber de Oliveira Costa >>> wrote: >>>>> Didn't we agree this should be a pvops client? >>>>> >>>>> -Andi >>>>> >>>> No. I exposed my reasoning, asked you back, but got no answer. >>>> I'll do it again: >>>> >>>> This operations are just manipulating bits, and are doing no >>>> privileged operations at all. Nothing that can be paravirtualized, in >>> >>> It's talking to a Hypervisor. That is privileged enough. >>> Please do that change. If you add so many more ifdefs it's your >>> duty to keep the overall number low. >> >> 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? > > It is talking to a hypervisor. This hypervisor does full > virtualization, except that it allows the guest to hide eflags.IF inside > eflags.AC as an optimization (otherwise you need to do binary > translation to overcome popf silently disregarding IF on the stack). > > You can regard eflags.AC as the paravirtualized eflags.IF (Xen for > example has a per-vcpu memory flag for the same). >
Thanks Avi, I understand it now. Andi, I will update it and resend shortly.
- 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/
| |