The "_modules" helper function in /usr/share/bash-completion/bash-completion does a crude recursive ls of the module directory, recursing into both the ./source and ./build symlinks if present (and ./build/source for out-of-tree builds), and then includes all .o files from the build tree in the results. This makes the terminal non-responsive for several minutes on my machine, and the output is pretty much useless for commands like modprobe. I hacked together a more correct version in https://forums.gentoo.org/viewtopic-t-1087832.html#8273102, pasted here for your convenience: _modules() { COMPREPLY=( $( compgen -W "$(shopt -s globstar failglob printf '%s\n' /lib/modules/"${1:?}"/!(source|build)/**/*.@(o|ko|ko.gz|ko.xz) | \ sed -e 's@^.*/\(.*\)\.k\?o\(\.[gx]z\)\?@\1@' )" -- "$cur" ) ) } There's already an open bug upstream for the slowness, https://github.com/scop/bash-completion/issues/136 However, given they haven't bothered to ack it in 15 months, maybe it'd be appropriate for the ebuild to apply this fix, as it's more likely to affect Gentoo users than binary distros.