Russell Stuart
2006-Jun-15 09:00 UTC
[PATCH 0/2] Runtime configuration of HTB''s HYSTERESIS option
The HTB qdisc has a compile time option, HTB_HYSTERESIS, that trades accuracy of traffic classification for CPU time. These patches change hysteresis to be a runtime option under the control of "tc". The effects of HYSTERESIS on HTB''s accuracy are significant (see chapter 7, section 7.3.1, pp 69-70 in Jesper Brouer''s thesis: http://www.adsl-optimizer.dk/thesis/ ), whereas HTB''s CPU usage on modern machines using broadband links is minimal. Currently HYSTERESIS is on by default, and requires a kernel re-compile to change. Altering it to be a runtime option will make life easier for the bulk of its users. Further documentation on the patch and its usage can be found here: http://www.stuart.id.au/russell/files/tc/tc-atm This is a combined effort of Jesper Brouer and Russell Stuart, to get these patches into the upstream kernel. Let the discussion start about what we need to change to get this upstream? We see this as a feature enhancement, as such hope that it can be queued in davem''s net-2.6.18.git tree. -- Regards Russell Stuart and Jesper Brouer - 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
Martin Devera
2006-Jun-15 09:49 UTC
Re: [PATCH 0/2] Runtime configuration of HTB''s HYSTERESIS option
Russell Stuart wrote:> The HTB qdisc has a compile time option, HTB_HYSTERESIS, > that trades accuracy of traffic classification for CPU > time. These patches change hysteresis to be a runtime > option under the control of "tc". > > The effects of HYSTERESIS on HTB''s accuracy are significant > (see chapter 7, section 7.3.1, pp 69-70 in Jesper Brouer''s > thesis: http://www.adsl-optimizer.dk/thesis/ ), whereas > HTB''s CPU usage on modern machines using broadband links > is minimal. Currently HYSTERESIS is on by default, and > requires a kernel re-compile to change. Altering it to > be a runtime option will make life easier for the bulk of > its users.At time of HTB implementation I needed to reach 100MBit speed on relatively slow box. The hysteresis was a way. On other side I used hand-made TSC based measure tool to compute exact (15%) performance gain. Today I''d measure it using oprofile. When rethinking it again I''d suggest to re-measure real performance impact for both flat and deep class hierarchy and consider switching the hysteresis off by default (or even to remove the code if the gain is negligible). If it is the case then it is the cleanest solution IMHO. On other side I see no problem with attached patches. Have you tested patched kernel with old "tc" tool ? thanks for your effort, Martin - 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
Russell Stuart
2006-Jun-20 23:13 UTC
Re: [LARTC] Re: [PATCH 0/2] Runtime configuration of HTB''s HYSTERESIS option
On Thu, 2006-06-15 at 11:49 +0200, Martin Devera wrote:> At time of HTB implementation I needed to reach 100MBit speed on > relatively slow box. The hysteresis was a way. On other side I used > hand-made TSC based measure tool to compute exact (15%) performance > gain. Today I''d measure it using oprofile. > > When rethinking it again I''d suggest to re-measure real performance > impact for both flat and deep class hierarchy and consider switching the > hysteresis off by default (or even to remove the code if the gain is > negligible). If it is the case then it is the cleanest solution IMHO.I attended LCA 2006 this year. There was a presentation by a group in New Zealand using Debian running on a embedded box to bring the Internet to rural communities. Some of these communities didn''t have power or telephone, so the setup ran over 802.11 over distances of up to 23Km using solar cells for power. I don''t recall exactly, but I think the embedded box was using a 486 equivalent. I think they had around 40 of these things up and going. The point of the story is there are people out there who use Linux on small processors, and often do imaginative things with them. We would be doing them a disservice by ripping out the code.> On other side I see no problem with attached patches. Have you tested > patched kernel with old "tc" tool ?Yes. - 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
Apparently Analagous Threads
- [PATCH 1/2] Runtime configuration of HTB''s HYSTERESIS option (kernel)
- [PATCH 2/2] Runtime configuration of HTB''s HYSTERESIS option (userspace)
- HTB dequeueing in pairs fixed
- Hysteresis modeling and simulation
- [PATCH net 1/2] virtio-net: disable guest csum during XDP set