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: 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 [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
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-27 22:31 ` Jon Masters
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=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 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.