All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/17] xen: arm: resync low level asm primitive from Linux
@ 2014-03-26 13:36 Ian Campbell
  2014-03-26 13:38 ` [PATCH v2 01/17] xen: x86 & generic: change to __builtin_prefetch() Ian Campbell
                   ` (18 more replies)
  0 siblings, 19 replies; 31+ messages in thread
From: Ian Campbell @ 2014-03-26 13:36 UTC (permalink / raw)
  To: xen-devel
  Cc: Julien Grall, Keir Fraser, Stefano Stabellini, Jan Beulich,
	Tim Deegan

(Jan/Keir -- only the first patch is of interest to you, Jan has
reviewed it but an Ack from you Keir would be useful)

The following resyncs the bitops, atomics, cmpxchg and various optimised
library functions (str*, mem*, clear_page) from Linux. It also adds
various additional optimised variants, especially for arm64 which was
lacking them in Linux when we started.

One area which I have skipped is spinlocks, the generic infrastructure
is pretty different between Xen and Linux so this would need more
thought (it would have included a switch to ticket locks on arm64 for
example..).

I've combined multiple Linux changes into a single Xen change where I
thought it made sense, i.e. for smaller changes even if they are
independent, but for large and complicated changes I've kept things
separate.

As part of this I've also reinstated Linux coding style (in particular
the use of hard tabs) to make life easier when comparing things. This
was always the intention but it seems one or two files got accidentally
reindented at some point.

This booted a guest on both Midway and Xgene. I haven't done any actual
perf measurement, having assumed that whoever wrote this for Linux found
them to be worthwhile enough...

Since v2 I've rebased, applied a load of acks and fixed a couple of
minor issues. The status of the patches are:

 R      xen: x86 & generic: change to __builtin_prefetch()
  a     xen: arm32: resync bitops with Linux v3.14-rc7
  a     xen: arm32: ensure cmpxchg has full barrier semantics
  a     xen: arm32: replace hard tabs in atomics.h
        xen: arm32: resync atomics with (almost) v3.14-rc7
  a     xen: arm32: resync mem* with Linux v3.14-rc7
  a     xen: arm32: add optimised memchr routine
  a     xen: arm32: add optimised strchr and strrchr routines
  am    xen: arm: remove atomic_clear_mask()
  a     xen: arm64: disable alignment traps
  a     xen: arm64: atomics: fix use of acquire + release for full barrier semantics
  a     xen: arm64: reinstate hard tabs in system.h cmpxchg
  a     xen: arm64: asm: remove redundant "cc" clobbers
  a     xen: arm64: assembly optimised mem* and str*
        xen: arm64: optimised clear_page
        xen: arm: refactor xchg and cmpxchg into their own headers
   m    xen: arm: document what low level primitives we have imported from Linux

R - reviewed (by Jan)
a - acked (by Julien)
m - (minor) modifications in v2

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2014-04-03 16:32 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-26 13:36 [PATCH v2 00/17] xen: arm: resync low level asm primitive from Linux Ian Campbell
2014-03-26 13:38 ` [PATCH v2 01/17] xen: x86 & generic: change to __builtin_prefetch() Ian Campbell
2014-04-02 16:01   ` Ian Campbell
2014-03-26 13:38 ` [PATCH v2 02/17] xen: arm32: resync bitops with Linux v3.14-rc7 Ian Campbell
2014-03-26 13:38 ` [PATCH v2 03/17] xen: arm32: ensure cmpxchg has full barrier semantics Ian Campbell
2014-03-26 13:38 ` [PATCH v2 04/17] xen: arm32: replace hard tabs in atomics.h Ian Campbell
2014-03-26 13:38 ` [PATCH v2 05/17] xen: arm32: resync atomics with (almost) v3.14-rc7 Ian Campbell
2014-03-26 14:10   ` Julien Grall
2014-03-26 13:38 ` [PATCH v2 06/17] xen: arm32: resync mem* with Linux v3.14-rc7 Ian Campbell
2014-03-26 13:38 ` [PATCH v2 07/17] xen: arm32: add optimised memchr routine Ian Campbell
2014-03-26 13:38 ` [PATCH v2 08/17] xen: arm32: add optimised strchr and strrchr routines Ian Campbell
2014-03-26 13:38 ` [PATCH v2 09/17] xen: arm: remove atomic_clear_mask() Ian Campbell
2014-03-26 13:38 ` [PATCH v2 10/17] xen: arm64: disable alignment traps Ian Campbell
2014-03-26 13:38 ` [PATCH v2 11/17] xen: arm64: atomics: fix use of acquire + release for full barrier semantics Ian Campbell
2014-03-26 13:38 ` [PATCH v2 12/17] xen: arm64: reinstate hard tabs in system.h cmpxchg Ian Campbell
2014-03-26 13:38 ` [PATCH v2 13/17] xen: arm64: asm: remove redundant "cc" clobbers Ian Campbell
2014-03-26 13:38 ` [PATCH v2 14/17] xen: arm64: assembly optimised mem* and str* Ian Campbell
2014-03-26 13:38 ` [PATCH v2 15/17] xen: arm64: optimised clear_page Ian Campbell
2014-03-26 14:16   ` Julien Grall
2014-04-02 16:23     ` [PATCH v3 " Ian Campbell
2014-04-02 16:26       ` Julien Grall
2014-03-26 13:38 ` [PATCH v2 16/17] xen: arm: refactor xchg and cmpxchg into their own headers Ian Campbell
2014-03-26 14:18   ` Julien Grall
2014-03-26 13:38 ` [PATCH v2 17/17] xen: arm: document what low level primitives we have imported from Linux Ian Campbell
2014-03-26 14:20   ` Julien Grall
2014-03-27 16:59 ` [PATCH v2 00/17] xen: arm: resync low level asm primitive " Tim Deegan
2014-03-27 17:02   ` Ian Campbell
2014-03-27 17:04     ` Tim Deegan
2014-03-27 17:18       ` Ian Campbell
2014-03-28 18:00         ` Julien Grall
2014-04-03 16:32 ` Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.