From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752781AbcFNT7N (ORCPT ); Tue, 14 Jun 2016 15:59:13 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:37777 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751392AbcFNT7L (ORCPT ); Tue, 14 Jun 2016 15:59:11 -0400 From: Christoph Hellwig To: tglx@linutronix.de, axboe@fb.com Cc: linux-block@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org Subject: automatic interrupt affinity for MSI/MSI-X capable devices V2 Date: Tue, 14 Jun 2016 21:58:53 +0200 Message-Id: <1465934346-20648-1-git-send-email-hch@lst.de> X-Mailer: git-send-email 2.1.4 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series enhances the irq and PCI code to allow spreading around MSI and MSI-X vectors so that they have per-cpu affinity if possible, or at least per-node. For that it takes the algorithm from blk-mq, moves it to a common place, and makes it available through a vastly simplified PCI interrupt allocation API. It then switches blk-mq to be able to pick up the queue mapping from the device if available, and demonstrates all this using the NVMe driver. There also is a git tree available at: git://git.infradead.org/users/hch/block.git Gitweb: http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/msix-spreading.4 Changes since V1: - irq core improvements to properly assign the affinity before request_irq (tglx) - better handling of the MSI vs MSI-X differences in the low level MSI allocator (hch and tglx) - various improvements to pci_alloc_irq_vectors (hch) - remove blk-mq hardware queue reassigned on hotplug cpu events (hch) - forward ported to Jens' current for-next tree (hch)