Subject: Re: [PATCH v4] net: Introduce realloc_netdev_mq()

From: Eric Dumazet <[email-masked]>
Date: Fri, 04 Dec 2009 00:04:42 +0100

Jarek Poplawski a écrit :
> On Thu, Dec 03, 2009 at 10:51:25PM +0100, Eric Dumazet wrote:
>> David Miller a écrit :
>>> From: Eric Dumazet <[email-masked]>
>>> Date: Thu, 03 Dec 2009 22:29:42 +0100
>>>
>>>> Nice patch, thanks :)
>>>>
>>>> Acked-by: Eric Dumazet <[email-masked]>
>>> I like it too, but please resubmit once we have at least
>>> one example user submitted.
>>>
>> I successfully tested following patch.
> 
> Great! But, I see, checking if realloc_netdev_mq() use is always legal
> (before register_netdev()) is not trivial in this driver. (I have some
> suspicions around ixgbe_resume().) I wonder, if there should be added
> some debugging for this.

Yes, probably

Or even better, allowing realloc_netdev_mq() to be called even after
register_netdev() :)

bnx2 for example could not be patched easily, following patch doesnt work.

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 4cae2a8..8bd5d0d 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -6177,6 +6177,7 @@ bnx2_setup_int_mode(struct bnx2 *bp, int dis_msi)
 
 	bp->num_tx_rings = rounddown_pow_of_two(bp->irq_nvecs);
-	bp->dev->real_num_tx_queues = bp->num_tx_rings;
+	realloc_netdev_mq(bp->dev, bp->num_tx_rings);
 
 	bp->num_rx_rings = bp->irq_nvecs;
 }