All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shlomo Pongartz <shlomop@mellanox.com>
To: <netdev@vger.kernel.org>
Subject: ndo_get_stats and rtnl_netlink
Date: Sun, 9 Sep 2012 18:23:16 +0300	[thread overview]
Message-ID: <504CB464.6010207@mellanox.com> (raw)

Hi,

Just realized that dev_get_stats which calls into a netdevice 
ndo_get_stats64/ndo_get_stats can be
called with or without RTNL lock protection. If called from 
rtnl_fill_ifinfo e.g as of invocation of
"ip link show <interface>, there IS locking, however if called from 
dev_seq_printf_stats e.g as of
invocation of reading the /sys/class/net/<interface>/statistics/ 
entries, etc more cases -- no locking.

This turned to be problematic when implementing the ethtool 
"set_channels" directive which
changes the number of **rings**, since we stepped on a bug where the 
rings data structure was
changed by the ethtool flow in the same time a statistics call was done 
into the driver, etc.

What would be the way to continue here, per driver lock sounds non 
generic...

Regards
Shlomo Pongratz

             reply	other threads:[~2012-09-09 15:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-09 15:23 Shlomo Pongartz [this message]
2012-09-10  9:09 ` ndo_get_stats and rtnl_netlink Eric Dumazet
2012-09-10 19:10   ` Or Gerlitz
2012-09-10 19:15     ` Eric Dumazet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=504CB464.6010207@mellanox.com \
    --to=shlomop@mellanox.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.