blob: 9b19ff1c27871eff9db73011eda7ca5c91081dc5 [file] [log] [blame]
Lucas De Marchibf89f762011-12-01 18:23:47 -02001
2Features:
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
Lucas De Marchic3325cf2011-12-02 14:49:57 -02008* 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.
Lucas De Marchibf89f762011-12-01 18:23:47 -020016
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
Lucas De Marchi0835fc32011-12-01 20:06:08 -020033
34* kmod_module: calculate fields on demand if not available:
35 - name
36 - path
37 - dependency