Thanks for the clarification, that makes sense to me now. It doesn't look like the patch handles CPU hotplugging though; a cpumask filled with *only* offline CPUs can be passed as a parameter, or all of the CPUs in the cpumask can be offlined after the setup is finished. This isn't a problem with the default behavior because num_possible_cpus() guarantees that there will always be at least one online CPU for the nvme queue (since the CPU hotplug code doesn't allow all CPUs to be offlined).
Thanks for the clarification, that makes sense to me now. It doesn't look like the patch handles CPU hotplugging though; a cpumask filled with *only* offline CPUs can be passed as a parameter, or all of the CPUs in the cpumask can be offlined after the setup is finished. This isn't a problem with the default behavior because num_possible_cpus() guarantees that there will always be at least one online CPU for the nvme queue (since the CPU hotplug code doesn't allow all CPUs to be offlined).