Messages in this thread | | | Date | Tue, 15 Oct 2013 09:03:46 -0400 | From | Vivek Goyal <> | Subject | Re: [PATCH v2] blk-throttle: simplify logic by token bucket algorithm |
| |
On Mon, Oct 14, 2013 at 09:36:20AM -0400, Tejun Heo wrote: > Hello, > > On Mon, Oct 14, 2013 at 05:09:17PM +0800, Hong Zhiguo wrote: > > From: Hong Zhiguo <zhiguohong@tencent.com> > > > > Token bucket algorithm(http://en.wikipedia.org/wiki/Token_bucket) > > is very simple and widely used for rate limiting and shaping. > > It's well suitable for blk-throttle. And it natually works for > > hierarchical cgroups. So I took it to replace the original time > > _slicing_|_trimming_|_extending_ logic. > > > > The advantage is simplicity, reliability and less fluctuation. > > > > About 300 lines of code for time-slicing is replaced with 60 lines of > > code for token bucket in blk-throttle.c. > > > > I've tested this patch by fio with rw=randread, rw=randrw. It > > behaves almost the same with original time-slicing implementation, > > and with more accuracy. > > Yes, this definitely is the direction we wanna take it. I'll wait for > Vivek to chime in but have you also tested hierarchical setup?
Hi Tejun,
I will have a look at it either today or tomorrow.
Thanks Vivek
| |