All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ring: fix build with icc
@ 2017-04-05 15:03 Ferruh Yigit
  2017-04-05 15:29 ` Thomas Monjalon
  2017-04-05 16:13 ` Bruce Richardson
  0 siblings, 2 replies; 5+ messages in thread
From: Ferruh Yigit @ 2017-04-05 15:03 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Thomas Monjalon, dev, Ferruh Yigit

build error:
In file included from .../lib/librte_ring/rte_ring.c(90):
.../lib/librte_ring/rte_ring.h(162):
error #1366: a reduction in alignment without the "packed" attribute
is ignored
  } __rte_cache_aligned;
      ^

Alignment attribute moved to first element of the struct

Fixes: a6619414e0a9 ("ring: make struct and macros type agnostic")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_ring/rte_ring.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_ring/rte_ring.h
index 6642e18..28b7b2a 100644
--- a/lib/librte_ring/rte_ring.h
+++ b/lib/librte_ring/rte_ring.h
@@ -147,7 +147,7 @@ struct rte_ring {
 	 * compatibility requirements, it could be changed to RTE_RING_NAMESIZE
 	 * next time the ABI changes
 	 */
-	char name[RTE_MEMZONE_NAMESIZE];    /**< Name of the ring. */
+	char name[RTE_MEMZONE_NAMESIZE] __rte_cache_aligned; /**< Name of the ring. */
 	int flags;               /**< Flags supplied at creation. */
 	const struct rte_memzone *memzone;
 			/**< Memzone, if any, containing the rte_ring */
@@ -159,7 +159,7 @@ struct rte_ring {
 
 	/** Ring consumer status. */
 	struct rte_ring_headtail cons __rte_aligned(CONS_ALIGN);
-} __rte_cache_aligned;
+};
 
 #define RING_F_SP_ENQ 0x0001 /**< The default enqueue is "single-producer". */
 #define RING_F_SC_DEQ 0x0002 /**< The default dequeue is "single-consumer". */
-- 
2.9.3

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

* Re: [PATCH] ring: fix build with icc
  2017-04-05 15:03 [PATCH] ring: fix build with icc Ferruh Yigit
@ 2017-04-05 15:29 ` Thomas Monjalon
  2017-04-05 15:56   ` Bruce Richardson
  2017-04-05 16:13 ` Bruce Richardson
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Monjalon @ 2017-04-05 15:29 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Bruce Richardson, dev

2017-04-05 16:03, Ferruh Yigit:
> build error:
> In file included from .../lib/librte_ring/rte_ring.c(90):
> .../lib/librte_ring/rte_ring.h(162):
> error #1366: a reduction in alignment without the "packed" attribute
> is ignored
>   } __rte_cache_aligned;
>       ^
> 
> Alignment attribute moved to first element of the struct

The fix is surprising.
Is it really doing the same thing as
	} __rte_cache_aligned;
at the end of the struct?

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

* Re: [PATCH] ring: fix build with icc
  2017-04-05 15:29 ` Thomas Monjalon
@ 2017-04-05 15:56   ` Bruce Richardson
  0 siblings, 0 replies; 5+ messages in thread
From: Bruce Richardson @ 2017-04-05 15:56 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Ferruh Yigit, dev

On Wed, Apr 05, 2017 at 05:29:48PM +0200, Thomas Monjalon wrote:
> 2017-04-05 16:03, Ferruh Yigit:
> > build error:
> > In file included from .../lib/librte_ring/rte_ring.c(90):
> > .../lib/librte_ring/rte_ring.h(162):
> > error #1366: a reduction in alignment without the "packed" attribute
> > is ignored
> >   } __rte_cache_aligned;
> >       ^
> > 
> > Alignment attribute moved to first element of the struct
> 
> The fix is surprising.
> Is it really doing the same thing as
> 	} __rte_cache_aligned;
> at the end of the struct?
> 
It should be. Aligning the whole structure to start on a cache-line
boundary should be exactly the same as telling the compiler to put
the first field of the structure on a cacheline boundary.

/Bruce

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

* Re: [PATCH] ring: fix build with icc
  2017-04-05 15:03 [PATCH] ring: fix build with icc Ferruh Yigit
  2017-04-05 15:29 ` Thomas Monjalon
@ 2017-04-05 16:13 ` Bruce Richardson
  2017-04-05 16:15   ` Thomas Monjalon
  1 sibling, 1 reply; 5+ messages in thread
From: Bruce Richardson @ 2017-04-05 16:13 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Thomas Monjalon, dev

On Wed, Apr 05, 2017 at 04:03:12PM +0100, Ferruh Yigit wrote:
> build error:
> In file included from .../lib/librte_ring/rte_ring.c(90):
> .../lib/librte_ring/rte_ring.h(162):
> error #1366: a reduction in alignment without the "packed" attribute
> is ignored
>   } __rte_cache_aligned;
>       ^
> 
> Alignment attribute moved to first element of the struct
> 
> Fixes: a6619414e0a9 ("ring: make struct and macros type agnostic")
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
Patch looks ok to me

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

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

* Re: [PATCH] ring: fix build with icc
  2017-04-05 16:13 ` Bruce Richardson
@ 2017-04-05 16:15   ` Thomas Monjalon
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Monjalon @ 2017-04-05 16:15 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Bruce Richardson, dev

2017-04-05 17:13, Bruce Richardson:
> On Wed, Apr 05, 2017 at 04:03:12PM +0100, Ferruh Yigit wrote:
> > build error:
> > In file included from .../lib/librte_ring/rte_ring.c(90):
> > .../lib/librte_ring/rte_ring.h(162):
> > error #1366: a reduction in alignment without the "packed" attribute
> > is ignored
> >   } __rte_cache_aligned;
> >       ^
> > 
> > Alignment attribute moved to first element of the struct
> > 
> > Fixes: a6619414e0a9 ("ring: make struct and macros type agnostic")
> > 
> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> > ---
> Patch looks ok to me
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Applied, thanks

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

end of thread, other threads:[~2017-04-05 16:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-05 15:03 [PATCH] ring: fix build with icc Ferruh Yigit
2017-04-05 15:29 ` Thomas Monjalon
2017-04-05 15:56   ` Bruce Richardson
2017-04-05 16:13 ` Bruce Richardson
2017-04-05 16:15   ` Thomas Monjalon

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.