linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: "lsf-pc@lists.linux-foundation.org" 
	<lsf-pc@lists.linux-foundation.org>,
	SCSI Mailing List <linux-scsi@vger.kernel.org>,
	linux-block@vger.kernel.org
Subject: [LSF/MM TOPIC] Handling of managed IRQs when hotplugging CPUs
Date: Tue, 5 Feb 2019 16:28:46 +0100	[thread overview]
Message-ID: <99dc311f-16b6-9b0d-e309-198dcc9dcde7@suse.de> (raw)

Hi all,

this came up during discussion on the mailing list (cf thread "Question 
on handling managed IRQs when hotplugging CPUs").
The problem is that with managed IRQs and block-mq I/O will be routed to 
individual CPUs, and the response will be send to the IRQ assigned to 
that CPU.

If now a CPU hotplug event occurs when I/O is still in-flight the IRQ 
will _still_ be assigned to the CPU, causing any pending interrupt to be 
lost.
Hence the driver will never notice that an interrupt has happened, and 
an I/O timeout occurs.

One proposal was to quiesce the device when a CPU hotplug event occurs, 
and only allow for CPU hotplugging once it's fully quiesced.

While this would be working, it will be introducing quite some system 
stall, and it actually a rather big impact in the system.
Another possiblity would be to have the driver abort the requests 
itself, but this requires specific callbacks into the driver, and, of 
course, the driver having the ability to actually do so.

I would like to discuss at LSF/MM how these issues can be addressed best.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@suse.de			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

             reply	other threads:[~2019-02-05 15:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-05 15:28 Hannes Reinecke [this message]
2019-02-19  2:19 ` [LSF/MM TOPIC] Handling of managed IRQs when hotplugging CPUs Ming Lei
2019-02-19 14:24   ` Hannes Reinecke
2019-02-19 15:14     ` Ming Lei
2019-02-25 17:22   ` Hannes Reinecke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=99dc311f-16b6-9b0d-e309-198dcc9dcde7@suse.de \
    --to=hare@suse.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).