~registry/kmod/master

« back to all changes in this revision

Viewing changes to TODO

  • Committer: Lucas De Marchi
  • Date: 2011-12-12 12:30:01 UTC
  • mfrom: (161.1.30)
  • Revision ID: git-v1:2fee2f13ce5f6b17dd672389de422217c56105e2
Merge branch 'use-mmap'

Conflicts:
        libkmod/libkmod.c

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
* index: drop the "open(), seek(), read()" implementation and use another one
11
11
  with mmap(). When lookup() is called and the file is not mmaped, mmap it.
12
12
 
13
 
* provide a kmod_preload_resources() so configs are parsed and files are mmaped
14
 
  with MAP_POPULATE | MAP_LOCKED. Maybe it's a good idea to have a
15
 
  kmod_unload_resources() too.
16
 
 
17
 
* kmod_module: create a mempool with live and recently de-allocated modules.
18
 
  This way we don't have to create a new one, parse dependencies and whatnot.
19
 
  Just pick the already created node.
20
 
 
21
 
* kmod_module: apply blacklist on module lookup. What's best? Return the whole
22
 
  list and provide functions like kmod_module_filter_* or return the list
23
 
  already filtered?
24
 
  ^-- investigate the best API
25
 
 
26
13
* insmod and rmmod with dependency handling. Maybe this should be done by the
27
14
  binary, and it's sufficient to return only the lists from lookups.
28
15
  ^-- investigate the best API
29
16
 
30
 
* when preloading stuff, give the possibility to preload binary files. We need
31
 
  to create alternative index_search* functions to operate on mmapped files.
32
 
  Then on ctx creation we mmap all the files
33
 
 
34
 
* kmod_module: calculate fields on demand if not available:
35
 
        - name
36
 
        - path
37
 
        - dependency
38
 
 
39
 
* index: check implementations in order to allocate less stuff. There some
40
 
  malloc()s that could be avoided
 
17
* create test-mock library to be LD_PRELOAD'ed before running the binaries
 
18
  so we're able to create unit tests
 
19
 
 
20
* provide ELF manipulation to implement modinfo
 
21
 
 
22
* provide 1:1 compatibility with module-init-tools's modprobe, missing:
 
23
   - parse options from kernel command line (modname.opt=val)
 
24
   - provide softdeps
 
25
   - show modversions (needs elf manipulation)
 
26
   - show config (list all known options, install, remove, softdep...)
 
27
   - show list (lists all modules known by modules.dep)
 
28
   - return install/remove commands for non-modules:
 
29
         install nonexistentmodule somecommand
 
30
     modprobe nonexistentmodule -> runs somecommand