On Wed, Jun 30, 2021 at 10:15:46AM +0200, Hannes Reinecke wrote: > On 6/29/21 9:49 AM, Ming Lei wrote: > > All the 4 host drivers don't use managed irq for completing request, so > > it is correct to pass the flag to blk-mq. > > > > Secondly with this flag, blk-mq will help us dispatch connect request > > allocated via blk_mq_alloc_request_hctx() to driver even though all > > CPU in the specified hctx's cpumask are offline. > > > How is this supposed to work? > To my understanding, only cpus in the hctx cpumask are eligible to send I/O. > So if all of these CPUs are offline, who exactly is submitting I/O? > More to the point, which CPU will be submitting the connect request? Please see __blk_mq_delay_run_hw_queue(), which will pass WORK_CPU_UNBOUND to kblockd_mod_delayed_work_on() for this situation. Thanks, Ming