Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp802652imm; Wed, 20 Jun 2018 06:55:25 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJDc40YO1SWJ2b3D9I5zTK+9HcpS+xIZrEjsoq2X13AWPqZLroeWCSsEU7gRxOJ2nowx5MU X-Received: by 2002:a17:902:6bca:: with SMTP id m10-v6mr24060560plt.6.1529502925420; Wed, 20 Jun 2018 06:55:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529502925; cv=none; d=google.com; s=arc-20160816; b=mflm7NpnftxZiZi+rLN7HasGl3TSlpvp9uogDKBQPDs06+joTBKOKuQfv57Bv1Bt6J tOZK+Dk7+rkf4rzrkBYgmwMsdzR6BLxjBzsB+BekclOirzDPvNtQ5oL1aRKNHV2df4HJ GEnaWM7Rd4gzPMoqoPkC3cUotTboVKjOWm7tsWfJlOcvOjKjLZvIvhHeHUuXQlTyN7VV 768vo6aqCvJPrbXyuA6CRXv2xtHpITU60tTPcpbTRpwBzi5+tIkZ5GKDG29Y83Xz/Q25 hHH7mvB8lChXNvvnOIZUwHopslVyXynu7+Qsoj19X7Fpw/H3CYBYSB0ZYQ5D82uYWqQI cRnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=tBlz2PjuyMf/MXfn8xMqY4ZaqHIV53PxgiQiCd4zvm4=; b=yjTjKNituqaYwqWpxV6K2FOR6O2TK0fzXocBkgLk0weR+RvnHKbelseCIqya+MRtvJ JLlzksbcd65fbtb8vY/s/Cdwk7YxfZh26ngI3ptIr1a5hXhxF3OrTBwZiBxpNChp3Img +4LrifK+1mGKtc8P56oB6L5mRN7lKooFjXZ3mUuTkEkPai5cBXMRqmCuwj0O6GD+NKYP wtHsGJbmNkhazsC74dSDbpsxvRQE7PpxifhZgfmhT5VGT4q8NJ7z104fH9k5PApoR8Lz BaXOWrJ4YxEz2TVVu05oGGu/WKjxWGXzdaz/HvsLjRtCkyXhhqH7kJ9XOa/93XCKM1LE +vBw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f62-v6si2565844pfj.310.2018.06.20.06.55.11; Wed, 20 Jun 2018 06:55:25 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754259AbeFTNxD (ORCPT + 99 others); Wed, 20 Jun 2018 09:53:03 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:37424 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753651AbeFTNxA (ORCPT ); Wed, 20 Jun 2018 09:53:00 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6E3A780D; Wed, 20 Jun 2018 06:53:00 -0700 (PDT) Received: from big-swifty.cambridge.arm.com (big-swifty.cambridge.arm.com [10.1.31.224]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E99503F578; Wed, 20 Jun 2018 06:52:53 -0700 (PDT) From: Marc Zyngier To: linux-kernel@vger.kernel.org Cc: Thomas Gleixner , Ard Biesheuvel , Shanker Donthineni , Shameer Kolothum , MaJun , Laurentiu Tudor , Lei Zhang Subject: [PATCH 0/7] irqchip/gic-v3: LPI allocation refactoring Date: Wed, 20 Jun 2018 14:52:27 +0100 Message-Id: <20180620135234.32101-1-marc.zyngier@arm.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The GICv3 LPI allocator has served us well so far, but a number of new use cases have recently showed up: - A new extension to the GICv3 architecture allows a hypervisor to dramatically restrict the range of available LPIs. This means that our current policy of allocating LPIs in blocks of 32 may quickly deplete the number of devices that get LPIs - New and currently undisclosed busses seem to come with thousands of devices, each requiring a single LPI. Again, our current allocation policy means they quickly run out of LPIs. Simply expanding the bitmap doesn't seem to be a great idea, so let's change the LPI allocator altogether. This means we can move individual busses to a more minimal allocation scheme, though we only do it for PCI at the moment (Platform MSI looks like the Far West, and I'm clueless about the FSL MC thing). This is a pretty invasive change, and I'm thus cc'ing the usual suspects that have access to weird and wonderful HW to verify everything still works as expected, and let me know if we can relax the allocation for their own pet bus implementation. Only lightly tested in a KVM guest (PCI). Marc Zyngier (7): irqchip/gic-v3-its: Refactor LPI allocator irqchip/gic-v3-its: Use full range of LPIs irqchip/gic-v3-its: Move minimum LPI requirements to individual busses irqchip/gic-v3-its: Drop chunk allocation compatibility irqchip/gic-v3: Expose GICD_TYPER in the rdist structure irqchip/gic-v3-its: Honor hypervisor enforced LPI range irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c | 3 + drivers/irqchip/irq-gic-v3-its-pci-msi.c | 16 +- drivers/irqchip/irq-gic-v3-its-platform-msi.c | 2 + drivers/irqchip/irq-gic-v3-its.c | 225 ++++++++++++------ drivers/irqchip/irq-gic-v3.c | 4 +- include/linux/irqchip/arm-gic-v3.h | 3 +- 6 files changed, 169 insertions(+), 84 deletions(-) -- 2.17.1