linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [LSF/MM TOPIC] Handling of managed IRQs when hotplugging CPUs
@ 2019-02-05 15:28 Hannes Reinecke
  2019-02-19  2:19 ` Ming Lei
  0 siblings, 1 reply; 5+ messages in thread
From: Hannes Reinecke @ 2019-02-05 15:28 UTC (permalink / raw)
  To: lsf-pc, SCSI Mailing List, linux-block

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)

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-02-25 17:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-05 15:28 [LSF/MM TOPIC] Handling of managed IRQs when hotplugging CPUs Hannes Reinecke
2019-02-19  2:19 ` Ming Lei
2019-02-19 14:24   ` Hannes Reinecke
2019-02-19 15:14     ` Ming Lei
2019-02-25 17:22   ` Hannes Reinecke

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).