From c8c956b1995f53a25d365b67d66204208e496150 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Mon, 11 Jun 2012 12:00:19 -0300 Subject: [PATCH] TODO: update tasks - Remove dependency loop with install commands, since it's done - Add reasoning behind API refactor --- TODO | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/TODO b/TODO index 221172d..d125122 100644 --- a/TODO +++ b/TODO @@ -3,18 +3,8 @@ Features: * testsuite: - when fake delete_module() succeeds, remove its entry from /sys/module - - add test for dependency loop _with install commands_ relying on module - already been loaded in order to succeed. E.g.: alsa install rules on - debian: - - install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; } - install snd_rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; } - install snd_emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; } - install snd_pcm modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { modprobe --quiet snd-pcm-oss ; : ; } - install snd_mixer modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { modprobe --quiet snd-mixer-oss ; : ; } - install snd_seq modprobe --ignore-install snd-seq $CMDLINE_OPTS && { modprobe --quiet snd-seq-midi ; modprobe --quiet snd-seq-oss ; : ; } - -* review API, maybe unify all of these setters: + +* review API, maybe unify all of these getters: - kmod_module_version_get_symbol() - kmod_module_version_get_crc() - kmod_module_symbol_get_symbol() @@ -23,7 +13,16 @@ Features: - kmod_module_dependency_symbol_get_crc() - kmod_module_versions_free_list() - kmod_module_symbols_free_list() - - kmod_module_dependency_symbols_free_list() + - kmod_module_dependency_symbols_free_list( + + Main reason for this is that they need to open and read the module to get + this information. If module is compressed, that means uncompressing + + allocating necessary space + deallocating for each of them. depmod uses most + of these functions and in the end it uncompresses the module ~6x times more + than needed, which makes depmod very slow if compared to module-init-tools. + + We might want to either cache the elf file within kmod_module or create + another struct that the user ref()/unref(). * Stop using system() inside the library and use fork + exec instead -- 2.7.4