| Age | Commit message (Collapse) | Author |
|
|
|
This is an implementation of the in-kernel module loader extending
the try_inc_mod_count() primitive and making its use compulsory.
This has the benifit of simplicity, and similarity to the existing
scheme. To reduce the cost of the constant increments and
decrements, reference counters are lockless and per-cpu.
Eliminated (coming in following patches):
o Modversions
o Module parameters
o kallsyms
o EXPORT_SYMBOL_GPL and MODULE_LICENCE checks
o DEVICE_TABLE support.
New features:
o Typesafe symbol_get/symbol_put
o Single "insert this module" syscall interface allows trivial userspace.
o Raceless loading and unloading
You will need the trivial replacement module utilities from:
http://ozlabs.org/~rusty/module-init-tools-0.6.tar.gz
|
|
From Matthew Dobson.
This final patch from Matthew cleans up a few leftovers which were noted
after the code had been reviewed and tested a bit in the -mm patchsets.
1) Update register_XXX and arch_register_XXX functions to return int
instead of void. Functions calling these functions should know if
they completed successfully to take appropriate further registration
action, or not bother.
2) Drop some pointless error checking in the arch_register_XXX
functions.
|
|
From Matthew Dobson.
Update/Create core files for DriverFS Topology.
This patch creates the generic structures that are (will be) embedded in
the per-arch structures. Also creates calls to register these generic
structures (CPUs, MemBlks, & Nodes).
Note that without arch-specific structures in which to embed these
structures, and an arch-specific initialization routine, these
functions/structures remain unused.
|
|
- Create struct cpu to generically describe cpus (it simply contains
a struct sys_device in it).
- Define an array of size NR_CPUS in arch/i386/kernel/cpu/common.c
and register each on bootup. This gives us something like:
# tree -d /sys/root/sys/
/sys/root/sys/
|-- cpu0
|-- pic0
`-- rtc0
and:
# tree -d /sys/bus/system/devices/
/sys/bus/system/devices/
|-- cpu0 -> ../../../root/sys/cpu0
- Define arch-specific CPU driver that's also registered on boot.
That gives us:
# tree -d /sys/bus/system/drivers/
/sys/bus/system/drivers/
|-- cpu
- Create a CPU device class that's registered very early. That
gives us all the CPUs in the system in one place:
# tree -d /sys/class/cpu/
/sys/class/cpu/
|-- devices
| `-- 0 -> ../../../root/sys/cpu0
`-- drivers
Other archs are encouraged to do the same.
|