Thread (12 messages) flat view 12 messages, 3 authors, 2012-08-08

Re: [PATCH] net: force dst_default_metrics to const section

From: Ben Hutchings <hidden>
Date: 2012-08-07 22:44:38

On Wed, 2012-08-08 at 00:34 +0200, Eric Dumazet wrote:
On Tue, 2012-08-07 at 23:12 +0100, Ben Hutchings wrote:
quoted
On Tue, 2012-08-07 at 22:55 +0200, Eric Dumazet wrote:
quoted
From: Eric Dumazet <edumazet@google.com>

quoted
Some day the compiler may be smart enough to ignore the different
between explicit and implicit zero-initialisation, and put it back in
BSS.  Declaring this __cache_aligned_in_smp might be a better option.
__cache_aligned_in_smp aligns start of the structure, but can be
followed by another var in same cache line. Yes, this is bad.
Oh, that's unexpected.
quoted
By the way we dont care of cache alignment on this structure, only it
should be const. Its a soft requirement, machine wont crash if it is not
the case.
Right.
quoted
If compiler is smart one day as you say (it should first be non buggy
IMHO), then we can add a non zero field like this :
[...]

That would work, but it's ugly!  How about defining and using a
meaningfully-named macro that expands to __section(.rodata)?
You are kidding. I prefer plain C and not having to mess with all
arches.
Any consideration of implementation details like BSS and cache line
sharing is already outside of 'plain C'.  And you don't have to 'mess
with all arches'; just look at what <linux/init.h> and <linux/module.h>
do.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help