On 5/11/2015 11:00 PM, Stephen Hemminger wrote: > On Mon, 11 May 2015 13:31:04 +0800 > "Liang, Cunming" <cunming.liang at intel.com> 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. > [LCM] So your concern actual is not about when to allocate the queue/vec mapping table, but the number of vectors enabled per NIC. But even using num_online_cpu()+1, the number of online cpu on a 2U system is easy to exceed 32. So probably using a MSI_VECTOR_NB_MAX to define it in config.
- [dpdk-dev] [PATCH v7 04/10] eal/bsd: dummy for new intr ... Cunming Liang
- [dpdk-dev] [PATCH v7 05/10] eal/linux: fix comments typo... Cunming Liang
- [dpdk-dev] [PATCH v7 06/10] eal/linux: add interrupt vec... Cunming Liang
- [dpdk-dev] [PATCH v7 06/10] eal/linux: add interrup... Stephen Hemminger
- [dpdk-dev] [PATCH v7 06/10] eal/linux: add inte... Liang, Cunming
- [dpdk-dev] [PATCH v7 07/10] ethdev: add rx intr enable, ... Cunming Liang
- [dpdk-dev] [PATCH v7 08/10] ixgbe: enable rx queue inter... Cunming Liang
- [dpdk-dev] [PATCH v7 08/10] ixgbe: enable rx queue ... Stephen Hemminger
- [dpdk-dev] [PATCH v7 08/10] ixgbe: enable rx qu... Liang, Cunming
- [dpdk-dev] [PATCH v7 08/10] ixgbe: enable r... Stephen Hemminger
- [dpdk-dev] [PATCH v7 08/10] ixgbe: enab... Liang, Cunming
- [dpdk-dev] [PATCH v7 09/10] igb: enable rx queue interru... Cunming Liang
- [dpdk-dev] [PATCH v7 09/10] igb: enable rx queue in... Stephen Hemminger
- [dpdk-dev] [PATCH v7 09/10] igb: enable rx queu... Liang, Cunming
- [dpdk-dev] [PATCH v7 09/10] igb: enable rx queue in... Stephen Hemminger
- [dpdk-dev] [PATCH v7 10/10] l3fwd-power: enable one-shot... Cunming Liang
- [dpdk-dev] [PATCH v8 00/11] Interrupt mode PMD Cunming Liang
- [dpdk-dev] [PATCH v8 01/11] eal/linux: add interrup... Cunming Liang
- [dpdk-dev] [PATCH v8 01/11] eal/linux: add inte... Neil Horman
- [dpdk-dev] [PATCH v8 01/11] eal/linux: add ... Neil Horman
- [dpdk-dev] [PATCH v8 01/11] eal/linux: ... Stephen Hemminger