Re: [PATCH RFC] [1/9] Core module symbol namespaces code and intro.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Rusty Russell <rusty@...>
Cc: Roland Dreier <rdreier@...>, Andi Kleen <ak@...>, <netdev@...>, <linux-kernel@...>, <sam@...>
Date: Tuesday, November 27, 2007 - 6:50 am

On Tue, Nov 27, 2007 at 03:26:52PM +1100, Rusty Russell wrote:

Agreed the congestion modules are a corner case. I even mentioned that in the
patch. I would be happy to drop that one if that is the consensus.
It was more done as a example anyways. That is why I made it an separate
namespace from "tcp"

But for many other TCP symbols it makes a lot of sense: all the functions
only used by tcp_ipv6.c. If someone wants to write support for a "IPv7" or
similar they really should do it in tree. So I think the "tcp" and  "inet"
namespaces make a lot of sense.


If there are new users they will need to get proper review and should
be in tree.  MODULE_ALLOW() enforces that.


What complexity? You're always claiming it is complex. It isn't really.



Again for rusty @)

Goals are:
- Limit the interfaces available for out of tree modules to reasonably 
stable ones that are already used by a larger set of drivers.

This can also have further downstream advantages.
For example it might be a reasonable future rule to require all unconditionally
EXPORT_SYMBOL()s to have a complete LinuxDoc documentation entry.

- Explicitely declare in source what is clearly internal and not intended to
be a generally usable interface.

e.g. for the LinuxDoc example above such internal functions don't necessarily
need full LinuxDoc documentation.

- Force review from core maintainers for use of such internal interfaces

- Limit size of exported API to make stable ABIs for enterprise
distributions easier
[Yes I know that is not a popular topic on l-k, but it's a day-to-day
problem for these distros and out of tree solutions do not work]

-Andi
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Stephen Hemminger, (Mon Nov 26, 2:25 pm)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Arjan van de Ven, (Thu Nov 29, 12:53 pm)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Stephen Hemminger, (Tue Nov 27, 7:00 pm)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Christoph Hellwig, (Tue Nov 27, 12:33 pm)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Arnaldo Carvalho de Melo, (Thu Nov 22, 8:01 am)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Christoph Hellwig, (Thu Nov 22, 7:06 am)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Christoph Hellwig, (Thu Nov 22, 8:03 am)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Andi Kleen, (Tue Nov 27, 6:50 am)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Christoph Hellwig, (Thu Nov 22, 7:05 am)
Re: [PATCH RFC] [1/9] Core module symbol namespaces code and..., Arjan van de Ven, (Wed Nov 21, 11:03 pm)
[PATCH RFC] [7/9] Convert TCP exports into namespaces, Andi Kleen, (Wed Nov 21, 10:43 pm)
[PATCH RFC] [8/9] Put UDP exports into a namespace, Andi Kleen, (Wed Nov 21, 10:43 pm)
[PATCH RFC] [9/9] Add a inet namespace, Andi Kleen, (Wed Nov 21, 10:43 pm)
[PATCH RFC] [4/9] modpost: Fix format string warnings, Andi Kleen, (Wed Nov 21, 10:43 pm)