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

Re: [Xen-devel] [PATCH V2] xen/arm64: Assembly optimized bitops from Linux



On Wed, 2013-06-05 at 11:17 +0100, Tim Deegan wrote:
> At 10:34 +0100 on 05 Jun (1370428495), Ian Campbell wrote:
> > This patch replaces the previous hashed lock implementaiton of bitops with
> > assembly optimized ones taken from Linux v3.10-rc4.
> > 
> > The Linux derived ASM only supports 8 byte aligned bitmaps (which under 
> > Linux
> > are unsigned long * rather than our void *). We do have actually uses of 4
> > byte alignment (i.e. the bitmaps in struct xmem_pool) which trigger 
> > alignment
> > faults.
> > 
> > Therefore adjust the assembly to work in 4 byte increments, which involved:
> >     - bit offset now bits 4:0 => mask #31 not #63
> >     - use wN register not xN for load/modify/store loop.
> > 
> > There is no need to adjust the shift used to calculate the word offset, the
> > difference is already acounted for in the #63->#31 change.
> > 
> > NB: Xen's build system cannot cope with the change from .c to .S file,
> > remove xen/arch/arm/arm64/lib/.bitops.o.d or clean your build tree.
> > 
> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> 
> Acked-by: Tim Deegan <tim@xxxxxxx>

Thanks. After discussing with Stefano I think we can live without this
for 4.3 since we are quite late in the rc and this isn't an unmodified
copy of the Linux code. So I'll keep this under my hat until 4.4.

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