cgroup: Fix split bio been throttled more than once

2016-07-04 Thread Jiale Li
splited bio bypass the blk_queue_split(). Below is the patch we used to fix this problem. Thanks From b5ea98c9fc5612f9390b65bd9cf4ff344b6cfe92 Mon Sep 17 00:00:00 2001 From: Jiale Li Date: Mon, 4 Jul 2016 09:23:32 -0400 Subject: [PATCH] cgroup: Fix split bio been throttled more than once From kernel

Re: cgroup: Fix split bio been throttled more than once

2016-07-05 Thread Tejun Heo
Hello, On Mon, Jul 04, 2016 at 10:46:54PM +0800, Jiale Li wrote: > These days, we have tested the cgroup blkio throttle function use fio, > and we found a problem that when we use buffered IO or set the big block > size like 1M, then the IO performance cannot reach the value we set. > For example

Re: cgroup: Fix split bio been throttled more than once

2016-07-05 Thread Ming Lei
pose since all fast-cloned bio shares the same bvec table of the source bio. Thanks, Ming > > Thanks > > From b5ea98c9fc5612f9390b65bd9cf4ff344b6cfe92 Mon Sep 17 00:00:00 2001 > From: Jiale Li > Date: Mon, 4 Jul 2016 09:23:32 -0400 > Subject: [PATCH] cgroup: Fix split bio

Re: cgroup: Fix split bio been throttled more than once

2016-07-05 Thread Ming Lei
On Wed, Jul 6, 2016 at 6:26 AM, Tejun Heo wrote: > Hello, > > On Mon, Jul 04, 2016 at 10:46:54PM +0800, Jiale Li wrote: >> These days, we have tested the cgroup blkio throttle function use fio, >> and we found a problem that when we use buffered IO or set the big block >> size like 1M, then the IO

Re: cgroup: Fix split bio been throttled more than once

2016-07-06 Thread Tejun Heo
Hello, Ming. On Wed, Jul 06, 2016 at 09:10:00AM +0800, Ming Lei wrote: > > Then we did some research and find that in kernel version 4.3 brought in > > blk_queue_split() function to split the big size bio into several parts, > > and some of them are calling the generic_make_request() again, this r

Re: cgroup: Fix split bio been throttled more than once

2016-07-06 Thread Ming Lei
On Wed, Jul 6, 2016 at 10:09 PM, Tejun Heo wrote: > Hello, Ming. > > On Wed, Jul 06, 2016 at 09:10:00AM +0800, Ming Lei wrote: >> > Then we did some research and find that in kernel version 4.3 brought in >> > blk_queue_split() function to split the big size bio into several parts, >> > and some o

Re: Re: cgroup: Fix split bio been throttled more than once

2016-07-08 Thread Ming Lei
On Thu, Jul 7, 2016 at 9:48 PM, aaronlee0817 wrote: >>At 2016-07-06 22:09:19, "Tejun Heo" wrote: >>Hello, Ming. >> >>On Wed, Jul 06, 2016 at 09:10:00AM +0800, Ming Lei wrote: >>> > Then we did some research and find that in kernel version 4.3 brought >>> > in >>> > blk_queue_split() function to s

Re: Re: cgroup: Fix split bio been throttled more than once

2016-07-09 Thread Tejun Heo
Hello, Ming. On Fri, Jul 08, 2016 at 06:35:06PM +0800, Ming Lei wrote: > I am wondering why REQ_THROTTLED is cleared for the original bio > even it has been charged and will be issued to driver, and is it allowed > to throttle and charge the same bio for many times? So, IIUC, the flag is just to

Re: Re: cgroup: Fix split bio been throttled more than once

2016-07-10 Thread Ming Lei
On Sat, Jul 9, 2016 at 10:53 PM, Tejun Heo wrote: > Hello, Ming. > > On Fri, Jul 08, 2016 at 06:35:06PM +0800, Ming Lei wrote: >> I am wondering why REQ_THROTTLED is cleared for the original bio >> even it has been charged and will be issued to driver, and is it allowed >> to throttle and charge t

Re: Re: cgroup: Fix split bio been throttled more than once

2016-07-06 Thread Tejun Heo
Hello, On Wed, Jul 06, 2016 at 10:58:55PM +0800, aaronlee0817 wrote: > >But that said, can't we just copy BIO_THROTLED while splitting? > > In my opinion, copying BIO_THROTLED while splitting doesn't work > with this, because, the bio within the limit will not set BIO_THROTLED > but will be split

Re: Re: cgroup: Fix split bio been throttled more than once

2016-07-06 Thread Ming Lei
On Wed, Jul 6, 2016 at 11:06 PM, Tejun Heo wrote: > Hello, > > On Wed, Jul 06, 2016 at 10:58:55PM +0800, aaronlee0817 wrote: >> >But that said, can't we just copy BIO_THROTLED while splitting? >> >> In my opinion, copying BIO_THROTLED while splitting doesn't work >> with this, because, the bio wit