]> git.ipfire.org Git - thirdparty/kmod.git/blob - TODO
TODO: update file
[thirdparty/kmod.git] / TODO
1
2 Features:
3
4 * config: configs that do not need to be matched by fnmatch() could be using a
5 vector instead of a list. This way we could search in it by calling
6 bsearch().
7
8 * config: load on demand
9
10 * index: drop the "open(), seek(), read()" implementation and use another one
11 with mmap(). When lookup() is called and the file is not mmaped, mmap it.
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 * insmod and rmmod with dependency handling. Maybe this should be done by the
27 binary, and it's sufficient to return only the lists from lookups.
28 ^-- investigate the best API
29
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