From: Tom Tucker <tom@opengridcomputing.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: Roland Dreier <rdreier@cisco.com>, Andi Kleen <ak@suse.de>,
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: Mon, 26 Nov 2007 23:35:42 -0600 [thread overview]
Message-ID: <1196141742.9876.49.camel@trinity.ogc.int> (raw)
In-Reply-To: <200711271549.37670.rusty@rustcorp.com.au>
On Tue, 2007-11-27 at 15:49 +1100, Rusty Russell wrote:
> On Monday 26 November 2007 17:15:44 Roland Dreier wrote:
> > > Except C doesn't have namespaces and this mechanism doesn't create them.
> > > So this is just complete and utter makework; as I said before, noone's
> > > going to confuse all those udp_* functions if they're not in the udp
> > > namespace.
> >
> > I don't understand why you're so opposed to organizing the kernel's
> > exported symbols in a more self-documenting way.
>
> No, I was the one who moved exports near their declarations. That's
> organised. I just don't see how this new "organization" will help: oh good,
> I won't accidentally use the udp functions any more?!?
>
> > It seems pretty
> > clear to me that having a mechanism that requires modules to make
> > explicit which (semi-)internal APIs makes reviewing easier
>
> 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?
> > , makes it
> > easier to communicate "please don't use that API" to module authors,
>
> Well, introduce an EXPORT_SYMBOL_INTERNAL(). It's a lot less code. But you'd
> still need to show that people are having trouble knowing what APIs to use.
> > and takes at least a small step towards bringing the kernel's exported
> > API under control.
>
> There is no "exported API" to bring under control.
Hmm...apparently, there are those that are struggling...
> There are symbols we
> expose for the kernel's own use which can be used by external modules at
> their own risk.
>
> > What's the real downside?
>
> No. That's the wrong question. What's the real upside?
Explicitly documenting what comprises the kernel API (external,
supported) and what comprises the kernel implementation (internal, not
supported).
>
> Let's not put code in the core because "it doesn't seem to hurt".
>
agreed.
> I'm sure you think there's a real problem, but I'm still waiting for someone
> to *show* it to me. Then we can look at solutions.
I think the benefits should include:
- forcing developers to identify their exports as part of the
implementation or as part of the kernel API
- 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
- making it obvious to developers when they are binding their
implementation to a particular kernel release
> Rusty.
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2007-11-27 6:03 UTC|newest]
Thread overview: 82+ 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 [this message]
2007-11-27 9:02 ` Andi Kleen
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
[not found] ` <1196202698.3415.119.camel@jcmlaptop>
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
[not found] ` <20071127210942.GF3406@stusta.de>
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=1196141742.9876.49.camel@trinity.ogc.int \
--to=tom@opengridcomputing.com \
--cc=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 \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).