[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120622.172353.1092394608024377078.davem@davemloft.net>
Date: Fri, 22 Jun 2012 17:23:53 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: yevgenyp@...lanox.co.il
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH 4/4] net/mlx4_en: Use atomic counter to decide when
queue is full
From: Yevgeny Petrilin <yevgenyp@...lanox.co.il>
Date: Thu, 21 Jun 2012 12:19:17 +0300
> The Transmit and transmit completion flows execute from different contexts,
> which are not synchronized. Hence naive reading the of consumer index might
> give wrong value by the time it is being used, That could lead to a state of transmit timeout.
> Fix that by using atomic variable to maintain that index.
>
> Signed-off-by: Yevgeny Petrilin <yevgenyp@...lanox.co.il>
I'm not convinced. There is only one place that actually changes
the counter.
So it seems more like you have a missing memory barrier somewhere.
Other drivers do not need to use something as expansive as an atomic
variable for this and neither should you.
I'm not applying this patch series, you'll need to resubmit it in
it's entirety once you fix this patch.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists