From: Andi Kleen <ak@suse.de>
To: Tom Tucker <tom@opengridcomputing.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
Roland Dreier <rdreier@cisco.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
sam@ravnborg.org
Subject: Re: [PATCH RFC] [1/9] Core module symbol namespaces code and intro.
Date: Tue, 27 Nov 2007 10:02:22 +0100 [thread overview]
Message-ID: <200711271002.22958.ak@suse.de> (raw)
In-Reply-To: <1196141742.9876.49.camel@trinity.ogc.int>
> > Perhaps you've got lots of patches were people are using internal APIs they
> > shouldn't?
> >
>
> Maybe the issue is "who can tell" since what is external and what is
> internal is not explicitly defined?
Exactly. Or rather it is not defined on the module level. We got
"static" of course, but I think we should have a similar mechanism
on a module level.
> Explicitly documenting what comprises the kernel API (external,
> supported)
It would not be fully supported either -- can still change etc. --
but there is a reasonable expectation that those external
APIs will change less often than internal interfaces.
> - forcing developers to identify their exports as part of the
> implementation or as part of the kernel API
That is EXPORT_SYMBOL already. The trouble is just that it covers
too much. My patchkit is trying to limit it again for a specific
use case -- exporting an "internal" interface to another module.
Or rather a set of modules.
Standard example is TCP: TCP exports nearly everything and the
single user is the TCP code in ipv6.ko. Instead those symbols should
be limited to be only accessable to ipv6.ko.
The reason I went with the more generic namespace mechanism
instead of EXPORT_SYMBOL_TO() is that ipv6 is ever split up
it would still work.
Also using namespaces doesn't have any more overhead than
EXPORT_SYMBOL_TO() and the complexity is about the same
(not very much anyways -- just look at the patches)
> - making it easier for reviewers to identify when developers are adding
> to the kernel API and thereby focusing the appropriate level of review
> to the new function
That is another reason.
-ANdi
next prev parent reply other threads:[~2007-11-27 9:02 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-22 2:43 [PATCH RFC] [1/9] Core module symbol namespaces code and intro Andi Kleen
2007-11-22 2:43 ` [PATCH RFC] [2/9] Fix duplicate symbol check to also check future gpl and unused symbols Andi Kleen
2007-11-22 2:43 ` [PATCH RFC] [3/9] modpost: Declare the modpost error functions as printf like Andi Kleen
2007-12-10 18:50 ` Sam Ravnborg
2007-12-10 18:58 ` Andi Kleen
2007-12-12 1:37 ` Rusty Russell
2007-11-22 2:43 ` [PATCH RFC] [4/9] modpost: Fix format string warnings Andi Kleen
2007-12-10 18:50 ` Sam Ravnborg
2007-11-22 2:43 ` [PATCH RFC] [5/9] modpost: Fix a buffer overflow in modpost Andi Kleen
2007-12-10 19:32 ` Sam Ravnborg
2007-12-10 19:57 ` Andi Kleen
2007-12-10 20:07 ` Sam Ravnborg
2007-11-22 2:43 ` [PATCH RFC] [6/9] Implement namespace checking " Andi Kleen
2007-11-22 2:43 ` [PATCH RFC] [7/9] Convert TCP exports into namespaces Andi Kleen
2007-11-22 2:43 ` [PATCH RFC] [8/9] Put UDP exports into a namespace Andi Kleen
2007-11-22 2:43 ` [PATCH RFC] [9/9] Add a inet namespace Andi Kleen
2007-11-22 3:03 ` [PATCH RFC] [1/9] Core module symbol namespaces code and intro Arjan van de Ven
2007-11-22 3:37 ` Andi Kleen
2007-11-22 3:52 ` Dave Jones
2007-11-22 3:56 ` Rusty Russell
2007-11-22 8:41 ` Dave Young
2007-11-22 18:19 ` Andi Kleen
2007-11-23 2:06 ` Dave Young
2007-11-22 11:05 ` Christoph Hellwig
2007-11-23 0:25 ` Rusty Russell
2007-11-23 1:36 ` Andi Kleen
2007-11-23 3:35 ` Rusty Russell
2007-11-23 19:53 ` Andi Kleen
2007-11-24 4:53 ` Rusty Russell
2007-11-24 12:39 ` Andi Kleen
2007-11-26 1:23 ` Rusty Russell
2007-11-22 11:46 ` Andi Kleen
2007-11-23 0:29 ` Rusty Russell
2007-11-25 20:29 ` Roland Dreier
2007-11-26 1:25 ` Rusty Russell
2007-11-26 5:58 ` Roland Dreier
2007-11-27 4:26 ` Rusty Russell
2007-11-27 10:50 ` Andi Kleen
2007-11-27 13:58 ` Herbert Xu
2007-11-27 14:12 ` Andi Kleen
2007-11-27 14:36 ` Herbert Xu
2007-11-27 20:02 ` Valdis.Kletnieks
2007-11-28 1:34 ` Rusty Russell
2007-11-22 11:06 ` Christoph Hellwig
2007-11-22 11:54 ` Andi Kleen
2007-11-22 12:03 ` Christoph Hellwig
2007-11-22 12:01 ` Arnaldo Carvalho de Melo
2007-11-22 18:17 ` Andi Kleen
2007-11-25 20:27 ` Roland Dreier
2007-11-26 1:28 ` Rusty Russell
2007-11-26 6:15 ` Roland Dreier
2007-11-27 4:49 ` Rusty Russell
2007-11-27 5:35 ` Tom Tucker
2007-11-27 9:02 ` Andi Kleen [this message]
2007-11-27 17:24 ` Adrian Bunk
2007-11-27 17:15 ` Adrian Bunk
2007-11-27 17:45 ` Tom Tucker
2007-11-27 18:59 ` Adrian Bunk
2007-11-28 1:27 ` Rusty Russell
2007-11-28 4:12 ` Tom Tucker
2007-11-27 15:43 ` Jonathan Corbet
2007-11-27 15:58 ` Andi Kleen
2007-11-27 16:33 ` Christoph Hellwig
2007-11-27 22:31 ` Jon Masters
2007-11-27 22:31 ` Jon Masters
2007-11-27 22:37 ` Andi Kleen
2007-11-27 23:00 ` Stephen Hemminger
2007-11-27 23:06 ` Andi Kleen
2007-11-28 16:48 ` Adrian Bunk
2007-11-28 17:31 ` Andi Kleen
2007-11-26 18:25 ` Stephen Hemminger
2007-11-26 22:18 ` Roland Dreier
2007-11-27 19:00 ` Dave Jones
2007-11-27 21:09 ` Adrian Bunk
2007-11-27 21:15 ` Rick Jones
2007-11-27 21:38 ` Adrian Bunk
2007-11-28 2:01 ` Rick Jones
2007-11-27 21:25 ` Dave Jones
2007-11-27 23:00 ` Valdis.Kletnieks
2007-11-29 16:53 ` Arjan van de Ven
2007-11-30 2:18 ` Rusty Russell
2007-11-29 9:55 ` Arnd Bergmann
2007-11-29 10:00 ` Andi Kleen
2007-11-29 10:21 ` Arnd Bergmann
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=200711271002.22958.ak@suse.de \
--to=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rdreier@cisco.com \
--cc=rusty@rustcorp.com.au \
--cc=sam@ravnborg.org \
--cc=tom@opengridcomputing.com \
/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.