Messages in this thread | | | From | David Decotigny <> | Date | Wed, 16 Nov 2011 12:46:13 -0800 | Subject | Re: [PATCH net-next v5 07/10] forcedeth: implement ndo_get_stats64() API |
| |
Thanks to you all!
I have an implementation that's similar to sky2's. I will run the usual set of tests and send the updated patch series here.
Regards,
-- David Decotigny
On Wed, Nov 16, 2011 at 12:32 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > Le mercredi 16 novembre 2011 à 19:32 +0000, Ben Hutchings a écrit : >> On Wed, 2011-11-16 at 11:25 -0800, David Decotigny wrote: >> > Thanks for your feedback on these concerns. >> > >> > On Wed, Nov 16, 2011 at 9:14 AM, Ben Hutchings >> > <bhutchings@solarflare.com> wrote: >> > > On Wed, 2011-11-16 at 08:55 -0800, Stephen Hemminger wrote: >> > >> Or realize that the Tx side is single threaded by dev->xmit_lock already >> > >> and the Rx side is single threaded by NAPI. >> > > >> > > Right. >> > >> > Yes, that's what I meant by "Each software stat field is updated by >> > one single writer." in a previous email. However, I think that TX and >> > RX paths are not always synchronized. So I'm afraid that if I'm using >> > a single seqcount, I might run into trouble in the absence of a lock >> > around each update.... and I'd really prefer to avoid such a lock. Are >> > you suggesting I should use 2 independent seqcounts? One for RX path, >> > the other for TX path, all this without a lock around writers? >> >> Yes, there should be 1 for each path. > > David, drivers/net/ethernet/marvell/sky2.c contains code like that > (different syncpfor rx/tx) > > TX path: > u64_stats_update_begin(&sky2->tx_stats.syncp); > ++sky2->tx_stats.packets; > sky2->tx_stats.bytes += skb->len; > u64_stats_update_end(&sky2->tx_stats.syncp); > > > RX path: > > u64_stats_update_begin(&sky2->rx_stats.syncp); > sky2->rx_stats.packets += packets; > sky2->rx_stats.bytes += bytes; > u64_stats_update_end(&sky2->rx_stats.syncp); > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |