Re: blk-mq: improvement CPU hotplug (simplified version) v3
From: Bart Van Assche <bvanassche@acm.org>
Date: 2020-05-21 03:51:01
On 2020-05-20 19:57, Ming Lei wrote:
On Wed, May 20, 2020 at 02:46:52PM -0700, Bart Van Assche wrote:quoted
If the CPU to which one of these interrupt vectors has been assigned is hotplugged, does that mean that four hardware queues have to be quiesced instead of only one as is done in patch 6/6?No, one hctx only becomes inactive after each CPU in hctx->cpumask is offline. No matter how interrupt vector is assigned to hctx, requests shouldn't be dispatched to that hctx any more.
Since I haven't found an answer to my question in your reply I will rephrase my question. Suppose that there are 16 CPU cores, 16 hardware queues and that hctx->cpumask of each hardware queue i only contains CPU i. Suppose that four interrupt vectors (0, 1, 2 and 3) are used to report the completions for these hardware queues. Suppose that interrupt vector 3 is associated with hardware queues 12, 13, 14 and 15, and also that interrupt vector 3 is mapped to CPU core 14. My interpretation of patch 6/6 is that it will only quiesce hardware queue 14 but none of the other hardware queues associated with the same interrupt vector (hardware queues 12, 13 and 15). Isn't that a bug? Thanks, Bart.