From: Jarek Poplawski <jarkao2@gmail.com> Date: Tue, 12 Aug 2008 07:00:05 +0000The qdisc pointer traverses to the softirq handler, which can be run in a process context (via ksoftirqd), and this pointer gets there via the per-cpu ->output_queue. I didn't see it possible to keep scheduling the netdev_queues, as the qdiscs can be shared with multiple queues. Qdisc "are we running?" and other state pieces are now inside of the Qdisc itself. And all of the qdisc_run() and netif_schedule logic is, as a result, Qdisc centric. The synchronization object is the qdisc. So we can't resample the qdisc after scheduling it, because then the qdisc attached to the netdev_queue can change and we'd be holding the root lock for the wrong qdisc object. -- 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
| David Miller | Re: [patch 7/8] fdmap v2 - implement sys_socket2 |
| Kamalesh Babulal | Re: 2.6.24-rc8-mm1 kernel panic while bootup |
| monstr | [PATCH 19/60] microblaze_v4: checksum support |
| Andrew Morton | -mm merge plans for 2.6.23 |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Arjan van de Ven | Re: [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Natalie Protasevich | [BUG] New Kernel Bugs |
