[LSF/MM/BPF TOPIC] Storage: generic completion polling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

there had been quite some discussion around completion polling and the
fact that for high-performance devices it might be a performance benefit
[1][2]. And during discussion with other people (hello tglx) the
reaction always had been "Can't you do NAPI?"

So the question is: Can we?
IE is it possible to have a generic framework for handling polled
completiona and interrupt completions, shifting between them depending
on the load?

My idea is to have a sequence like
completion polling -> interrupt handling -> threaded irq/polling
IE invoke completion polling directly from the submission path, enable
interrupts to handle completions from the interrupt handler, and finally
shift to completion polling again if too many completions are present.
Clearly this approach involves quite some tunables (like how many
completions before enabling polling from interrupt context, how long to
wait for completions before enabling interrupts etc), but I thing it
would be worthwhile having this as a generic framework as then one could
start experimenting with the various tunables to see which works best
for the individual hardware.
And it would lift the burden from the hardware vendors to implement a
similar mechanism on their own.

Proposed participants:
Martin K. Petersen
Jens Axboe
Christoph Hellwig
Keith Busch
Kashyap Desai
James Smart
Himanshu Madhani
Sagi Grimberg

[1]http://lists.infradead.org/pipermail/linux-nvme/2020-February/028961.html
[2]https://lore.kernel.org/linux-nvme/20191209175622.1964-1-kbusch@xxxxxxxxxx/

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		           Kernel Storage Architect
hare@xxxxxxx			                  +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux