From: Greg Banks <gnb@sgi.com>
To: Linux NFS ML <linux-nfs@vger.kernel.org>
Cc: "Frank Ch. Eigler" <fche@redhat.com>
Subject: [patch 2/5] Add apply_modules() which applies a function to each module.
Date: Mon, 19 Jan 2009 17:40:20 +1100 [thread overview]
Message-ID: <20090119064911.958016000@sgi.com> (raw)
In-Reply-To: 20090119064018.442220000@sgi.com
The new dprintk module needs to apply a particular function
to each module when the dprintk module loads.
Signed-off-by: Greg Banks <gnb@sgi.com>
---
include/linux/module.h | 1 +
kernel/module.c | 13 +++++++++++++
2 files changed, 14 insertions(+)
Index: bfields/kernel/module.c
===================================================================
--- bfields.orig/kernel/module.c
+++ bfields/kernel/module.c
@@ -365,6 +365,19 @@ static struct module *find_module(const
return NULL;
}
+void apply_modules(void (*func)(struct module*, void *), void *closure)
+{
+ struct module *mod;
+
+ preempt_disable();
+ list_for_each_entry_rcu(mod, &modules, list) {
+ func(mod, closure);
+ }
+ preempt_enable();
+}
+EXPORT_SYMBOL(apply_modules);
+
+
#ifdef CONFIG_SMP
/* Number of blocks used and allocated. */
static unsigned int pcpu_num_used, pcpu_num_allocated;
Index: bfields/include/linux/module.h
===================================================================
--- bfields.orig/include/linux/module.h
+++ bfields/include/linux/module.h
@@ -475,6 +475,7 @@ extern void module_update_markers(void);
extern void module_update_tracepoints(void);
extern int module_get_iter_tracepoints(struct tracepoint_iter *iter);
+extern void apply_modules(void (*func)(struct module*, void *), void *closure);
#else /* !CONFIG_MODULES... */
#define EXPORT_SYMBOL(sym)
--
--
Greg Banks, P.Engineer, SGI Australian Software Group.
the brightly coloured sporks of revolution.
I don't speak for SGI.
next prev parent reply other threads:[~2009-01-19 6:49 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-19 6:40 [patch 0/5] activate & deactivate dprintks individually and severally Greg Banks
2009-01-19 6:40 ` [patch 1/5] Move definitions of struct module_sect_attr back into module.h Greg Banks
2009-01-19 6:40 ` Greg Banks [this message]
2009-01-19 6:40 ` [patch 3/5] Make the dprintk() macro record information about the callsite Greg Banks
2009-01-19 6:40 ` [patch 4/5] Add the dprintk module to allow dprintks to be activated/deactivated singly Greg Banks
2009-01-19 6:40 ` [patch 5/5] Add a (not built) module to test the dprintk module Greg Banks
-- strict thread matches above, loose matches on Subject: below --
2009-01-20 1:29 [patch 0/5] activate & deactivate dprintks individually and severally Greg Banks
2009-01-20 1:29 ` [patch 2/5] Add apply_modules() which applies a function to each module Greg Banks
2009-01-20 1:29 ` Greg Banks
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=20090119064911.958016000@sgi.com \
--to=gnb@sgi.com \
--cc=fche@redhat.com \
--cc=linux-nfs@vger.kernel.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.