From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH v7 08/10] ixgbe: enable rx queue interrupts for both PF and VF Date: Mon, 11 May 2015 08:00:19 -0700 Message-ID: <20150511080019.2b7b2982@urahara> References: <1425012976-10173-1-git-send-email-cunming.liang@intel.com> <1430804386-28949-1-git-send-email-cunming.liang@intel.com> <1430804386-28949-9-git-send-email-cunming.liang@intel.com> <20150505113611.1359e2d8@urahara> <55503E98.805@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org To: "Liang, Cunming" Return-path: Received: from mail-pd0-f175.google.com (mail-pd0-f175.google.com [209.85.192.175]) by dpdk.org (Postfix) with ESMTP id 048CBC428 for ; Mon, 11 May 2015 17:00:18 +0200 (CEST) Received: by pdbnk13 with SMTP id nk13so148444733pdb.0 for ; Mon, 11 May 2015 08:00:17 -0700 (PDT) In-Reply-To: <55503E98.805@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, 11 May 2015 13:31:04 +0800 "Liang, Cunming" wrote: > > Since MSI-X vectors are limited on many hardware platforms, this whole API > > should be changed so that max_intr is based on number of rx_queues actually > > used by the application. That means the setup needs to move from init to configure. > [LCM] When MSI-X is not used, intr_vec and set max_intr are useless. It > doesn't matter to non MSI-X mode. > As it allows the sequence "dev_stop->dev_reconfig->dev_start", the real > used number of queue may change. > So allocation only on dev_init and release only on dev_close, just make > it simple. During configure_msix, it do use the real useful queue number > to set queue/vector mapping, refer xxx_configure_msix(). The problem is that if a customer has 16 NIC's with 32 MSI vectors per NIC, it maybe that the MSI table in south bridge gets full. That is why the ixgbe driver for Linux limits itself to num_online_cpu() + 1 MSI interrrupts.