Lucas De Marchi | bf89f76 | 2011-12-01 18:23:47 -0200 | [diff] [blame] | 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 | |
Lucas De Marchi | c3325cf | 2011-12-02 14:49:57 -0200 | [diff] [blame] | 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. |
Lucas De Marchi | bf89f76 | 2011-12-01 18:23:47 -0200 | [diff] [blame] | 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 |
Lucas De Marchi | 0835fc3 | 2011-12-01 20:06:08 -0200 | [diff] [blame] | 33 | |
| 34 | * kmod_module: calculate fields on demand if not available: |
| 35 | - name |
| 36 | - path |
| 37 | - dependency |