On Tue, Aug 12, 2008 at 11:16:33PM -0700, David Miller wrote:Thats why I still think a "common" RCU with rcu_dereference() (from dev_queue pointer) in net_tx_action() should be enough: after synchronize_rcu() in dev_deactivate() we are sure any qdisc_run(), from dev_queue_xmit() or net_tx_action() can only see and lock noop_qdisc. Any activities on qdisc_sleeping can't happen so no need to wait for this. There could be some skbs enqueued just before synchronize, and they could be ->reset() and ->destroy() just after, even without rcu_call(). Otherwise, I think you would better send some code example with these flags, so we could be sure there is no misunderstanding around this. Jarek P. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Mark Lord | PCIe Hotplug: NFG unless I boot with card already inserted. |
| Davide Libenzi | [patch 7/8] fdmap v2 - implement sys_socket2 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Henri Hennebert | Re: When will ZFS become stable? |
| Kris Kennaway | Re: loader breaks with -O2 optimizations |
| Petr Holub | RE: panic on boot |
| Ken Smith | HEADS-UP: ULE scheduler coming to 8.0-CURRENT soon... |
