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

Re: [Xen-devel] IPI sending difference between x86 and ARM



On Wed, 2014-09-10 at 07:36 +0100, Jan Beulich wrote:
> All,
> 
> is it intentional that gicv2_send_SGI() (and all of the higher layers) keep
> the sending CPU in the target mask, while all x86's send_IPI_mask_...()
> specifically exclude the local CPU?

I guess you mean specifically the SGI_TARGET_LIST case? This is a pretty
low level function arch specific function, I don't have a particular
opinion on how it should behave in this respect, although since we have
both SGI_TARGET_OTHERS and SGI_TARGET_SELF I think it seems OK to let
SGI_TARGET_LIST include SELF.

I suspect it mainly matters at the next level up, when we get to the
common arch interfaces, though and in general that is where we currently
try and add these checks.

>  I'm asking namely in the context of
> cpumask_raise_softirq(), which - other than cpu_raise_softirq() - does
> not itself exclude the local CPU (and hence I wonder whether adding
> that check would have the potential of breaking ARM).

cpumask_raise_softirq calls smp_send_event_check_mask, I think that
would be the right place to handle the cross-arch semantics of whether
to include self in the mask or not, as we do e.g. in
smp_send_call_function_mask.

Part of the problem is that the expected behaviour of some of these arch
interfaces (e.g. smp_*) is not clearly defined so we had to reverse
engineer them from the x86 behaviour (which has multiple backends and
function ptrs etc), it's not improbable that we got it wrong.

Anyway, if smp_send_event_check_mask is supposed to exclude the calling
CPU then we should fix that on ARM in the name of consistency/sanity. In
the event it causes other issues then we should fix those as they arise.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.