Re: Gluster and GCC 5.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Agree with Jeff
But now the question is should we have this patch go through or leave it to float in time and space :)
http://review.gluster.org/#/c/11214/

The patch just makes the existing inline calls static or extern appropriately without causing any harm to the existing
code but removes the risk of undefined symbols for normal inline functions in gcc 5 and above!

----- Original Message -----
From: "Jeff Darcy" <jdarcy@xxxxxxxxxx>
To: "Kaleb S. KEITHLEY" <kkeithle@xxxxxxxxxx>
Cc: "gluster-infra" <gluster-infra@xxxxxxxxxxx>, "Gluster Devel" <gluster-devel@xxxxxxxxxxx>
Sent: Friday, July 3, 2015 6:05:14 AM
Subject: Re:  Gluster and GCC 5.1

> Or perhaps we could just get everyone to stop using 'inline'

I agree that it would be a good thing to reduce/modify our use of
'inline' significantly.  Any advantage gained from avoiding normal
function-all entry/exit has to be weighed against cache pollution from
having the same code repeated over and over each place the function is
invoked.  Careful use of 'extern inline' can be good for performance
and/or readability once in a great while, but IMO we should avoid
'inline' except in cases where the benefits are *proven*.

On a similar note, can we please please please get people to stop
abusing macros so much?  I get that they're sometimes useful to get
around C's lack of generics or other features, but many of our long
complicated macros have no such justification.  These pollute the cache
just like 'inline' does, plus they make code harder to debug or edit.
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://www.gluster.org/mailman/listinfo/gluster-devel
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://www.gluster.org/mailman/listinfo/gluster-devel



[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux