Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751930AbdCPIEH (ORCPT ); Thu, 16 Mar 2017 04:04:07 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:36796 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751492AbdCPIDC (ORCPT ); Thu, 16 Mar 2017 04:03:02 -0400 Date: Thu, 16 Mar 2017 09:02:57 +0100 From: Ingo Molnar To: Jiri Slaby Cc: linux-kernel@vger.kernel.org, Andrew Morton , Boris Ostrovsky , hpa@zytor.com, jpoimboe@redhat.com, Juergen Gross , Len Brown , Linus Torvalds , linux-pm@vger.kernel.org, mingo@redhat.com, Pavel Machek , Peter Zijlstra , "Rafael J. Wysocki" , Thomas Gleixner , xen-devel@lists.xenproject.org, x86@kernel.org Subject: Re: [RFC] linkage: new macros for functions and data Message-ID: <20170316080257.GA7815@gmail.com> References: <20170307082750.GA1695@gmail.com> <20170307172404.27374-1-jslaby@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170307172404.27374-1-jslaby@suse.cz> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1604 Lines: 49 * Jiri Slaby wrote: > SYM_LOCAL_ALIAS_START -- use where there are two local names for one code > SYM_ALIAS_START -- use where there are two global names for one code > SYM_LOCAL_FUNC_START -- use for local functions > SYM_FUNCTION_START -- use for global functions > SYM_WEAK_FUNC_START -- use for weak functions > SYM_ALIAS_END -- the end of LOCALALIASed or ALIASed code > SYM_FUNCTION_END -- the end of SYM_LOCAL_FUNC_START, SYM_FUNCTION_START, SYM_WEAK_FUNC_START, ... > SYM_DATA_START -- global data symbol > SYM_DATA_END -- the end of SYM_DATA_START symbol This looks mostly good to me, with minor details: - The mixed 'FUNC' and 'FUNCTION' naming looks a bit confusing - I'd pick one and use that consistently. - I'd also make the START/END constructs look more symmetric, i.e. make the attribute a postfix, not a prefix. - In fact I'd make the 'alias' notion an attribute as well - what matters mostly is that it's a function symbol, and that fact is lost from the SYM_ALIAS naming. I.e. something like this: SYM_FUNCTION_START SYM_FUNCTION_START_WEAK SYM_FUNCTION_START_LOCAL SYM_FUNCTION_START_ALIAS SYM_FUNCTION_START_LOCAL_ALIAS ... SYM_FUNCTION_END SYM_DATA_START SYM_DATA_END Note how simple and structured looking the nomenclature is when grouped in such a way, how easy it is to verify at a glance, and how easy it is to extend with new postfixes. ( In theory we could also make the attributes a real macro argument in the future, should the number of attributes increase significantly. ) Does this look good to everyone? Thanks, Ingo