dsched_fq - Refactor fqp allocation/destruction
* Accept another argument for fqp allocation which is the corresponding
fqmp. This is internally stored for proper self-removal out of the
fqmp list on destruction.
* This parameter is also used to link the fqp into the fqmp list
automatically on creation, avoiding code duplication and deadlocking.
* Changed the destruction refcount to -0x400 instead of -3 to make
tracking of these cases simpler and not confuse them with bad
refcounting.
* NOTE: this also fixes the longstanding issue of an eventual panic
after a number of policy switches to/from fq.
Reported-by: Antonio Huete (tuxillo@)