> Agreed. On first glance, I was intrigued but:
>
> 1) Why is everyone so concerned that export symbol space is large?
> - does it cost cpu or running memory?
> - does it cause bugs?
> - or are you just worried about "evil modules"?
>
> 2) These aren't real namespaces
> - all global names still have to be unique
> - still have to handle the "non-modular build" namespace conflicts
> - there isn't a big problem with conflicting symbols today.
Perhaps changing the name from "namespace" to "interface" would help?
Then a module could have something like
MODULE_USE_INTERFACE(foo);
and I think that makes it clearer what the advantage of this is: it
marks symbols as being part of a certain interface, requires modules
that use that interface to declare that use explicitly, and allows
reviewers to say "Hey why is this code using the scsi interface when
it's a webcam driver?"
- R.