kvm:the difference between "blacklist" and "softdep"

I am newbie here and I can only find the blog or readme from github.
Is there any official documents?

Emm,someone wrote the "blacklist" on "/etc/modules-load.d/modules.conf" while
someone wrote the "blacklist" on "/etc/modules-load.d/blacklist.conf".

And someone wrote the "softdep" instead of "blacklist"

For example,
someone wrote

echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf 

and someone wrote

echo "softdep nouveau pre: vfio-pci" >> 
/etc/modprobe.d/nvidia.conf
echo "softdep nvidia pre: vfio-pci" >> /etc/modprobe.d/nvidia.conf
echo "softdep nvidia* pre: vfio-pci" >> /etc/modprobe.d/nvidia.conf

I really don’t know the difference,any suggestion would be appreciated.

Asked By: 张绍峰

||

The short answer is to see the man page: man modprobe.conf.

Blacklist: Consider a fictional module printer_driver that supports Brother, HP and Samsung printers. To make life easy it could be given the internal aliases HP, Brother and Samsung. Running modprobe HP will now load the module just as running modprobe printer_driver would. However, a problem could arise if there was another module which used these same aliases, or alternatively was actually called HP. Using the blacklist command instructs the system to ignore the problematic aliases.

Softdep: The example from the man page is quite good. Consider a module c which will run quite happily doing its job, but it’s better if the management interface is loaded. softdep c pre: a b post: d e tells the system to load a b c d e when the command modprobe c is given. However, it will not fail if the soft dependancies cannot be satisfied. Flags can be applied to the dependencies independently of the flags on the main module.

Answered By: Martin