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

Re: [Xen-devel] [PATCHv2 3/6] xen: generic xadd() for ticket locks



On Fri, 2015-04-17 at 13:32 +0100, Ian Campbell wrote:
> On Thu, 2015-04-16 at 16:28 +0100, Jan Beulich wrote:
> > >>> On 10.04.15 at 16:19, <david.vrabel@xxxxxxxxxx> wrote:
> > > +#define xadd(ptr, v) generic_xaddl((ptr), (v))
> > 
> > I think it is at least confusing to call the thing xadd (looking to be
> > size generic) and then expand to generic_xaddl (only supporting
> > 32-bit operations), yet subsequently implementing a size-generic
> > xadd() for x86.
> 
> Indeed, and I went to build on arm32 prior to hacking up a proper xadd
> and:

Slightly more surprisingly I also see something similar on arm64:

spinlock.c: In function â_spin_lockâ:
spinlock.c:145:5: error: passing argument 1 of âgeneric_xaddlâ from
incompatible pointer type [-Werror]
     tickets.head_tail = xadd(&lock->tickets, tickets.head_tail);
     ^
spinlock.c:15:12: note: expected âvolatile u32 *â but argument is of
type âunion spinlock_tickets_t *â
 static u32 generic_xaddl(volatile u32 *ptr, u32 v)
            ^
> (I hope to knock up the arm asm version in the next hour or so, so you
> may not care...)

ditto.



_______________________________________________
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®.