All of lore.kernel.org
 help / color / mirror / Atom feed
* blkio weights not honoured with lvm setup and on amazon ebs
@ 2016-04-25 17:53 Himadri Sarkar
       [not found] ` <CAGC20LorhnUfchmB7OBNAHn+xMRRvwNRs_Dn0+P2eaga2Ds8ig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Himadri Sarkar @ 2016-04-25 17:53 UTC (permalink / raw)
  To: cgroups-u79uwXL29TY76Z2rM5mHXA

Hi,

I was doing some experiments to test out blkio with the following
setups and was unable to get the expected behavior. It will be great
if someone can help me understand what might have gone wrong with my
setup.

Setup 1
hardware: d2.xlarge machine on aws (It has 3 * 2 TB hdd)
logical volume: setup an lvm to use 2 disks out of 3
file system: xfs
IO Scheduler: cfq
blkio weights: test1 has weight 1000, test2 has weight 500

Now when I run the tests as given in
https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt
using dd (I only executed read tests on already written files)
I found that both the processes were getting equal time share
(blkio.time) and serviced bytes (blkio.io_service_bytes) irrespective
of differential weights.

Now when I modified the setup by not having lvm setup and just
creating a 2TB file system out of a single hdd it worked i.e. serviced
bytes were in the ratio 2 : 1

On the other hand when I tested read with fio

specifically

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1
--name=test2 --filename=file2 --bs=4k --iodepth=64 --size=4G
--readwrite=randrw --rwmixread=100

Then also it worked even with the lvm setup. Which makes be believe
that with Setup 1 it is not working due to buffered reads. (But then
the same thing also worked without lvm)

Setup 2
hardware: c3.xlarge machine on aws with 300GB EBS (which I believe are
like SAN storage)
logical volume: setup an lvm
file system: xfs
IO Scheduler: cfq
blkio weights: test1 has weight 1000, test 2 has weight 500

Now with this setup I was not able to get it working in any of the
cases i.e. with lvm, without lvm, with fio sync reads.
Is it the problem with using EBS volumes? Is there way in which I can
get blkio to work with Setup 1 and Setup 2? Please let me know if
providing more data points might help.


Regards
- Himadri

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: blkio weights not honoured with lvm setup and on amazon ebs
       [not found] ` <CAGC20LorhnUfchmB7OBNAHn+xMRRvwNRs_Dn0+P2eaga2Ds8ig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2016-04-25 18:31   ` nborisov
       [not found]     ` <571E627B.40300-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: nborisov @ 2016-04-25 18:31 UTC (permalink / raw)
  To: Himadri Sarkar, cgroups-u79uwXL29TY76Z2rM5mHXA



On 25.04.2016 20:53, Himadri Sarkar wrote:
> Hi,
> 
> I was doing some experiments to test out blkio with the following
> setups and was unable to get the expected behavior. It will be great
> if someone can help me understand what might have gone wrong with my
> setup.
> 
> Setup 1
> hardware: d2.xlarge machine on aws (It has 3 * 2 TB hdd)
> logical volume: setup an lvm to use 2 disks out of 3
> file system: xfs
> IO Scheduler: cfq
> blkio weights: test1 has weight 1000, test2 has weight 500
> 
> Now when I run the tests as given in
> https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt
> using dd (I only executed read tests on already written files)
> I found that both the processes were getting equal time share
> (blkio.time) and serviced bytes (blkio.io_service_bytes) irrespective
> of differential weights.
> 
> Now when I modified the setup by not having lvm setup and just
> creating a 2TB file system out of a single hdd it worked i.e. serviced
> bytes were in the ratio 2 : 1
> 
> On the other hand when I tested read with fio
> 
> specifically
> 
> fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1
> --name=test2 --filename=file2 --bs=4k --iodepth=64 --size=4G
> --readwrite=randrw --rwmixread=100
> 
> Then also it worked even with the lvm setup. Which makes be believe
> that with Setup 1 it is not working due to buffered reads. (But then
> the same thing also worked without lvm)

This is a well-known limitation to LVM, which supposedly was fixed in a
recent kernel. For more information check this email thread:
https://www.redhat.com/archives/dm-devel/2016-February/msg00183.html

Then a patch was proposed in the following thread:
https://www.redhat.com/archives/dm-devel/2016-March/msg00006.html

This was tested by me and the proportional-based limits were working,
provided that the devices hosting the LVM VG were using CFQ as their io
scheduler.

Regards,
Nikolay

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: blkio weights not honoured with lvm setup and on amazon ebs
       [not found]     ` <571E627B.40300-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2016-04-26 17:32       ` Himadri Sarkar
  0 siblings, 0 replies; 3+ messages in thread
From: Himadri Sarkar @ 2016-04-26 17:32 UTC (permalink / raw)
  To: nborisov; +Cc: cgroups-u79uwXL29TY76Z2rM5mHXA

Thanks for your reply.
Does it also not work with Amazon EBS and SAN based storage?
Regards
- Himadri


On Tue, Apr 26, 2016 at 12:01 AM, nborisov <n.borisov.lkml-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
>
> On 25.04.2016 20:53, Himadri Sarkar wrote:
>> Hi,
>>
>> I was doing some experiments to test out blkio with the following
>> setups and was unable to get the expected behavior. It will be great
>> if someone can help me understand what might have gone wrong with my
>> setup.
>>
>> Setup 1
>> hardware: d2.xlarge machine on aws (It has 3 * 2 TB hdd)
>> logical volume: setup an lvm to use 2 disks out of 3
>> file system: xfs
>> IO Scheduler: cfq
>> blkio weights: test1 has weight 1000, test2 has weight 500
>>
>> Now when I run the tests as given in
>> https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt
>> using dd (I only executed read tests on already written files)
>> I found that both the processes were getting equal time share
>> (blkio.time) and serviced bytes (blkio.io_service_bytes) irrespective
>> of differential weights.
>>
>> Now when I modified the setup by not having lvm setup and just
>> creating a 2TB file system out of a single hdd it worked i.e. serviced
>> bytes were in the ratio 2 : 1
>>
>> On the other hand when I tested read with fio
>>
>> specifically
>>
>> fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1
>> --name=test2 --filename=file2 --bs=4k --iodepth=64 --size=4G
>> --readwrite=randrw --rwmixread=100
>>
>> Then also it worked even with the lvm setup. Which makes be believe
>> that with Setup 1 it is not working due to buffered reads. (But then
>> the same thing also worked without lvm)
>
> This is a well-known limitation to LVM, which supposedly was fixed in a
> recent kernel. For more information check this email thread:
> https://www.redhat.com/archives/dm-devel/2016-February/msg00183.html
>
> Then a patch was proposed in the following thread:
> https://www.redhat.com/archives/dm-devel/2016-March/msg00006.html
>
> This was tested by me and the proportional-based limits were working,
> provided that the devices hosting the LVM VG were using CFQ as their io
> scheduler.
>
> Regards,
> Nikolay

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-04-26 17:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-25 17:53 blkio weights not honoured with lvm setup and on amazon ebs Himadri Sarkar
     [not found] ` <CAGC20LorhnUfchmB7OBNAHn+xMRRvwNRs_Dn0+P2eaga2Ds8ig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-25 18:31   ` nborisov
     [not found]     ` <571E627B.40300-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-04-26 17:32       ` Himadri Sarkar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.