On 4/5/19 4:37 PM, Keith Busch wrote: > On Fri, Apr 05, 2019 at 04:23:27PM -0600, Jens Axboe wrote: >> On 4/5/19 3:59 PM, Keith Busch wrote: >>> Managed interrupts can not migrate affinity when their CPUs are offline. >>> If the CPU is allowed to shutdown before they're returned, commands >>> dispatched to managed queues won't be able to complete through their >>> irq handlers. >>> >>> Introduce per-hctx reference counting so we can block the CPU dead >>> notification for all allocated requests to complete if an hctx's last >>> CPU is being taken offline. >> >> What does this do to performance? We're doing a map per request... > > It should be the same cost as the blk_queue_enter/blk_queue_exit that's > also done per request, which is pretty cheap way to count users. I > don't think I'm measuring a difference, but my test sample size so far > is just one over-powered machine. Looking at current peak testing, I've got around 1.2% in queue enter and exit. It's definitely not free, hence my question. Probably safe to assume that we'll double that cycle counter, per IO. -- Jens Axboe