> -----Original Message----- > From: Jan Beulich [mailto:jbeul...@suse.com] > Sent: Wednesday, February 24, 2016 8:50 PM > To: George Dunlap <george.dun...@citrix.com>; Wu, Feng > <feng...@intel.com> > Cc: Doug Goldstein <car...@cardoe.com>; Andrew Cooper > <andrew.coop...@citrix.com>; Dario Faggioli <dario.faggi...@citrix.com>; > GeorgeDunlap <george.dun...@eu.citrix.com>; Tian, Kevin > <kevin.t...@intel.com>; xen-devel@lists.xen.org; Keir Fraser <k...@xen.org> > Subject: Re: [Xen-devel] [PATCH v13 1/2] vmx: VT-d posted-interrupt core logic > handling > > >>> On 24.02.16 at 13:09, <george.dun...@citrix.com> wrote: > > Another reason for such a comment is that it actually raises awareness > > that the hook isn't properly structured: if you get such a compile > > error, then it's either not defined in the right place, or it's not > > using the right calling convention. > > Well, why I generally agree with you here, I'm afraid there are > many pre-existing instances in our headers. Cleaning that up is > likely going to be a major work item. > > > It also makes me realize that this code will no longer build on ARM, > > since arch_do_block() is only defined in asm-x86 (and not asm-arm). > > The patch has > > --- a/xen/include/asm-arm/domain.h > +++ b/xen/include/asm-arm/domain.h > @@ -310,6 +310,8 @@ static inline void free_vcpu_guest_context(struct > vcpu_guest_context *vgc) > xfree(vgc); > } > > +static inline void arch_vcpu_block(struct vcpu *v) {} > + > #endif /* __ASM_DOMAIN_H__ */ > > /* > > (and for the avoidance of doubt there's no arch_do_block() afaics). > > > It seems like to do the callback properly, we should do something like > > the attached. Jan, what do you think? > > Well, as per above that would address the particular issue here > without addressing the many other existing ones, and it would > cause out of line functions _plus_ another indirect call when the > idea is to have such hooks inlined as far as possible. > > But you indeed point out one important problem - the hook as it > is right now lacks a has_hvm_container_vcpu(), and hence would > break for PV guests.
Do you mean I need to add has_hvm_container_vcpu() check in macro arch_vcpu_block()? But .vcpu_block is assigned in vmx_pi_hooks_assign(). I am not clear how this hooks can affect PV guests, could you please elaborate a bit more? Thanks a lot! Thanks, Feng > > Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel