I hate people who can't be concise. It's a sign of sloppy thinking.
1) You only need reference counts if you want to unload a module.
2) A module can control its own reference counts safely if it does not
sleep without holding a reference, and you use the rcu patch's
synchronize_kernel() primitive.
3) Relying on *every* driver to control its own reference counts is a
recipe for disaster: some subsystems will want to control module
counts for their users.
4) Moving reference counts out of the module and into the particular
objects is *not* a good idea, since per-cpu cache-friendly
refcounting schemes are (almost by definition) about
SMP_CACHE_BYTES*NR_CPUS in size.
Hope I haven't missed anything,
Rusty.
-- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/