All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Jianbo Liu <jianbo.liu@linaro.org>
Cc: <dev@dpdk.org>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	Thomas Monjalon <thomas.monjalon@6wind.com>,
	Bruce Richardson <bruce.richardson@intel.com>,
	Jan Viktorin <viktorin@rehivetech.com>
Subject: Re: [PATCH 13/28] eal/arm64: override I/O device read/write access for arm64
Date: Fri, 16 Dec 2016 15:55:53 +0530	[thread overview]
Message-ID: <20161216102551.GA10515@localhost.localdomain> (raw)
In-Reply-To: <CAP4Qi38_5zKe6a=v3W5wzcDgeB9Un97O8UAybucgPjhucHsE8Q@mail.gmail.com>

On Fri, Dec 16, 2016 at 06:12:13PM +0800, Jianbo Liu wrote:
> On 15 December 2016 at 19:08, Jerin Jacob
> <jerin.jacob@caviumnetworks.com> wrote:
> > On Thu, Dec 15, 2016 at 06:17:32PM +0800, Jianbo Liu wrote:
> >> On 15 December 2016 at 18:04, Jerin Jacob
> >> <jerin.jacob@caviumnetworks.com> wrote:
> >> > On Thu, Dec 15, 2016 at 05:53:05PM +0800, Jianbo Liu wrote:
> >> >> On 14 December 2016 at 09:55, Jerin Jacob
> >> >> <jerin.jacob@caviumnetworks.com> wrote:
> >> >> > Override the generic I/O device memory read/write access and implement it
> >> >> > using armv8 instructions for arm64.
> >> >> >
> >> >> > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> >> >> > ---
> >> >> >  lib/librte_eal/common/include/arch/arm/rte_io.h    |   4 +
> >> >> >  lib/librte_eal/common/include/arch/arm/rte_io_64.h | 183 +++++++++++++++++++++
> >> >> >  2 files changed, 187 insertions(+)
> >> >> >  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_io_64.h
> >> >> >
> >> >> > diff --git a/lib/librte_eal/common/include/arch/arm/rte_io.h b/lib/librte_eal/common/include/arch/arm/rte_io.h
> >> >> > index 74c1f2c..9593b42 100644
> >> >> > --- a/lib/librte_eal/common/include/arch/arm/rte_io.h
> >> >> > +++ b/lib/librte_eal/common/include/arch/arm/rte_io.h
> >> >> > @@ -38,7 +38,11 @@
> >> >> >  extern "C" {
> >> >> >  #endif
> >> >> >
> >> >> > +#ifdef RTE_ARCH_64
> >> >> > +#include "rte_io_64.h"
> >> >> > +#else
> >> >> >  #include "generic/rte_io.h"
> >> >> > +#endif
> >> >> >
> >> >> >  #ifdef __cplusplus
> >> >> >  }
> >> >> > diff --git a/lib/librte_eal/common/include/arch/arm/rte_io_64.h b/lib/librte_eal/common/include/arch/arm/rte_io_64.h
> >> >> > new file mode 100644
> >> >> > index 0000000..09e7a89
> >> >> > --- /dev/null
> >> >> > +++ b/lib/librte_eal/common/include/arch/arm/rte_io_64.h
> >> >> > @@ -0,0 +1,183 @@
> >> >> > +/*
> >> >> > + *   BSD LICENSE
> >> >> > + *
> >> >> > + *   Copyright (C) Cavium networks Ltd. 2016.
> >> >> > + *
> >> >> > + *   Redistribution and use in source and binary forms, with or without
> >> >> > + *   modification, are permitted provided that the following conditions
> >> >> > + *   are met:
> >> >> > + *
> >> >> > + *     * Redistributions of source code must retain the above copyright
> >> >> > + *       notice, this list of conditions and the following disclaimer.
> >> >> > + *     * Redistributions in binary form must reproduce the above copyright
> >> >> > + *       notice, this list of conditions and the following disclaimer in
> >> >> > + *       the documentation and/or other materials provided with the
> >> >> > + *       distribution.
> >> >> > + *     * Neither the name of Cavium networks nor the names of its
> >> >> > + *       contributors may be used to endorse or promote products derived
> >> >> > + *       from this software without specific prior written permission.
> >> >> > + *
> >> >> > + *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> >> >> > + *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> >> >> > + *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> >> >> > + *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> >> >> > + *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> >> >> > + *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> >> >> > + *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> >> >> > + *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> >> >> > + *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> >> >> > + *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> >> >> > + *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> >> >> > + */
> >> >> > +
> >> >> > +#ifndef _RTE_IO_ARM64_H_
> >> >> > +#define _RTE_IO_ARM64_H_
> >> >> > +
> >> >> > +#ifdef __cplusplus
> >> >> > +extern "C" {
> >> >> > +#endif
> >> >> > +
> >> >> > +#include <stdint.h>
> >> >> > +
> >> >> > +#define RTE_OVERRIDE_IO_H
> >> >> > +
> >> >> > +#include "generic/rte_io.h"
> >> >> > +#include "rte_atomic_64.h"
> >> >> > +
> >> >> > +static inline __attribute__((always_inline)) uint8_t
> >> >> > +__rte_arm64_readb(const volatile void *addr)
> >> >> > +{
> >> >> > +       uint8_t val;
> >> >> > +
> >> >> > +       asm volatile(
> >> >> > +                   "ldrb %w[val], [%x[addr]]"
> >> >> > +                   : [val] "=r" (val)
> >> >> > +                   : [addr] "r" (addr));
> >> >> > +       return val;
> >> >> > +}
> >> >> > +
> >> >> > +static inline __attribute__((always_inline)) uint16_t
> >> >> > +__rte_arm64_readw(const volatile void *addr)
> >> >> > +{
> >> >> > +       uint16_t val;
> >> >> > +
> >> >> > +       asm volatile(
> >> >> > +                   "ldrh %w[val], [%x[addr]]"
> >> >> > +                   : [val] "=r" (val)
> >> >> > +                   : [addr] "r" (addr));
> >> >> > +       return val;
> >> >> > +}
> >> >> > +
> >> >> > +static inline __attribute__((always_inline)) uint32_t
> >> >> > +__rte_arm64_readl(const volatile void *addr)
> >> >> > +{
> >> >> > +       uint32_t val;
> >> >> > +
> >> >> > +       asm volatile(
> >> >> > +                   "ldr %w[val], [%x[addr]]"
> >> >> > +                   : [val] "=r" (val)
> >> >> > +                   : [addr] "r" (addr));
> >> >> > +       return val;
> >> >> > +}
> >> >> > +
> >> >> > +static inline __attribute__((always_inline)) uint64_t
> >> >> > +__rte_arm64_readq(const volatile void *addr)
> >> >> > +{
> >> >> > +       uint64_t val;
> >> >> > +
> >> >> > +       asm volatile(
> >> >> > +                   "ldr %x[val], [%x[addr]]"
> >> >> > +                   : [val] "=r" (val)
> >> >> > +                   : [addr] "r" (addr));
> >> >> > +       return val;
> >> >> > +}
> >> >> > +
> >> >> > +static inline __attribute__((always_inline)) void
> >> >> > +__rte_arm64_writeb(uint8_t val, volatile void *addr)
> >> >> > +{
> >> >> > +       asm volatile(
> >> >> > +                   "strb %w[val], [%x[addr]]"
> >> >> > +                   :
> >> >> > +                   : [val] "r" (val), [addr] "r" (addr));
> >> >> > +}
> >> >> > +
> >> >> > +static inline __attribute__((always_inline)) void
> >> >> > +__rte_arm64_writew(uint16_t val, volatile void *addr)
> >> >> > +{
> >> >> > +       asm volatile(
> >> >> > +                   "strh %w[val], [%x[addr]]"
> >> >> > +                   :
> >> >> > +                   : [val] "r" (val), [addr] "r" (addr));
> >> >> > +}
> >> >> > +
> >> >> > +static inline __attribute__((always_inline)) void
> >> >> > +__rte_arm64_writel(uint32_t val, volatile void *addr)
> >> >> > +{
> >> >> > +       asm volatile(
> >> >> > +                   "str %w[val], [%x[addr]]"
> >> >> > +                   :
> >> >> > +                   : [val] "r" (val), [addr] "r" (addr));
> >> >> > +}
> >> >> > +
> >> >> > +static inline __attribute__((always_inline)) void
> >> >> > +__rte_arm64_writeq(uint64_t val, volatile void *addr)
> >> >> > +{
> >> >> > +       asm volatile(
> >> >> > +                   "str %x[val], [%x[addr]]"
> >> >> > +                   :
> >> >> > +                   : [val] "r" (val), [addr] "r" (addr));
> >> >> > +}
> >> >>
> >> >> I'm not quite sure about these overridings. Can you explain the
> >> >> benefit to do so?
> >> >
> >> > Better to be native if there is option. That all. Do you see any issue?
> >> > or what is the real concern?
> >> >
> >>
> >> I think it's the same as the generic c version after compiling. Am I right?
> >
> > I really don't that is the case for all the scenarios like compiler may
> > combine two 16bit reads one 32bit read etc and which will impact on IO
> 
> I wonder which compiler will do that as armv8 is 32/64 bit system?
Not specific to armv8.
Two consecutive continues 16bits reads one 32bit read for optimization.
Any idea why Linux kernel doing explicit instructions for readl/writel?
obviously not for fun.

> 
> > register access.
> >
> > But, I am sure the proposed scheme generates correct instruction in all the cases.

  reply	other threads:[~2016-12-16 10:26 UTC|newest]

Thread overview: 222+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-14  1:55 [PATCH 00/28] introduce I/O device memory read/write operations Jerin Jacob
2016-12-14  1:55 ` [PATCH 01/28] eal: introduce I/O device memory barriers Jerin Jacob
2016-12-14  1:55 ` [PATCH 02/28] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2016-12-14  1:55 ` [PATCH 03/28] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2016-12-14  1:55 ` [PATCH 04/28] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2016-12-14  1:55 ` [PATCH 05/28] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2016-12-14  1:55 ` [PATCH 06/28] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2016-12-14  1:55 ` [PATCH 07/28] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2016-12-14  1:55 ` [PATCH 08/28] eal/arm64: define smp " Jerin Jacob
2016-12-15  8:13   ` Jianbo Liu
2016-12-15  8:20     ` Jerin Jacob
2016-12-14  1:55 ` [PATCH 09/28] eal/arm64: define I/O device memory barriers " Jerin Jacob
2016-12-14  1:55 ` [PATCH 10/28] eal: introduce I/O device memory read/write operations Jerin Jacob
2016-12-14  1:55 ` [PATCH 11/28] eal: generic implementation for I/O device read/write access Jerin Jacob
2016-12-14  1:55 ` [PATCH 12/28] eal: let all architectures use generic I/O implementation Jerin Jacob
2016-12-14  1:55 ` [PATCH 13/28] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2016-12-15  9:53   ` Jianbo Liu
2016-12-15 10:04     ` Jerin Jacob
2016-12-15 10:17       ` Jianbo Liu
2016-12-15 11:08         ` Jerin Jacob
2016-12-16 10:12           ` Jianbo Liu
2016-12-16 10:25             ` Jerin Jacob [this message]
2016-12-14  1:55 ` [PATCH 14/28] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2016-12-14  1:55 ` [PATCH 15/28] net/bnx2x: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 16/28] net/bnxt: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 17/28] net/cxgbe: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 18/28] net/e1000: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 19/28] net/ena: " Jerin Jacob
2016-12-14 14:36   ` Jan Mędala
2016-12-14  1:55 ` [PATCH 20/28] net/enic: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 21/28] net/fm10k: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 22/28] net/i40e: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 23/28] net/ixgbe: " Jerin Jacob
2016-12-15  8:37   ` Jianbo Liu
2016-12-16  4:40     ` Santosh Shukla
2016-12-22 12:36       ` Santosh Shukla
2016-12-23  1:42         ` Jianbo Liu
2016-12-14  1:55 ` [PATCH 24/28] net/nfp: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 25/28] net/qede: " Jerin Jacob
2016-12-14  1:55 ` [PATCH 26/28] net/virtio: " Jerin Jacob
2016-12-14  2:46   ` Yuanhan Liu
2016-12-14  3:02   ` Yuanhan Liu
2016-12-15  5:45     ` Santosh Shukla
2016-12-16  2:12       ` Yuanhan Liu
2016-12-14  1:55 ` [PATCH 27/28] net/vmxnet3: " Jerin Jacob
2016-12-14  2:55   ` Yuanhan Liu
2016-12-15  5:48     ` Santosh Shukla
2016-12-14  1:55 ` [PATCH 28/28] net/thunderx: " Jerin Jacob
2016-12-14  2:53 ` [PATCH 00/28] introduce I/O device memory read/write operations Yuanhan Liu
2016-12-14 10:12   ` Bruce Richardson
2016-12-14 13:18   ` Jerin Jacob
2016-12-16 17:04     ` Thomas Monjalon
2016-12-27  9:49 ` [PATCH v2 00/29] " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 01/29] eal: introduce I/O device memory barriers Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 02/29] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 03/29] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 04/29] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 05/29] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 06/29] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 07/29] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2017-01-03  7:40     ` Jianbo Liu
2016-12-27  9:49   ` [PATCH v2 08/29] eal/arm64: define smp " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 09/29] eal/arm64: define I/O device memory barriers " Jerin Jacob
2017-01-03  7:48     ` Jianbo Liu
2017-01-04 10:01       ` Jerin Jacob
2017-01-05  5:31         ` Jianbo Liu
2017-01-05  6:24           ` Jerin Jacob
2017-01-05  6:47             ` Jianbo Liu
2017-01-05  7:22               ` Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 10/29] eal: introduce I/O device memory read/write operations Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 11/29] eal: generic implementation for I/O device read/write access Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 12/29] eal: let all architectures use generic I/O implementation Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 13/29] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 14/29] eal/arm64: change barrier definitions to macros Jerin Jacob
2017-01-03  7:55     ` Jianbo Liu
2017-01-04 10:09       ` Jerin Jacob
2017-01-04 11:00         ` Tiwei Bie
2017-01-04 13:03           ` Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 15/29] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 16/29] net/bnxt: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 17/29] net/bnx2x: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 18/29] net/cxgbe: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 19/29] net/e1000: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 20/29] net/ena: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 21/29] net/enic: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 22/29] net/fm10k: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 23/29] net/i40e: " Jerin Jacob
2017-01-04 13:53     ` Tiwei Bie
2017-01-04 15:22       ` Santosh Shukla
2016-12-27  9:49   ` [PATCH v2 24/29] net/ixgbe: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 25/29] net/nfp: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 26/29] net/qede: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 27/29] net/thunderx: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 28/29] net/virtio: " Jerin Jacob
2016-12-27  9:49   ` [PATCH v2 29/29] net/vmxnet3: " Jerin Jacob
2017-01-12  9:16   ` [PATCH v3 00/29] introduce I/O device memory read/write operations Jerin Jacob
2017-01-12  9:16     ` [PATCH v3 01/29] eal: introduce I/O device memory barriers Jerin Jacob
2017-01-12  9:16     ` [PATCH v3 02/29] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 03/29] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 04/29] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 05/29] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 06/29] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 07/29] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 08/29] eal/arm64: define smp " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 09/29] eal/arm64: define I/O device memory barriers " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 10/29] eal: introduce I/O device memory read/write operations Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 11/29] eal: generic implementation for I/O device read/write access Jerin Jacob
2017-01-15 21:29       ` Thomas Monjalon
2017-01-16  3:26         ` Jerin Jacob
2017-01-16 11:01           ` Bruce Richardson
2017-01-16 11:17             ` Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 12/29] eal: let all architectures use generic I/O implementation Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 13/29] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 14/29] eal/arm64: change barrier definitions to macros Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 15/29] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2017-01-12 19:09       ` Ferruh Yigit
2017-01-13  8:17         ` Jerin Jacob
2017-01-13 11:32           ` Ferruh Yigit
2017-01-13 14:57             ` Jerin Jacob
2017-01-13 15:50               ` Ferruh Yigit
2017-01-13 16:21                 ` Jerin Jacob
2017-01-13 18:20                   ` Ferruh Yigit
2017-01-13 11:40           ` Ferruh Yigit
2017-01-13 11:47             ` Bruce Richardson
2017-01-13 12:04               ` Ananyev, Konstantin
2017-01-12  9:17     ` [PATCH v3 16/29] net/bnxt: " Jerin Jacob
2017-01-12 19:10       ` Ferruh Yigit
2017-01-13  8:30         ` Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 17/29] net/bnx2x: " Jerin Jacob
2017-01-12 19:11       ` Ferruh Yigit
2017-01-13  8:32         ` Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 18/29] net/cxgbe: " Jerin Jacob
2017-01-12 19:12       ` Ferruh Yigit
2017-01-13  8:37         ` Jerin Jacob
2017-01-13 11:41           ` Ferruh Yigit
2017-01-12  9:17     ` [PATCH v3 19/29] net/e1000: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 20/29] net/ena: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 21/29] net/enic: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 22/29] net/fm10k: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 23/29] net/i40e: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 24/29] net/ixgbe: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 25/29] net/nfp: " Jerin Jacob
2017-01-12 10:53       ` Alejandro Lucero
2017-01-12 13:40         ` Jerin Jacob
2017-01-13 10:49           ` Alejandro Lucero
2017-01-13 10:57             ` Jerin Jacob
2017-01-13 11:11               ` Alejandro Lucero
2017-01-12  9:17     ` [PATCH v3 26/29] net/qede: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 27/29] net/thunderx: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 28/29] net/virtio: " Jerin Jacob
2017-01-12  9:17     ` [PATCH v3 29/29] net/vmxnet3: " Jerin Jacob
2017-01-17  7:13     ` [PATCH v4 00/29] introduce I/O device memory read/write operations Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 01/29] eal: introduce I/O device memory barriers Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 02/29] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 03/29] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 04/29] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 05/29] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 06/29] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 07/29] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 08/29] eal/arm64: define smp " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 09/29] eal/arm64: define I/O device memory barriers " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 10/29] eal: introduce I/O device memory read/write operations Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 11/29] eal: generic implementation for I/O device read/write access Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 12/29] eal: let all architectures use generic I/O implementation Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 13/29] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 14/29] eal/arm64: change barrier definitions to macros Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 15/29] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 16/29] net/bnxt: " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 17/29] net/bnx2x: " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 18/29] net/cxgbe: " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 19/29] net/e1000: " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 20/29] net/ena: " Jerin Jacob
2017-01-17 12:51         ` Jan Mędala
2017-01-17 14:13           ` Jerin Jacob
2017-01-17 14:27             ` Jan Mędala
2017-01-17 14:30               ` Jerin Jacob
2017-01-17 14:31                 ` Jan Mędala
2017-01-17  7:13       ` [PATCH v4 21/29] net/enic: " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 22/29] net/fm10k: " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 23/29] net/i40e: " Jerin Jacob
2017-01-17  7:13       ` [PATCH v4 24/29] net/ixgbe: " Jerin Jacob
2017-01-17  7:14       ` [PATCH v4 25/29] net/nfp: " Jerin Jacob
2017-01-17  7:14       ` [PATCH v4 26/29] net/qede: " Jerin Jacob
2017-01-17  7:14       ` [PATCH v4 27/29] net/thunderx: " Jerin Jacob
2017-01-17  7:14       ` [PATCH v4 28/29] net/virtio: " Jerin Jacob
2017-01-17  7:14       ` [PATCH v4 29/29] net/vmxnet3: " Jerin Jacob
2017-01-18  1:21       ` [PATCH v5 00/29] introduce I/O device memory read/write operations Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 01/29] eal: introduce I/O device memory barriers Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 02/29] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 03/29] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 04/29] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 05/29] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 06/29] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 07/29] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 08/29] eal/arm64: define smp " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 09/29] eal/arm64: define I/O device memory barriers " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 10/29] eal: introduce I/O device memory read/write operations Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 11/29] eal: generic implementation for I/O device read/write access Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 12/29] eal: let all architectures use generic I/O implementation Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 13/29] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 14/29] eal/arm64: change barrier definitions to macros Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 15/29] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 16/29] net/bnxt: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 17/29] net/bnx2x: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 18/29] net/cxgbe: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 19/29] net/e1000: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 20/29] net/enic: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 21/29] net/ena: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 22/29] net/fm10k: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 23/29] net/i40e: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 24/29] net/ixgbe: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 25/29] net/nfp: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 26/29] net/qede: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 27/29] net/thunderx: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 28/29] net/virtio: " Jerin Jacob
2017-01-18  1:21         ` [PATCH v5 29/29] net/vmxnet3: " Jerin Jacob
2017-01-18  9:56         ` [PATCH v5 00/29] introduce I/O device memory read/write operations Thomas Monjalon
2017-01-18 10:55           ` Jerin Jacob
2017-01-18 16:25         ` Thomas Monjalon
2017-01-19  4:14           ` Jerin Jacob
2017-01-19  4:51             ` Thomas Monjalon
2017-01-19  5:46               ` Jerin Jacob

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161216102551.GA10515@localhost.localdomain \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=jianbo.liu@linaro.org \
    --cc=konstantin.ananyev@intel.com \
    --cc=thomas.monjalon@6wind.com \
    --cc=viktorin@rehivetech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.