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
next prev parent 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.