]>
Commit | Line | Data |
---|---|---|
bf89f76e LDM |
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 | ||
c3325cfc LDM |
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. | |
bf89f76e LDM |
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 | |
0835fc3b LDM |
33 | |
34 | * kmod_module: calculate fields on demand if not available: | |
35 | - name | |
36 | - path | |
37 | - dependency | |
478af97f LDM |
38 | |
39 | * index: check implementations in order to allocate less stuff. There some | |
40 | malloc()s that could be avoided |