From: Keith Owens <kaos@ocs.com.au>
To: davidm@hpl.hp.com
Cc: bgerst@didntduck.org, Terence Ripperda <tripperda@nvidia.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: inter_module_get and __symbol_get
Date: Tue, 25 Jan 2005 09:44:18 +1100 [thread overview]
Message-ID: <30494.1106606658@ocs3.ocs.com.au> (raw)
In-Reply-To: Your message of "Mon, 24 Jan 2005 14:36:10 -0800." <16885.30810.787188.591830@napali.hpl.hp.com>
On Mon, 24 Jan 2005 14:36:10 -0800,
David Mosberger <davidm@napali.hpl.hp.com> wrote:
>Keith,
>
>I didn't see any followup to your message. My apologies if I missed
>something.
>
>You wrote:
>
> Keith> inter_module_* and __symbol_* solve these class of problems:
>
> Keith> Module A can use module B if B is loaded, but A does not
> Keith> require module B to do its work. B is optional.
>
> Keith> The kernel can use code in module C is C is loaded, but the
> Keith> base kernel does not require module C. C is optional.
>
>Why isn't this handled via weak references? If the reference comes
>out as 0, you know the underlying module/facility isn't there and
>proceed accordingly.
Weak references are only done once, when the module is loaded. We
already use weak references for static determination of symbol
availability. inter_module_* and __symbol_* are aimed at the dynamic
reference problem, not static.
Module A can use module B if B is loaded, but A does not require module
B to do its work. B can be loaded at any time, or even unloaded at any
time, although that is much rarer. Dynamic references require a
register/unregister style interface, thus inter_module_* and
__symbol_*.
Does the kernel code really need optional dynamic references between
modules or kernel -> modules? That depends on how people code their
modules. If the rest of the kernel no longer needs dynamic symbol
reference then drop inter_module_* and __symbol_*.
next prev parent reply other threads:[~2005-01-24 22:50 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-06 21:32 inter_module_get and __symbol_get Terence Ripperda
2005-01-06 21:57 ` Brian Gerst
2005-01-06 22:51 ` Terence Ripperda
2005-01-08 4:00 ` Jon Smirl
2005-01-12 19:37 ` Terence Ripperda
2005-01-12 22:21 ` Brian Gerst
2005-01-08 3:10 ` Keith Owens
2005-01-24 22:36 ` David Mosberger
2005-01-24 22:44 ` Keith Owens [this message]
2005-01-24 22:52 ` David Mosberger
2005-01-24 22:54 ` Keith Owens
2005-01-24 22:58 ` David Mosberger
2005-01-24 23:03 ` Keith Owens
2005-01-25 0:51 ` patch to enable Nvidia v5336 on v2.6.11 kernel (was Re: inter_module_get and __symbol_get) David Mosberger
2005-01-25 0:51 ` David Mosberger
2005-01-25 12:56 ` J.A. Magallon
2005-01-25 20:50 ` Zephaniah E. Hull
2005-01-26 0:02 ` J.A. Magallon
2005-01-26 0:25 ` Zephaniah E. Hull
2005-01-26 0:25 ` J.A. Magallon
2005-01-25 1:01 ` inter_module_get and __symbol_get Jon Smirl
2005-01-24 23:19 ` Jon Smirl
2005-01-24 23:23 ` David Mosberger
2005-01-25 5:31 ` Terence Ripperda
2005-01-25 5:59 ` Chris Wedgwood
-- strict thread matches above, loose matches on Subject: below --
2005-07-31 4:27 D. ShadowWolf
2005-08-01 1:04 ` Alan Cox
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=30494.1106606658@ocs3.ocs.com.au \
--to=kaos@ocs.com.au \
--cc=bgerst@didntduck.org \
--cc=davidm@hpl.hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tripperda@nvidia.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.