All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Jiri Slaby <jslaby@suse.cz>
Cc: Juergen Gross <jgross@suse.com>, Len Brown <len.brown@intel.com>,
	x86@kernel.org, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	linux-pm@vger.kernel.org, hpa@zytor.com,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-kernel@vger.kernel.org, mingo@redhat.com,
	Thomas Gleixner <tglx@linutronix.de>, Pavel Machek <pavel@ucw.cz>,
	jpoimboe@redhat.com, xen-devel@lists.xenproject.org,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [RFC] linkage: new macros for functions and data
Date: Thu, 16 Mar 2017 09:02:57 +0100	[thread overview]
Message-ID: <20170316080257.GA7815@gmail.com> (raw)
In-Reply-To: <20170307172404.27374-1-jslaby@suse.cz>


* Jiri Slaby <jslaby@suse.cz> 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

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Jiri Slaby <jslaby@suse.cz>
Cc: linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	hpa@zytor.com, jpoimboe@redhat.com,
	Juergen Gross <jgross@suse.com>, Len Brown <len.brown@intel.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-pm@vger.kernel.org, mingo@redhat.com,
	Pavel Machek <pavel@ucw.cz>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	xen-devel@lists.xenproject.org, x86@kernel.org
Subject: Re: [RFC] linkage: new macros for functions and data
Date: Thu, 16 Mar 2017 09:02:57 +0100	[thread overview]
Message-ID: <20170316080257.GA7815@gmail.com> (raw)
In-Reply-To: <20170307172404.27374-1-jslaby@suse.cz>


* Jiri Slaby <jslaby@suse.cz> 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

  reply	other threads:[~2017-03-16  8:02 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-17 10:47 [PATCH 01/10] x86: assembly, ENTRY for fn, GLOBAL for data Jiri Slaby
2017-02-17 10:47 ` [PATCH 02/10] x86: assembly, use ENDPROC for functions Jiri Slaby
2017-02-17 10:47   ` Jiri Slaby
2017-02-17 11:08   ` Juergen Gross
2017-02-17 11:08   ` Juergen Gross
2017-02-17 10:47 ` [PATCH 03/10] x86: boot, annotate functions properly Jiri Slaby
2017-02-17 10:47 ` [PATCH 04/10] linkage: introduce ENTRY_LOCAL Jiri Slaby
2017-02-17 10:47 ` [PATCH 05/10] x86: kernel, annotate local functions Jiri Slaby
2017-02-17 10:47 ` [PATCH 06/10] x86: crypto, " Jiri Slaby
2017-02-17 10:47 ` [PATCH 07/10] linkage: introduce ALIASes Jiri Slaby
2017-02-17 10:47 ` [PATCH 08/10] x86: assembly, annotate aliases Jiri Slaby
2017-02-17 10:47   ` Jiri Slaby
2017-02-17 11:52   ` Juergen Gross
2017-02-17 11:52   ` Juergen Gross
2017-02-17 10:47 ` [RFC 09/10] x86: boot, extract efi_pe_entry from startup_64 Jiri Slaby
2017-02-17 10:47 ` [PREVIEW 10/10] linkage: add .cfi_{start/end}proc to ENTRY/ENDPROC Jiri Slaby
2017-02-17 13:16   ` Josh Poimboeuf
2017-02-17 13:36     ` Jiri Slaby
2017-02-17 14:07       ` Josh Poimboeuf
2017-02-17 14:26         ` Jiri Slaby
2017-02-17 21:18           ` Josh Poimboeuf
2017-02-17 11:06 ` [PATCH 01/10] x86: assembly, ENTRY for fn, GLOBAL for data Juergen Gross
2017-02-17 11:06 ` Juergen Gross
2017-03-01  9:38 ` Ingo Molnar
2017-03-01  9:38   ` Ingo Molnar
2017-03-01  9:50   ` Jiri Slaby
2017-03-01  9:50     ` Jiri Slaby
2017-03-01 10:09   ` Thomas Gleixner
2017-03-01 10:09   ` Thomas Gleixner
2017-03-01 10:27     ` Ingo Molnar
2017-03-01 10:27       ` Ingo Molnar
2017-03-03 12:22       ` Jiri Slaby
2017-03-03 12:22         ` Jiri Slaby
2017-03-03 18:20       ` hpa
2017-03-03 18:20         ` hpa
2017-03-06 14:09         ` Jiri Slaby
2017-03-06 14:09           ` Jiri Slaby
2017-03-07  7:57         ` Ingo Molnar
2017-03-07  7:57           ` Ingo Molnar
2017-03-03 18:24       ` hpa
2017-03-03 18:24         ` hpa
2017-03-07  8:27         ` Ingo Molnar
2017-03-07  8:27           ` Ingo Molnar
2017-03-07 17:24           ` [RFC] linkage: new macros for functions and data Jiri Slaby
2017-03-07 17:24             ` Jiri Slaby
2017-03-16  8:02             ` Ingo Molnar [this message]
2017-03-16  8:02               ` Ingo Molnar
2017-03-16  8:13               ` Jiri Slaby
2017-03-20 12:32                 ` [PATCH v2 01/10] linkage: new macros for assembler symbols Jiri Slaby
2017-03-20 12:32                 ` Jiri Slaby
2017-03-20 12:32                   ` [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START for data Jiri Slaby
2017-03-20 12:32                     ` Jiri Slaby
2017-03-20 13:32                     ` Josh Poimboeuf
2017-03-20 13:32                       ` Josh Poimboeuf
2017-03-20 15:32                       ` Jiri Slaby
2017-03-20 15:32                         ` Jiri Slaby
2017-03-20 16:07                         ` Josh Poimboeuf
2017-03-20 16:07                           ` Josh Poimboeuf
2017-03-21 14:08                     ` Pavel Machek
2017-03-21 14:08                       ` Pavel Machek
2017-03-22  7:25                       ` Ingo Molnar
2017-03-22  7:25                       ` Ingo Molnar
2017-03-22  7:25                         ` Ingo Molnar
2017-03-22  7:39                         ` Jiri Slaby
2017-03-22  7:39                         ` Jiri Slaby
2017-03-22  7:46                           ` Ingo Molnar
2017-03-22  7:46                           ` Ingo Molnar
2017-03-22 14:11                             ` Josh Poimboeuf
2017-03-22 15:01                               ` Jiri Slaby
2017-03-22 15:33                                 ` Josh Poimboeuf
2017-03-22 15:33                                 ` Josh Poimboeuf
2017-03-22 15:01                               ` Jiri Slaby
2017-03-23  7:38                               ` Ingo Molnar
2017-03-23 13:24                                 ` Josh Poimboeuf
2017-03-23 13:24                                 ` Josh Poimboeuf
2017-03-23  7:38                               ` Ingo Molnar
2017-03-22 14:11                             ` Josh Poimboeuf
2017-03-22 12:06                       ` Jiri Slaby
2017-03-22 15:52                         ` Pavel Machek
2017-03-22 15:52                         ` Pavel Machek
2017-03-22 12:06                       ` Jiri Slaby
2017-03-20 12:32                   ` [PATCH v2 03/10] x86: assembly, use SYM_FUNC_END for functions Jiri Slaby
2017-03-21 14:48                     ` Josh Poimboeuf
2017-03-22  7:29                       ` Ingo Molnar
2017-03-22  7:29                         ` Ingo Molnar
2017-03-21 14:48                     ` Josh Poimboeuf
2017-03-22 14:26                     ` Josh Poimboeuf
2017-03-22 15:44                       ` Jiri Slaby
2017-03-22 15:44                         ` Jiri Slaby
2017-04-10 11:23                         ` Jiri Slaby
2017-04-10 19:35                           ` Josh Poimboeuf
2017-04-10 19:35                           ` Josh Poimboeuf
2017-04-12  6:24                             ` Jiri Slaby
2017-04-12  6:52                               ` Ingo Molnar
2017-04-12  6:52                               ` Ingo Molnar
2017-04-12  6:24                             ` Jiri Slaby
2017-04-10 11:23                         ` Jiri Slaby
2017-03-22 14:26                     ` Josh Poimboeuf
2017-03-20 12:32                   ` Jiri Slaby
2017-03-20 12:32                   ` [PATCH v2 04/10] x86: boot, annotate functions properly Jiri Slaby
2017-03-20 12:32                   ` [PATCH v2 05/10] x86: kernel+lib, annotate local functions Jiri Slaby
2017-03-20 12:32                   ` [PATCH v2 06/10] x86: crypto, " Jiri Slaby
2017-03-20 12:32                   ` [PATCH v2 07/10] x86: assembly, annotate aliases Jiri Slaby
2017-03-20 12:32                   ` Jiri Slaby
2017-03-20 12:32                   ` [PATCH v2 08/10] x86: entry, annotate THUNKs Jiri Slaby
2017-03-20 12:32                   ` [PATCH v2 09/10] x86: entry, annotate interrupt symbols properly Jiri Slaby
2017-03-20 12:32                   ` [RFC v2 10/10] x86: boot, extract efi_pe_entry from startup_64 Jiri Slaby
2017-03-16  8:13               ` [RFC] linkage: new macros for functions and data Jiri Slaby

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=20170316080257.GA7815@gmail.com \
    --to=mingo@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=boris.ostrovsky@oracle.com \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=jpoimboe@redhat.com \
    --cc=jslaby@suse.cz \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pavel@ucw.cz \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /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.