lkml.org 
[lkml]   [2015]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] perf tools: Move s390 barrier.h stuff to tools/ arch/s390/include/asm/barrier.h
    Commit-ID:  07d207ac0c55a413c358153bd3012c5fa51a0554
    Gitweb: http://git.kernel.org/tip/07d207ac0c55a413c358153bd3012c5fa51a0554
    Author: Arnaldo Carvalho de Melo <acme@redhat.com>
    AuthorDate: Wed, 6 May 2015 18:44:53 -0300
    Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
    CommitDate: Fri, 8 May 2015 16:05:04 -0300

    perf tools: Move s390 barrier.h stuff to tools/arch/s390/include/asm/barrier.h

    We will need it for atomic.h, so move it from the ad-hoc tools/perf/
    place to a tools/ subset of the kernel arch/ hierarchy.

    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Don Zickus <dzickus@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-zv4x77074resrkl4ayzf5e7d@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/arch/s390/include/asm/barrier.h | 30 ++++++++++++++++++++++++++++++
    tools/include/asm/barrier.h | 2 ++
    tools/perf/MANIFEST | 1 +
    tools/perf/perf-sys.h | 3 ---
    4 files changed, 33 insertions(+), 3 deletions(-)

    diff --git a/tools/arch/s390/include/asm/barrier.h b/tools/arch/s390/include/asm/barrier.h
    new file mode 100644
    index 0000000..f851412
    --- /dev/null
    +++ b/tools/arch/s390/include/asm/barrier.h
    @@ -0,0 +1,30 @@
    +/*
    + * Copied from the kernel sources:
    + *
    + * Copyright IBM Corp. 1999, 2009
    + *
    + * Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
    + */
    +
    +#ifndef __TOOLS_LINUX_ASM_BARRIER_H
    +#define __TOOLS_LINUX_ASM_BARRIER_H
    +
    +/*
    + * Force strict CPU ordering.
    + * And yes, this is required on UP too when we're talking
    + * to devices.
    + */
    +
    +#ifdef CONFIG_HAVE_MARCH_Z196_FEATURES
    +/* Fast-BCR without checkpoint synchronization */
    +#define __ASM_BARRIER "bcr 14,0\n"
    +#else
    +#define __ASM_BARRIER "bcr 15,0\n"
    +#endif
    +
    +#define mb() do { asm volatile(__ASM_BARRIER : : : "memory"); } while (0)
    +
    +#define rmb() mb()
    +#define wmb() mb()
    +
    +#endif /* __TOOLS_LIB_ASM_BARRIER_H */
    diff --git a/tools/include/asm/barrier.h b/tools/include/asm/barrier.h
    index 249f672..7eb8894 100644
    --- a/tools/include/asm/barrier.h
    +++ b/tools/include/asm/barrier.h
    @@ -2,4 +2,6 @@
    #include "../../arch/x86/include/asm/barrier.h"
    #elif defined(__powerpc__)
    #include "../../arch/powerpc/include/asm/barrier.h"
    +#elif defined(__s390__)
    +#include "../../arch/s390/include/asm/barrier.h"
    #endif
    diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST
    index 4b3346e..00754af 100644
    --- a/tools/perf/MANIFEST
    +++ b/tools/perf/MANIFEST
    @@ -1,5 +1,6 @@
    tools/perf
    tools/arch/powerpc/include/asm/barrier.h
    +tools/arch/s390/include/asm/barrier.h
    tools/arch/x86/include/asm/barrier.h
    tools/scripts
    tools/build
    diff --git a/tools/perf/perf-sys.h b/tools/perf/perf-sys.h
    index 01c0695..bf349ea 100644
    --- a/tools/perf/perf-sys.h
    +++ b/tools/perf/perf-sys.h
    @@ -42,9 +42,6 @@
    #endif

    #ifdef __s390__
    -#define mb() asm volatile("bcr 15,0" ::: "memory")
    -#define wmb() asm volatile("bcr 15,0" ::: "memory")
    -#define rmb() asm volatile("bcr 15,0" ::: "memory")
    #define CPUINFO_PROC {"vendor_id"}
    #endif


    \
     
     \ /
      Last update: 2015-05-10 09:21    [W:3.275 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site