Don't we need to delete rq if we empty it? The commit message says we require all subqueues to be non-empty; you've just avoided creating an empty one, but this patch doesn't delete one that we empty!