Messages in this thread | | | Subject | Re: [GIT] Networking | From | Eric Dumazet <> | Date | Mon, 16 Aug 2010 12:42:41 +0200 |
| |
Le lundi 16 août 2010 à 09:53 +0000, Jarek Poplawski a écrit : > Eric Dumazet wrote: > > Le dimanche 15 aou^t 2010 a` 12:55 +0200, Eric Dumazet a écrit : > ... > > [PATCH] netfilter: {ip,ip6,arp}_tables: avoid lockdep false positive > > > > After commit 24b36f019 (netfilter: {ip,ip6,arp}_tables: dont block > > bottom half more than necessary), lockdep can raise a warning > > because we attempt to lock a spinlock with BH enabled, while > > the same lock is usually locked by another cpu in a softirq context. > > Btw, could you remind us how get_counters() are serialized (I guess > you can't have them on 2 cpus at the same time)? >
get_counters() is serialized by the xt_find_table_lock() done from get_entries(). This use a mutex to guard against changes.
You are right that if we ever allow two concurrent "iptables -nvL" operations in the future (using a read lock on a rwlock instead of a mutex), then we must disable BH even for summing data from the other cpus.
Thanks
-- 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/
| |