From: Badalian Vyacheslav <slavon@bigtelecom.ru>
To: Martin Devera <devik@cdi.cz>
Cc: netdev@vger.kernel.org, kaber@trash.net
Subject: Re: Not understand some in htb_do_events function
Date: Tue, 15 Jan 2008 16:51:00 +0300 [thread overview]
Message-ID: <478CBA44.1090909@bigtelecom.ru> (raw)
In-Reply-To: <478CA02A.1070308@cdi.cz>
Martin Devera пишет:
> Patrick McHardy wrote:
>> Badalian Vyacheslav wrote:
>>> Hello all.
>>> I have many messages like "htb: too many events !" in dmesg.
>>>
>>> Try to see code and find that function try do 500 events at call.
>>> Hm... may anyone ask why 500? Why its not dynamic value based on
>>> performance of PC?
>>
>>
>> Thats a good question, I wonder why it is limited at all.
>> Martin, any hints?
>>
>>
>
> Hi, I recently replied someone to the same question:
>
> > it is possible when during one jiffie (1 or 10ms) more than 500 classes
> > changed its state. It is meant to protect your system from livelock.
> > The constant should be set to something like
> > bogomips/bogocomplexity_of_state_change but it was not done.
>
> the solution I have in my mind is to change
> if (net_ratelimit())
> printk(KERN_WARNING "htb: too many events !\n");
> return HZ/10;
> to
> return 1;
>
> to drain extra events asap. It the time of writing I was not able to
> come with better solution and there were more bugs related to this
> part of code than now.
> We want way to smooth big burst of events over more dequeue invocations
> in order to not slow dequeue too much. Constant 500 is max. allowed
> "slowdown" of dequeue.
> Any bright idea how to do it more elegant, Patrick ?
>
> brgds, devik
Hmm.. i simple see that if i get messages like this in dmesg my PC limit
speed, but i have many free CPU and HTB classes have not full bandwidth
load....
If i delete half rules - i get bandwidth that i wont. I wrong understand
that if we have this limit (constant 500) my PC can't get full performance?
Look scheme (example in my memory... not real numbers... for idea only):
HTB (default 1)
- Class 1 (rate 250mbs cell 500 prio 1)
---- Here 8000 HTB rules (parent 1) (rate 1kbs, cell from 200kbs to 5mbs)
- Class 2 (rate 250mbs cell 500 prio 1)
I always go to 2.
try ttcp.
current rate in class 1 - above 150mbs
current rate in class 2 - above 200mbs
Load avg above 0.10 - 0.25
Idle - 80%
Try delete half rules
current rate in class 1 - above 100mbs
current rate in class 2 - above 400mbs
Load avg above 0.10 - 0.25
Idle - 80%
All traffic in class 2 do i witch ttcp! its not deleted clients from
class 1.
Any idea? Thanks.
next prev parent reply other threads:[~2008-01-15 13:51 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-15 10:11 Not understand some in htb_do_events function Badalian Vyacheslav
2008-01-15 10:15 ` Patrick McHardy
2008-01-15 11:59 ` Martin Devera
2008-01-15 13:51 ` Badalian Vyacheslav [this message]
2008-01-15 13:54 ` Martin Devera
2008-01-15 15:54 ` Patrick McHardy
2008-01-15 21:58 ` Martin Devera
2008-01-16 5:15 ` Patrick McHardy
2008-01-16 5:07 ` David Miller
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=478CBA44.1090909@bigtelecom.ru \
--to=slavon@bigtelecom.ru \
--cc=devik@cdi.cz \
--cc=kaber@trash.net \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).