Sanket Shah wrote:Regarding this scenario, I have 4 stages (all expected, afaics): 1) 10 : 30 (beginning) 2) 70 : 30 (right after changing 1:1, beacuse of: vt far apart between 1:2 and 1:3 ft artificially limited) 3) 20 : 80 (once 1:2's ft catches up) 4) 20 : 40 (once both ft "stabilize") This is the effect of two things: 1) LS curve is in 1 to 1 ratio ; looking at initial bandwidth assignment 20 : 20 - but 40 is all what both children can get from LS (due to UL). Actually they will get nothing, as RT curve already covers that in 10:30 ratio. Furthermore virtual time calculated from LS of both child classes will drift apart (more and more with passing time), which is precise thing HFSC is trying to avoid 2) UL curve is artificially limited - in this particular case in initial period - only realtime criterion is updating virtual time, and RT curve is half of UL one - thus ft calculated from received service using UL will drift away from current time (again - more and more with passing time). ITOW the class will become greedy :) Actually there is a code fragment commented out that is probably meant to prevent that. The effect is, that imemdiately after bumping up UL to 100 at 1:1, LS criterion will be only considering class 1:2 as long as virtual time has long way to catch with 1:3 (due to 1). At the same time 1:2's fittime is lower than it should be (due to 2), so the class will not be upper limited for some time period. RT of 1:3 will serve it 30, all available LS will go to 1:2. After fittime catches up, 1:2 will get cut down by its UL again, while 1:3 will not be limited by it for some time. Thus - 20:80. vt won't really matter at this time, as the arbitration is "choose class with lowest vt, while ft fits". vt will start drifting apart again. Finally, once ft of both classes catch up, the final effect will be 20:40. (I'll have to doublecheck it later, and look at the 2nd question) -- 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
| Linus Torvalds | Linux 2.6.27-rc5 |
| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Trent Piepho | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code |
git: | |
| Christoph Hellwig | Re: [PATCH 06/32] IGET: Mark iget() and read_inode() as being obsolete [try #2] |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
